Búsqueda con botón access

Hola, tengo el siguiente código:
Private Sub Form_Load()
ls_str_sql = "SELECT * FROM tabla_productos"
Me.RecordSource = ls_str_sql
End Sub
---------------------------------------------------------------------
Private Sub Comando9_Click()
Dim strsql As String
Dim rsconsulta As Recordset
strsql = "Select CÓDIGO, NOMBRE " & _
"from TABLA_PRODUCTOS where CÓDIGO = " & Me.txt_buscar.Text
Set rsconsulta = CurrentDb.OpenRecordset(strsql)
Me.TXTNOMBRE = rsconsulta!NOMBRE
Me.TXTCODIGO = rsconsulta!CÓDIGO
rsconsuta = Nothing
End Sub
--------------------------------------
Pero siempre me da el error siguiente:
Se ha producido el error '3075' en tiempo de ejecución
Error de Sintaxis(falta Operador) en la expresión de consulta 'CÓDIGO=636PXX'
No se cual es la solución, me puedes ayudar???

2 respuestas

Respuesta
1
Intenta cambiar la línea que tienes de la SQL
"from TABLA_PRODUCTOS where CÓDIGO = " & Me.txt_buscar.Text
por esta otra
"from TABLA_PRODUCTOS where CÓDIGO = '" & Me.txt_buscar.Text & "'"
A ver si así se te arregla el problema.
Respuesta
1
Si es un campo alfanumerico, tienes que poner lo que buscas entre comillas simples... ponlo asi ... CODIGO='636PXX'
Es decir:
strsql = "Select CÓDIGO, NOMBRE " & _
"from TABLA_PRODUCTOS where CÓDIGO = '" & Me.txt_buscar.Text & "'"
Intenta siempre también no utilizar simbolos o nombres en los campos (por ejemplo en vez de código, puedes usar codigo_producto).
También, si los códigos los estas usando a modo de indice, intenta utilizar códigos númericos (enteros largos habitualmente), puesto que luego tanto las búsquedas como la indexación son mucho más rápidas. Esto es especialmente así si los usas para vincular otras tablas a esos códigos.
Muchas  gracias, funciono como me indicaste.   Seguramente tendre mas consultas en mi desarrollo ye te las hare llegar para que por favor me ayudes.
Gracias y feliz año nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas