Duda con clausula where

Estoy haciendo un procedimiento en access cuando un objeto pierde el enfoque. Necesito que me busque un valor en una tabla y hasta ahora tengo esto:
Dim strSQL As String
strSQL = ""
strSQL = strSQL & "SELECT MAX([Consecutivo]) AS nro "
strSQL = strSQL & "FROM [Estaciones] "
strSQL = strSQL & "WHERE [Ano] = '" & Ano & "' "

Hasta ahí todo bien, ¿pero mi duda es cómo hago cuando en el where necesito dos variables?

2 Respuestas

Respuesta
1

La solución sería la siguiente:

Dim strSQL As String
strSQL = ""
strSQL = strSQL & "SELECT MAX([Consecutivo]) AS nro "
strSQL = strSQL & "FROM [Estaciones] "
strSQL = strSQL & "WHERE [Ano] = '" & Ano & "' "

strSQL = strSQL & " AND [Ano] = '" & Ano & "' "

Te faltaría la última línea con el AND para ir añadiendo varias condiciones. Puedes añadir tantos AND como condiciones quieras que se cumplan.

Quedando a la espera de recibir noticias suyas.

Respuesta
1

Puedes usa OR si debe cumplirse al menos una condición, AND si deben cumplirse ambas. En este caso el código sería algo como:

strSQL = ""

strSQL = strSQL & "SELECT MAX([Consecutivo]) AS nro "

strSQL = strSQL & "FROM [Estaciones] "

strSQL = strSQL & "WHERE [Ano] = '" & Ano & " OR [variable]=" & algo

Gracias por la respuesta.

Lo probé con AND, pero al llegar a la siguiente línea

Set rsDatos = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)

Me da un error que dice: Se ha producido el error 3061 en tiempo de ejecución:

Pocos parámetros. Se esperaba 1.

No tengo idea de que podría ser.

Porque estás haciendo referencia en la cláusula Where a un campo que no existe.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas