Error de Sintaxsis falta operador

Tengo un problema con mi base de datos, he creado una tabla llamada pass y un formulario llamado inicio tengo creado este evento en el momento de dar click:
Private Sub Comando4_Click()
Dim Base As Database
Dim Pass As Recordset
Set Base = CurrentDb
Set Pass = Base.OpenRecordset("select *from pass where= usuario '" & Usuario & "' and password = '" & Contraseña & "'")
If Pass.RecordCount = 0 Then
respuesta = MsgBox("Contraseña Incorrecta")
Exit Sub
End If
End Sub
Pero al momento de realizar las pruebas me da este error, Error de sintaxis (falta operador) en la expresión de consulta usuario '" xxxxx "' and password = '".
¿Cómo puedo solucionar esto?

2 respuestas

Respuesta
1
Prueba así, tienes que definr los dos campos que condicionas en el WHERE:
Cuando tengas dudas de la sintaxis te recomiendo que crees la consulta en el generador de consultas y cuando tengas los resultados que deses solo pégala en el código, saludos.
("select pass.*, Usuario, password FROM pass where= usuario '" & Usuario & "' and password = '" & Contraseña & "'")
Mi amigo he probado esa sintaxis que me enviaste:
Private Sub Comando6_Click()
Dim Base As Database
Dim Pass As Recordset
Set Base = CurrentDb
Set Pass = Base.OpenRecordset("select pass.*, Usuario, password FROM pass where= usuario '" & Usuario & "' and password = '" & Contraseña & "'")
If Pass.RecordCount = 0 Then
respuesta = MsgBox("Contraseña Incorrecta")
Exit Sub
End If
End Sub
De todos modos me sigue dando este error:
Error de sintaxis (falta operador) en la expresión de consulta '=usuario 'gibbonp' and password'".
Lo que llegue a verifica es que en VB la sintaxis que esta mal me marca en amarillo, reviso paso a paso pero en la ultima linea cuando arrimo el cursor del mouse en contraseña me dice vacío.
¿Tiene un correo donde te puedo enviar la imagen?
El error es porque no te esta tomando bien el valor de contraseña, el de usuario si porque te muestra gibbonp, checa la caja de texto de password a lo mejor te esta hacioendo ruido el que password es una palabra reservada de access y una de las reglas de programación es que no se deben utilizar las palabras reservadas, puede que sea eso puede que no... mi correo es [email protected] yo ya no uso el RecordSet para hacer la búsqueda, ¿conoces la funciones DLookup() y Nz()?
Private Sub Boton_Click()
Dim var As String
var = ""
var = Nz(DLookup("[USUARIO]", "sys_user", "[USUARIO] = '" & Me.txt_usuario & "' AND [NOMBRE] = '" & Me.txt_password & "'"))
If var = "" Then
MsgBox "El usuario y/o la contraseña son incorrectos... ", vbOKOnly, "Aviso"
Exit Sub
Else
MsgBox "Vientos huracanados......si tienes acceso ", vbOKOnly, "Aviso"
End If
End Sub
Pruébalo así, este ejemplo lo acabo de hacer en un formulario y si funciona bien
Para ti seria así:
var = Nz(DLookup("[Usuario]", "pass", "[Usuario] = '" & Usuario & "' AND [password] = '" & Contraseña & "'"))
Teclea Dlokoop() en tu codigo marcalo (sombrealo) y presiona F1 para que veas la ayuda y sepas de que se trata Nz() es para que no te marque error si encuentra nulos.
Si despues de probar la te sigue dando error enviame tu formulario y tu tabla en un .zip pero en access 2002 ó 2003
Gracias mi amigo, voy a probar y te comento como voy.
Saludos y Gracias de nuevo.
Mi amigo me ha dado nuevamente error, te envíe a tu correo mi tabla y formulario en formato 2002-2003 zipeados y una imagen del error.
Gracias
Sale y vale lo checo
Respuesta

Tengo el mismo problema me podrían compartir la solución

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas