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
Ir a la versión completa