• Viernes 8 de Noviembre de 2024, 20:22

Autor Tema:  Error En Una Busqueda Con Ado  (Leído 1709 veces)

_vgt_

  • Miembro activo
  • **
  • Mensajes: 76
    • Ver Perfil
Error En Una Busqueda Con Ado
« en: Sábado 15 de Enero de 2005, 16:38 »
0
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
  1.  
  2. Private Sub txtBusqueda_KeyPress(KeyAscii As Integer)
  3.  
  4.  Dim cadena_Buscada As String, criterio As String
  5.  
  6.  Dim sBuscar As String
  7.  Dim tRs As Recordset
  8.  Dim tLi As ListItem
  9.  
  10.  ' Comprobar si tiene caracteres "no válidos" para ADO:
  11.  sBuscar = Chr(KeyAscii)
  12.  sBuscar = Replace(sBuscar, "*", "%")
  13.  sBuscar = Replace(sBuscar, "?", "_")
  14.  
  15.  ' Formo la cadena de la consulta:
  16.  sBuscar = "SELECT CodCliente,Nombre,Modelo FROM Clientes WHERE Cliente   LIKE '" & sBuscar & "' ORDER BY CodCliente"
  17.  
  18.  Set tRs = db.Execute(sBuscar) :argh: :fire:
  19.  ' Comprobar que hay datos en el recordset
  20.  With tRs
  21.      ' Si no hay datos...
  22.     If (.BOF And .EOF) Then
  23.         MsgBox "No se han encontrado los datos buscados"
  24.     Else
  25.         ' Mostrar los datos hallados
  26.         ListView1.ListItems.Clear
  27.         .MoveFirst
  28.         Do While Not .EOF
  29.             Set tLi = ListView1.ListItems.Add(, , .Fields("CodCliente") & "")
  30.             tLi.SubItems(1) = .Fields("Nombre") & ""
  31.             tLi.SubItems(2) = .Fields("Modelo") & ""
  32.             .MoveNext
  33.         Loop
  34.     End If
  35.  End With
  36. End sub
  37.  
  38.  

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:
...solo los perdedores alegan haber hexo lo k han podido...

desarrollo

  • Miembro activo
  • **
  • Mensajes: 74
    • Ver Perfil
Re: Error En Una Busqueda Con Ado
« Respuesta #1 en: Sábado 15 de Enero de 2005, 17:31 »
0
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

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_

  • Miembro activo
  • **
  • Mensajes: 76
    • Ver Perfil
Re: Error En Una Busqueda Con Ado
« Respuesta #2 en: Sábado 15 de Enero de 2005, 17:41 »
0
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
...solo los perdedores alegan haber hexo lo k han podido...

desarrollo

  • Miembro activo
  • **
  • Mensajes: 74
    • Ver Perfil
Re: Error En Una Busqueda Con Ado
« Respuesta #3 en: Sábado 15 de Enero de 2005, 19:09 »
0
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.....