Asignar variable a una búsqueda selectiva con access

Tengo problemas para asignar un variable en el siguiente código

dim s1 as string
 
s1= ' A ESTA VARIABLE SE LEASIGNA EL CONTENIDO DE UNA CAJA DE TEXTO
 
If rs.State = 0 Then
 
    rs.Open "select *from contactos where Apellido =  ' " & s1 & " ' ", cn
 
End If
 
rs.MoveFirst  ' LLEGA HASTA LINEA AQUI LO MARCA
 
Dim li As ListItem
 
While rs.EOF = False
 
    Set li = ListView1.ListItems.Add(, , rs("Nombre"))
 
    li.ListSubItems.Add , , rs("Apellido")
 
rs.MoveNext
 
Wend

' pero aqui me marca Error '3021', El valor de EOF o BOF es true, o el actual regristro se elimino la operacion solicitada requiere un registro actual

Respuesta
1

Si la sql la tienes escrita exactamente igual que aquí, fallan varias cosas:

1º/ te falta un espacio entre el * y el FROM

2º/ Te sobra el espacio entre la primera comilla simple y la doble.

3º/ te sobran los dos espacios alrededor de la segunda comilla simple.

rs.Open "select * from contactos where Apellido ='" & s1 & "'", cn

Si pones los espacios, te buscará en el campo un valor como (espacio)Perez(espacio) y es probable que no tengas ninguno así guardado, por eso no te devuelve registros y BOF=EOF=True.

Un saludo


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas