Consulta en ADO

Hola, tengo una pequeña base de datos que trato de manejar desde VB 6.0 usando ADO, el problema que tengo es que no puedo hacer consultas numéricas.
Osea, tengo un campo código(código de cliente), cuando ejecuto la sentencia sql que lo busca no me encuentra el dato.. ¿por qué? El dato existe, ¿por qué no lo muestra?
Agradecería mucho cualquier sugerencia

1 respuesta

Respuesta
1
Que valor trae el UCase(Trim(productos)) y de que tipo es el campo código, se me hace que por ahí esta el problema.
Me voy en una media hora máximo, si no tengo más cosas que hacer, de ahí contestaría hasta mañana por la mañana.
Te agradezco portu ayuda, ya lo solucione me faltaba poner el tipo de cursor, ahora funciona. Yo siempre usaba DAO y ahora tengo que utilizar ADO y hay muchísimas cosas que no se. Por ejemplo con DAO yo podía usar varias veces el mismo recordset para buscar y mostrar datos de diferentes tablas, ¿con ADO se puede hacer?
¿Tienes messenger? Te doy el mio [email protected] si no te molesta necesito hacerte otras preguntas.
Te agradezco mucho por tu atención
Puedes indicar el segmento completo del fuente en donde tienes el problema, con esto puedo ver cual es el problema.
Si puedes, ya que sencillamente le pasas otra sentencia de sql y lo vuelves a abrir.
No tengo messenger, estoy siempre en el trabajo y en casa no acceso a internet.
Otra vez yo.. no me deja reutilizarlo, me pone error. Pocos parámetros. Se esperaba 1.y me marca el error donde dice rs.open.. ¿qué me falta?
orden = ""
orden = "Select * from datos_externos where codigo like '" & UCase(Trim(productos)) & "*'"
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "DSN=imfa"
rs.ActiveConnection = cn
rs.CursorLocation = adUseClient
rs.CursorType = adOpenDynamic
rs.Source = orden
rs.Open =>aca me marca el error
Este mismo código lo uso primero para mostrar los datos del cliente y acá lo quiero usar para mostrar un listado de productos.
¿Hasta qué hora te puedo encontrar por acá?
Puedes colocar la sentencia completa para verla y como esta la estructura de la tabla.
orden = ""
orden = "Select * from datos where clnrcuit = " & Val(busca_doc.Text)
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "DSN=imfa"
rs.ActiveConnection = cn
rs.Source = orden
rs.Open
With rs
If .RecordCount > 0 Then
xvariable = !clcodigo
ver_datos
Else
MsgBox "ERROR.. NO SE ENCONTRARON DATOS RELACIONADOS..VERIFIQUE", vbApplicationModal + vbInformation + 0, "ERROR DE INGRESO DE DATOS"
busca_doc.SelStart = 0
busca_doc.SelLength = Len(busca_doc.Text)
busca_doc.SetFocus
End If
End With
Ese es el código que uso, ¿puede ser que el problema sea porque la base de datos estaba en Dbase(version muy vieja) y la pase a Access y algo haya quedado mal ahí?
Espero tu ayuda
Verifica que la conexión este activa, después verifica el estatus del rs. Eof con esto podemos ver que es lo que esta trayendo de datos.
Además sugiero que valides el valor que tiene el control busca_doc, así como el valor de la tabla sea exactamente el que digitas.
Hola. La sentencia sql no es a que va ahí, ahí va una búsqueda numérica, no viene por ahí el error, tiene que estar en algo que falta configurar, no se si es el recordset o la conexión
Un like en una búsqueda se utiliza en campos de tipo string no numéricos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas