Pregunta: | 33415 - CONSULTA SQL |
Autor: | Daniel Jesús Rodriguez Perez |
A continuacion os envio el código de una consulta SQL, me gustaria saber que es lo que hago mal ya que dicha consulta me da error en la supuesta base de datos ; en mi opinion creo que el error esta en intentar utilizar una variable como comparación ("nombre"), es que mi idea es realizar la busqueda segun el nombre que halla introducido el usuario previamente en un textbox, espero que me podais ayudar de todas formas muchisimas gracias, y un voto por la página.....
Dim recselect As Recordset Dim strSQL As String Dim nombre As String Private Const Cinemages_Path = "C:\WINDOWS\Escritorio\Proyecto Cinemages v.1.01\bdcinemages97(4).mdb" Private Sub Command1_Click() On Error GoTo errores Data1.DatabaseName = Cinemages_Path Data1.Refresh Set dbcinemages = DBEngine.Workspaces(0).OpenDatabase(Cinemages_Path) nombre = Text1.Text strSQL = "SELECT [Nombre cliente],[Código Cliente]FROM [Tabla Clientes]WHERE [Nombre cliente]= nombre ORDER BY [Nombre cliente]" Set recselect = dbcinemages.OpenRecordset(strSQL, dbOpenSnapshot) If recselect.RecordCount > 0 Then recselect.MoveFirst Do Until recselect.EOF List1.AddItem recselect!Nombre_cliente & ":" & recselect!Código_Cliente recselect.MoveNext Loop End If Exit Sub errores: MsgBox Err.Description, vbCritical End Sub |
Respuesta: | Marco A. Zamudio |
Al parecer tu codigo está bien, el unico error que encuentro, es que no pones comillas en la variable de comparacion en el sql, quedaría de esta manera:
strSQL = "SELECT [Nombre cliente],[Código Cliente]FROM [Tabla Clientes] WHERE [Nombre cliente]=& " ' " & nombre &" ' " ORDER BY [Nombre cliente]" Si tienes alguna duda, mandame un mail, con gusto te ayudaré |