Combo y subformulario

En mi formulario tengo un combo, un subformulario
Tengo una tabla en mi subformulario que se llama tabla1(con un campo que se llama fechat que tiene varias fechas (ej 23/12/2006), tengo a mi combo asignado una tabla de números que significan los meses(1,2,3... 12) y necesito que cuando seleccione por ejemplo 1 en mi combo, mi subformulario busque y filtre las fechas que tienen el mes de enero en el campo fechat de mi suformulario.
Lo hice en sql en access en una consulta quedando así
SELECT DatePart("m",fechat) AS Mes, fechat, nombre FROM tabla1
WHERE (((DatePart("m",[fechat]))=12));
Y si funciona bien si por ejemplo le asigne 12
Pero ahora cuando lo quise pasar a mi formulario lo adapte de la siguiente manera para que cuando elija en el combo me aparezca en el subformulario
SQL="SELECT DatePart("m",fechat) AS Mes FROM tabla1 WHERE (((DatePart("m",[fechat]))='" & Combo1.SelText & "'));
Subform.Form.RecordSource = SQL
Subform.Requery
¿Cuándo elijo un numero en el combo me manda error de sintaxis, me gustaría saber por que?
Le agradeceré mucho su atención, gracias

1 respuesta

Respuesta
1
Si claro esl error de sintaxis es el siguiente, lo estas donde va las comilllas dobles de datepart debes colocar comillas sencillas, porque estas indicando que debe romperse las cadesa sql, acuérdate que empieza con comillas dobles, y debe hacerse en ambos casos:
DatePart('m', fechat)
Asi debe quedas...
Ahora como este dato es numérico acuérdate que la sintaxis debe ser así:
" & Combo1.SelText & "
SIN LAS COMILLAS SENCILAS, porque estas comillas sencillas se colocan si el campo es tipo TEXTO...
Ahora puedes cambiar DatePart("m", fechat) por Month(fechat) y la condicion quedaria:
...where Month(fechat) = " & Combo1.SelText & " ....
Que es más sencillo.
Att:telemaco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas