Programación General > Visual Basic 6.0 e inferiores

 Error En Una Busqueda Con Ado

(1/1)

_vgt_:
Holaa!!, me ha surgido un problema con una busqueda en ADO... el caso es que tengo un formulario con una lista de clientes en la k el usuario puede seleccionar a mano el k kiere y asi se ahorra el tener k escribirlos k es un coñazo... vale, hasta ahi bien, el problema viene cuando pensé en poner un textbox para k hiciera una busqueda...

os pongo el codigo...

--- Código: Text --- Private Sub txtBusqueda_KeyPress(KeyAscii As Integer)  Dim cadena_Buscada As String, criterio As String  Dim sBuscar As String Dim tRs As Recordset Dim tLi As ListItem  ' Comprobar si tiene caracteres "no válidos" para ADO: sBuscar = Chr(KeyAscii) sBuscar = Replace(sBuscar, "*", "%") sBuscar = Replace(sBuscar, "?", "_")  ' Formo la cadena de la consulta: sBuscar = "SELECT CodCliente,Nombre,Modelo FROM Clientes WHERE Cliente   LIKE '" & sBuscar & "' ORDER BY CodCliente"  Set tRs = db.Execute(sBuscar) :argh: :fire: ' Comprobar que hay datos en el recordset  With tRs     ' Si no hay datos...    If (.BOF And .EOF) Then        MsgBox "No se han encontrado los datos buscados"    Else        ' Mostrar los datos hallados        ListView1.ListItems.Clear        .MoveFirst        Do While Not .EOF            Set tLi = ListView1.ListItems.Add(, , .Fields("CodCliente") & "")            tLi.SubItems(1) = .Fields("Nombre") & ""            tLi.SubItems(2) = .Fields("Modelo") & ""            .MoveNext        Loop    End If End WithEnd sub  
el problema es k cuando va hacer la consulta en esta linea  Set tRs = db.Execute(sBuscar) me dice k "no se han especificado valores para algunos de los parámetros requeridos"  :blink:  y como k no consigo hacer k haga la consulta... ¿podriais orientarme un poco?  :rolleyes:

Muxisimas gracias a todos/as  :hola:

desarrollo:
HOLA VGT   :hola:

revise tu codigo y los he modificado un poco con respecto a los datos que tengo y es este..


--- Citar ---Private Sub txtbusqueda_KeyPress(KeyAscii As Integer)
Dim cadena_Buscada As String, criterio As String

Dim sBuscar As String
Dim tRs As New ADODB.Recordset
Dim tLi As ListItem

' Comprobar si tiene caracteres "no válidos" para ADO:
sBuscar = Chr(KeyAscii)
sBuscar = Replace(sBuscar, "*", "%")
sBuscar = Replace(sBuscar, "?", "_")

' Formo la cadena de la consulta:
'codano & "and b.nom_cliente like  " & Chr(39) & Trim(Text1.Text) & "%" & Chr(39) &
sBuscar = "SELECT num_ost,Nom_cliente,tip_documen FROM Cliente WHERE nom_Cliente LIKE " & Chr(39) & sBuscar & "%" & Chr(39) & " ORDER BY nom_Cliente"  ' aki en la linea del like le coloque un signo porcentaje (%)

'Set tRs = CN.Execute(sBuscar) ': argh:: fire:  esto no me funciona
Set tRs = New ADODB.Recordset  'lo hice asi
tRs.CursorLocation = adUseClient
tRs.Open sBuscar, CN, adOpenStatic, adLockReadOnly
'CN.Execute sBuscar  'no
'Set ListView1.= tRs  'no
' Comprobar que hay datos en el recordset
With tRs
    ' Si no hay datos...
   If (.BOF And .EOF) Then
       MsgBox "No se han encontrado los datos buscados"
   Else
       ' Mostrar los datos hallados
       ListView1.ListItems.Clear
       .MoveFirst
       Do While Not .EOF  'en esta parte para que funcione en las propiedades del listview le agregue 3 columnas no se realmente si era necesario pero funciono
           Set tLi = ListView1.ListItems.Add(, , .Fields("NOM_CLIENTE") & "")
           tLi.SubItems(1) = .Fields("NUM_OST") & ""
           tLi.SubItems(2) = .Fields("tip_documen") & ""
           .MoveNext
       Loop
   End If
End With

End Sub

--- Fin de la cita ---

hay algunas opciones que he cambiado con repecto a tu coneccion.... pero lo probe a mi modo y me resulta bien... a ver trata de acomodarlo a tu codigfo y luego me dices suerte   ;) , en esa parte donde dices que sale el error simplemente no le he colocado... que raro igual funca  :blink: talvez peude explicarme un poco como funciona en tu caso...   <_<

desarrollo   :comp:

_vgt_:
hola desarrollo!!, muxas gracias x tu ayuda pero me he dado cuenta k el campo x el k estaba buscando no estaba en la base de datos : hay k ser atontao :argh: lamento haberte hexo perder el tiempo revisando algo k no tenia mas k una mierda de despiste :( (aun asi llevabo todo el dia dandole vueltas... :ouch:)

Lo siento muxo de veras...  :losiento:

De todas formas voy a considerar las modificaciones para k mi codigo kede muxo mejor  :)

lo siento de verdad  :hola:

saludos y muxisimas gracias

desarrollo:
hola vgt   :hola:

no te precopupes a veces esas cosas pasan (si o no clauda....    :P ) para eso estamos como dice el dicho ... hoy por ti mañana por mi....    <_<

ke tengas suerte :lol:


adios


desarrollo     :comp:

PD: sobre el comentario en parentesis alli arriba, me refiero a ke el foro lo vemos dos personas  :)  ya sea yo.....     :D  o mi amiga claudia   :wub:  :food: ambos estamos con el mismo usuario y aparte ke trabajo con ella.....

Navegación

[0] Índice de Mensajes

Ir a la versión completa