Crear una consulta a través de VBA

Dudas sobre código
JOSE-CHOLBI
Nivel 1
Mensajes: 2
Registrado: Mié May 16, 2018 4:38 pm

Crear una consulta a través de VBA

Mensajepor JOSE-CHOLBI » Mié May 16, 2018 4:42 pm

Tengo el siguiente código y no consigo que funciona. Me da un mensaje de error 3131.
Si alguien pudiera ayudarme le estaría muy agradecido ya que estoy empezando en esto.

Private Sub Comando10_Click()
' declaramos variables
Dim nDNI As Integer
Dim MISQL As String
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
' definimos la base de datos de trabajo
Set dbs = CurrentDb
' solicitamos el DNI
nDNI = InputBox("introduzca el DNI", "DNI")
' Creamos la consulta (SQL)
MISQL = "SELECT Ttrabajadores.* FROM Ttrabajadores"
MISQL = MISQL & "WHERE Ttrabajadores.DNI=" & nDNI
' abrimos el recordset sobre la sql
Set rst = dbs.OpenRecordset(MISQL, dbOpenDynaset)
' mostramos la información
MsgBox "DNI: " & rst.Fields("NOMBRE").Value & rst.Fields("SEXO").Value
' CERRAMOS CONEXIONES
rst.Close
dbs.Close
' LIBERAMOS MEMORIA
Set rst = Nothing
Set dbs = Nothing
End Sub


Concretamente la interrupción se produce en la línea:
Set rst = dbs.OpenRecordset(MISQL, dbOpenDynaset)

emiliove
Colaborador
Reto04
Mensajes: 316
Registrado: Lun Nov 23, 2015 4:05 pm

Re: Crear una consulta a través de VBA

Mensajepor emiliove » Mié May 16, 2018 5:38 pm

Hola JOSE-CHOLBI
El error te dice que la sentencia SQL tiene una sintaxis no valida, si el DNI es numerico solo veo un pequeño error:
MISQL = MISQL & "WHERE Ttrabajadores.DNI=" & nDNI
Y te falto un espacio en blanco antes del where
MISQL = MISQL & " WHERE Ttrabajadores.DNI=" & nDNI
Que aparentemente es numero pues asi declaras la variable nDNI
Saludos.

JOSE-CHOLBI
Nivel 1
Mensajes: 2
Registrado: Mié May 16, 2018 4:38 pm

Re: Crear una consulta a través de VBA

Mensajepor JOSE-CHOLBI » Mar May 22, 2018 6:00 pm

MUCHAS GRACIAS POR LA AYUDA. PARECE MENTIRA QUE UN SIMPLE ESPACIO PUEDA ABURRIR DE ESTA MANERA.


Volver a “Código VBA”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado