SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: jodijo5 en Domingo 15 de Mayo de 2005, 02:03

Título: Ayuda Mi Mi Codigo No Funciona
Publicado 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
=====================================
Título: Re: Ayuda Mi Mi Codigo No Funciona
Publicado por: DiabloRojo en Domingo 15 de Mayo de 2005, 04:38
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.
Título: Re: Ayuda Mi Mi Codigo No Funciona
Publicado por: Soultaker en Lunes 16 de Mayo de 2005, 03:01
Cita de: "jodijo5"
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 *
Título: Re: Ayuda Mi Mi Codigo No Funciona
Publicado por: toten en Lunes 16 de Mayo de 2005, 17:10
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:
Título: Re: Ayuda Mi Mi Codigo No Funciona
Publicado por: toten en Lunes 16 de Mayo de 2005, 17:15
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:
Título: Re: Ayuda Mi Mi Codigo No Funciona
Publicado por: jodijo5 en Lunes 16 de Mayo de 2005, 21:34
gracias amigos si no me funciona les aviso
Título: Re: Ayuda Mi Mi Codigo No Funciona
Publicado por: toten en Martes 17 de Mayo de 2005, 14:28
si no te funciona men la cosa no esta facil... jejejejeje resultaria que todos aqui somos unos neofitos jejejeje saludos