SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: jodijo5 en Domingo 15 de Mayo de 2005, 02:03
-
hola amigos, mi programa se ejecuta sin generar errores, pero tengo una instruccion de sql que no hace lo suyo, estoy queriendo leer lo que tengo en la base de datos de acces pero no sale, la sentencia LIKE no funciona, no entra y no se que hacer, no se si será incompatibilidad o nose, e revizado el codigo varias veces pero no sale, halguien me podrìa ayudar a rastrear el error>?
================================================
Public db As New ADODB.Connection
Public dbf As New ADODB.Recordset
Private Sub Form_Load()
db.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\principal.mdb" & ";" & _
"Jet OLEDB:Database Password=area51"
db.Open
End Sub
Private Sub Text1_Change(Index As Integer)
Dim n1, n2 As String
If (Text1(0).Text = "") Then
n1 = "*"
Else
n1 = Text1(0) & "*"
End If
If (Text1(1) = "") Then
n2 = "*"
Else
n2 = Text1(1) & "*"
End If
'esta es la instruccion que no lee
Set dbf = db.Execute("SELECT * FROM paciente WHERE nombres LIKE '" & n1 & "' AND apellidos LIKE '" & n2 & "'")List1.Clear
Do Until (dbf.EOF)
List1.AddItem (dbf!nombres & "_" & dbf!apellidos)
dbf.MoveNext
Loop
End Sub
=====================================
-
Si lo que deseas es buscar coincidencias creo que deberías usar el caracter %. Revisa en el foro. Por ejemplo:
Link (http://foros.solocodigo.com/index.php?showtopic=4160&hl=select+like)
DiabloRojo.
-
Dim n1, n2 As String
If (Text1(0).Text = "") Then
n1 = "*"
Else
n1 = Text1(0) & "*"
End If
If (Text1(1) = "") Then
n2 = "*"
Else
n2 = Text1(1) & "*"
End If
'esta es la instruccion que no lee
Set dbf = db.Execute("SELECT * FROM paciente WHERE nombres LIKE '" & n1 & "' AND apellidos LIKE '" & n2 & "'")List1.Clear
Me parece que aqui estas concatenando n1 con *, en este caso debes usar el % y no el *
-
pana aqui te mando un ejemplo de la forma correcta... espero que con esto logres disminuir tu ingnorancia un poco saludos cuidate y estamos a la orden
SELECT ID_pago, RECIBO, BANCO, NROLICENCIA, FECHA, monto, STATUS From PAGOS2005 WHERE PAGOS2005.RECIBO like '%1234%' order by fecha
:P ;)
:comp:
-
toma donde esta tu linea mala pon esta
:comp:
Set dbf = db.Execute("SELECT * FROM paciente WHERE nombres LIKE '% n1 %' AND apellidos LIKE '% n2 %' ")
espero que tu ignorancia ala logrado disminuir un poco en el instante que leas esto cuidate salu2 estamos a la orden
sigue mejorando y quizas llegaras a ser algun dia como RADICAL
:P
no dejes que te lleve :devil:
-
gracias amigos si no me funciona les aviso
-
si no te funciona men la cosa no esta facil... jejejejeje resultaria que todos aqui somos unos neofitos jejejeje saludos