Código Sql en Access

Sofocles
¿Cómo andas? ¿Todo bien?
Mira, tengo este problema
strsql= "SELECT * FROM Elementos WHERE (Elementos.serie = Forms!Movimientos![combo2]) And (Elementos.parte = Forms!Movimientos![combo1]); "
En SQL no me funciona se que es algo de como Access toma el SQL .

1 Respuesta

Respuesta
1
Efectivamente tienes un problema en la forma en que hay que montar la consulta:
Separa los diferentes valores para que en el futuro puedas analizar eficazmente la consulta, y para que te sea más sencillo montarla.
strsql = "SELECT * FROM [Elementos]"
strsql = strsql & " WHERE [Elementos].serie = Forms!Movimientos![combo2]"
strsql = strsql & " And (Elementos.parte = Forms!Movimientos![combo1]; "
Los criterios de selección deben ir en el formato que les corresponda de Access. Me explico, si Forms![Movimientos]![Combo2] Es un campo numérico, debes plantear la consulta como campo numérico de la siguiente forma:
strsql = strsql & " WHERE [Elementos].serie = " & Forms!Movimientos![combo2]
Como puedes observar se efectúa un corte en la consulta al nivel del igual, para indicar el valor de Access (Forms! Movimientos![combo2]) Que no es más que un número que va a la consulta.
Si por el contrario fuera un valor alfanumérico, deberías en cambio entrecomillar el valor del form:
strsql = strsql & " WHERE [Elementos].serie = ' " & Forms!Movimientos![combo2] & " ' "
Como puedes observar se corta la consulta de SQL en el igual (=) y se añade el valor alfanumérico de Access entre comillas sencillas.
Para el segundo criterio se emplea el mismo método.
Supongo que ya habrás comprendido el montaje del string de la consulta. Es un poco lioso, pero cuando coges este método, ya no hay barreras para ti en el uso de sql.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas