¿Cómo puedo hacer para que la consulta que coge datos del formulario pueda meterla en la variable?

Tengo una parte de código que me da un error en la consulta y esto se debe por que utiliza unos parámetros de access que Visual Basic no reconoce.
Dim MiRecordset As Recordset
Dim SQL As String
Dim direcc
SQL = "SELECT [PLANES DE PROMOCION].[E-Mail]
FROM [PLANES DE PROMOCION]
WHERE ((([PLANES DE PROMOCION].Año) Like [FORMS]![CORREO]![AÑO] & "*") AND (([PLANES DE PROMOCION].Sector) Like [FORMS]![CORREO]![SECTOR] & "*"))"
Set MiRecordset = CurrentDb.OpenRecordset(SQL)
Do While Not MiRecordset.EOF
direcc = direcc & "; " & MiRecordset.Fields(0)
MiRecordset.MoveNext
Loop
¿Cómo puedo hacer para que esa consulta que coge datos del formulario pueda meterla en la variable?

1 respuesta

Respuesta
1
Si que es validopero ha de interpretarse como cadena de texto es decir el resultado tiene que ser por Ej "200*" es por eso que debe ir entre comillas o entre paréntesis.
Ahora bien esto no es válido si tienes la base de datos preparada para la sintaxis de SQL en Opciones Tablas/consultas
abajo en Sintaxis compatible con SQL debe estar desmarcada.
Hola y gracias por la contestación, mi pregunta realmente es si la expresión
[FORMS]![CORREO]![AÑO] & '*'
De una consulta echa en el editor de VB de access, es interpretada como buena. O quizás este comando no es válido en VB.
Espero haberme explicado bien. Gracias y un saludo
Bueno creo que el fallo está en que te falta un paréntesis en principio de
([FORMS]![CORREO]![AÑO] & "*")), ya que si no no lo interpreta correctamente
No es fácil corregir el código sin poder probarlo pero creo que así te funcionará:
SQL = "SELECT [PLANES DE PROMOCION].[E-Mail]
FROM [PLANES DE PROMOCION]
WHERE ((([PLANES DE PROMOCION].Año) Like ([FORMS]![CORREO]![AÑO] & "*")) AND (([PLANES DE PROMOCION].Sector) Like ([FORMS]![CORREO]![SECTOR] & "*")))"
Bueno es difícil corregir el código sin poder probarlo pero creo que te funcionará, ya me lo dirás...
Solo me basto con sustituir la expresión
([PLANES DE PROMOCION].Año) Like ([FORMS]![CORREO]![AÑO] & '*')
por la de
([PLANES DE PROMOCION].[AÑO]='" & txtaño & "' )
Gracias de nuevo y una gran saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas