Consultas en ADO

Tengo un control ADO y en su RECORDSOURCE escribí un código que termina en :
.... FROM TblProducto INNER JOIN TblAlmacen ON TblProducto.ProdId = TblAlmacen.AlmProducto WHERE TblAlmacen.AlmIngreso LIKE TxtBuscaIngreso"
TxtBuscaIngreso es una "caja de texto" donde ingreso un número, y quiero buscar ese dato específicamente, tal cual se ingresa.
Al correr se genera un error "No se ha especificado valores..."
Respuesta
1
la sentencia esta mal... debe terminar:  LIKE' " &  TxtBuscaIngreso & "')"
Recomiendo enviar la sentencia a un msgbox o caja de texto para probar como queda realmente, y probar esa linea directamente en la BD
Igual sale error, el código completo que tengo es:
========
Private Sub CmdBuscaIngreso_Click()
    AdoBusqueda.RecordSource = "SELECT TblAlmacen.AlmId, TblAlmacen.AlmFecha, TblAlmacen.AlmSalida, TblAlmacen.AlmIngreso, TblAlmacen.AlmProducto, TblAlmacen.AlmCantidadIngreso, TblAlmacen.AlmCantidadSalida, TblAlmacen.AlmCostoUnit, TblProducto.ProdId, TblProducto.ProdProducto, TblProducto.ProdUnidad, TblProducto.ProdCU, TblProducto.ProdStokSeg FROM TblProducto INNER JOIN TblAlmacen ON TblProducto.ProdId = TblAlmacen.AlmProducto WHERE TblAlmacen.AlmIngreso LIKE ' " & TxtBuscaIngreso & "'"
AdoBusqueda.Refresh
End Sub
============
Sale un mensaje: Extra ) in query expression TblAlmacen.AlmIngreso LIKE ' 58')'.
Yo ingreso el numero 58 como ejemplo, ya que es un registro que existe.
Gracias
El where necesita los paréntesis cuando usas el Like, ademas el primer apostrofe parece ser un guiño(tal vez yo veo mal: ' y ` ) y te sobre aun espacio después del LIKE entre el apostrofe y las comillas, TblAlmacen. AlmIngreso debe ser alfanumérico según expresión, revisa si la longitud o el tipo de datos en las tablas coinciden.
Ademas LIKE trabaja con los operadores % (motor SQL); access usa otro carácter: *.
Saludos... paciencia esto tiene que jalar. Aquí esta un ejemplo access directo:
SELECT Tabla1.Nombre
FROM Tabla1
WHERE (((Tabla1.Nombre) Like "*ruiz")); 'arroja todos los que coincidan de izq-der
WHERE (((Tabla1.Nombre) Like "ruiz*"));  'este te arroja todos los que inicien con "ruiz"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas