Quiero hacer una consulta utilizando LIKE en Visual Basic

Que tal, le escribo para hacerle la siguiente pregunta:
Quiero hacer una consulta utilizando LIKE y no se como hacerla, a continuación le escribo el código y la duda
Private Sub txtapellido_KeyPress(KeyAscii As Integer)
cadena = (cadena) + Chr(KeyAscii)
Set rec = db1.OpenRecordset("SELECT apellido,nombre,razsoc,telefono FROM cliente WHERE apellido LIKE " & cadena & ";", dbOpenDynaset)
End Sub
En el evento que quiero utilizar esto es el evento KeyPress, lo que quiero hacer es buscar todo los campos donde el apellido empiece con el contenido de la variable cadena y mi duda es como utilizar el LIKE, le aclaro que rec es un recordset y así como esta me da un error de demasiados pocos parámetros,
espero que me lo pueda solucionar
gracias
martin
Respuesta
1
Martin, esta no es la forma adecuada de usar el operador LIKE en una SQL . El LIKE se usa cuando deseas restringir las ocurrencias a un numero determinado de caracteres, o que este en un rango determinado, o que sea limitado a números o caracteres o incluir wildcards, etc. Para lo que quieres hacer (yo lo hago en mis programas) te recomiendo lo siguiente:
Indexa la tabla que usas por apellido, y ejecuta la siguiente SQL:
Set rec = db1.OpenRecordset("SELECT apellido,nombre,razsoc,telefono FROM cliente WHERE apellido >=" & "'" & cadena & "'" , dbOpenDynaset)
De esta manera estarás restringiendo el recordset a aquellos registros que comiencen por las letras que vas escribiendo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas