Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Busqueda de registros ADODB y MySQL

Estas en el tema de Busqueda de registros ADODB y MySQL en el foro de Visual Basic clásico en Foros del Web. Hola a tod@s... Estoy haciendo una aplicacion en donde hay una formulario desde el cual se realiza una busqueda por numero de contrato... Establezco la ...
  #1 (permalink)  
Antiguo 27/10/2005, 12:10
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Busqueda de registros ADODB y MySQL

Hola a tod@s... Estoy haciendo una aplicacion en donde hay una formulario desde el cual se realiza una busqueda por numero de contrato... Establezco la conexion, tengo la sentencia SQL y llamo los datos y se muestran en el formulario... Hasta aqui todo bien... El problema es que solo me muestra los datos que estan ubicados al principio de la tabla... Ej: tengo los contratos desde el 11142005008 al 11142005100 y solo me muestra todo completo el primero, cuando escribo el 1114200599 u otro me dice que no existe... De verdad que me esta dando pelea... Que puedo hacer?
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #2 (permalink)  
Antiguo 27/10/2005, 12:50
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
De acuerdo

Cita:
Iniciado por vbx3m
Hola a tod@s... Estoy haciendo una aplicacion en donde hay una formulario desde el cual se realiza una busqueda por numero de contrato... Establezco la conexion, tengo la sentencia SQL y llamo los datos y se muestran en el formulario... Hasta aqui todo bien... El problema es que solo me muestra los datos que estan ubicados al principio de la tabla... Ej: tengo los contratos desde el 11142005008 al 11142005100 y solo me muestra todo completo el primero, cuando escribo el 1114200599 u otro me dice que no existe... De verdad que me esta dando pelea... Que puedo hacer?
hola bue hice un programa con mysql, yohago asi para las buskedas

'usas elrecordset con comandos sql, aca te pongoun ejemplito

SQL = "select * from tutabla where contrato like '" & Text1.Text & "' "
Set rs = cxnfac.Execute(SQL, , adCmdText)

Do While Not rs.EOF
nro_contrato = rs!ID_contrato
If rs!ID_contrato= Val(Text1.Text) Then

'aca vas poniendo en labels o lo ke kieras los datos relacionados a ese numero de contrato
Label2.Caption = rs!ID_contrato End If


rs.MoveNext
Loop
rs.Close
If nro_contrato = Val(Text1) Then
MsgBox "buskeda exitosa"
Else
MsgBox "No existe el nro de contrato"
End If


salu2 y espero ke te sirva
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #3 (permalink)  
Antiguo 27/10/2005, 12:52
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Cita:
Iniciado por vbx3m
Hola a tod@s... Estoy haciendo una aplicacion en donde hay una formulario desde el cual se realiza una busqueda por numero de contrato... Establezco la conexion, tengo la sentencia SQL y llamo los datos y se muestran en el formulario... Hasta aqui todo bien... El problema es que solo me muestra los datos que estan ubicados al principio de la tabla... Ej: tengo los contratos desde el 11142005008 al 11142005100 y solo me muestra todo completo el primero, cuando escribo el 1114200599 u otro me dice que no existe... De verdad que me esta dando pelea... Que puedo hacer?
sería facil de explicar si pones tu código..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #4 (permalink)  
Antiguo 27/10/2005, 12:53
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
Cita:
Iniciado por GeoAvila
sería facil de explicar si pones tu código..

nos vemos..
ahi le puse algo para tratar de ayudr, espero le sirva jejeje
salu2
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #5 (permalink)  
Antiguo 27/10/2005, 17:30
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Cita:
Iniciado por GeoAvila
sería facil de explicar si pones tu código..

nos vemos..
Si no puse el codigo porque no tenia mucho tiempo...

Este es el codigo que utilizo

Código:
Dim f As Variant
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

rs.CursorLocation = adUseServer
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
rs.Open "SELECT a.num_poliza, a.num_recibo, a.fecha_emision, a.ced_rif_tomador, a.ced_rif_asegurado,  a.ced_rif_beneficiario, a.cod_productor, a.lugar_pago, a.dir_cobro, a.tlf_cobro, a.marca, a.modelo, a.clase, a.serial_motor, a.serial_carroceria, a.placa, a.uso, a.tipo, a.color, a.puestos, a.ano, b.ced_rif_tomador,b.nom_tomador, b.caracter, b.tlf_tomador, b.dir_tomador, c.ced_rif_asegurado,c.nom_asegurado, c.tlf_asegurado, c.dir_asegurado, d.ced_rif_beneficiario, d.nom_beneficiario, d.dir_beneficiario, d.tlf_beneficiario, e.cod_productor, e.telefono, e.nombre FROM polizas a, tomadores b, asegurados c, beneficiarios d, promotores e WHERE (a.num_poliza LIKE  '" & Text1(0).text & "') AND (a.ced_rif_tomador= b.ced_rif_tomador) AND (a.ced_rif_asegurado=c.ced_rif_asegurado) AND (a.ced_rif_beneficiario=d.ced_rif_beneficiario) AND (a.cod_productor=e.cod_productor) GROUP BY num_poliza", conn
        
        If rs.EOF = True Then
            rs.Close
            Set rs = Nothing
           Exit Sub
        End If
    xCount = rs.RecordCount
        If Rx > rs.RecordCount - 1 Then
            Rx = 0
        End If
        If Rx < 0 Then
            Rx = rs.RecordCount - 1
        End If
    rs.Move Rx
    Text1(1).text = rs!num_recibo
    Text1(2).text = "ANUAL"
    Text1(3).text = "ANUAL"
    Text1(5).text = rs!fecha_emision
    Text1(4).text = DateValue(Text1(5).text) + 365
    Text1(8).text = rs!ced_rif_tomador
    Text1(6).text = rs!nom_tomador
    Text1(7).text = rs!caracter
    Text1(9).text = rs!tlf_tomador
    Text1(55).text = rs!dir_tomador
    Text1(12).text = rs!ced_rif_asegurado
    Text1(11).text = rs!nom_asegurado
    Text1(13).text = rs!dir_asegurado
    Text1(14).text = rs!tlf_asegurado
    Text1(16).text = rs!ced_rif_beneficiario
    Text1(15).text = rs!nom_beneficiario
    Text1(17).text = rs!dir_cobro
    Text1(18).text = rs!tlf_cobro
    Text1(20).text = rs!cod_productor
    Text1(19).text = rs!nombre
    Text1(21).text = rs!telefono
    Text1(22).text = rs!lugar_pago
    Text1(33).text = rs!marca
    Text1(31).text = rs!modelo
    Text1(32).text = rs!clase
    Text1(30).text = rs!serial_motor
    Text1(28).text = rs!serial_carroceria
    Text1(29).text = rs!placa
    Text1(27).text = rs!uso
    Text1(28).text = rs!tipo
    Text1(25).text = rs!Color
    Text1(24).text = rs!puestos
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #6 (permalink)  
Antiguo 28/10/2005, 05:32
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
Cita:
Iniciado por vbx3m
Si no puse el codigo porque no tenia mucho tiempo...

Este es el codigo que utilizo

Código:
Dim f As Variant
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

rs.CursorLocation = adUseServer
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
rs.Open "SELECT a.num_poliza, a.num_recibo, a.fecha_emision, a.ced_rif_tomador, a.ced_rif_asegurado,  a.ced_rif_beneficiario, a.cod_productor, a.lugar_pago, a.dir_cobro, a.tlf_cobro, a.marca, a.modelo, a.clase, a.serial_motor, a.serial_carroceria, a.placa, a.uso, a.tipo, a.color, a.puestos, a.ano, b.ced_rif_tomador,b.nom_tomador, b.caracter, b.tlf_tomador, b.dir_tomador, c.ced_rif_asegurado,c.nom_asegurado, c.tlf_asegurado, c.dir_asegurado, d.ced_rif_beneficiario, d.nom_beneficiario, d.dir_beneficiario, d.tlf_beneficiario, e.cod_productor, e.telefono, e.nombre FROM polizas a, tomadores b, asegurados c, beneficiarios d, promotores e WHERE (a.num_poliza LIKE  '" & Text1(0).text & "') AND (a.ced_rif_tomador= b.ced_rif_tomador) AND (a.ced_rif_asegurado=c.ced_rif_asegurado) AND (a.ced_rif_beneficiario=d.ced_rif_beneficiario) AND (a.cod_productor=e.cod_productor) GROUP BY num_poliza", conn
        
        If rs.EOF = True Then
            rs.Close
            Set rs = Nothing
           Exit Sub
        End If
    xCount = rs.RecordCount
        If Rx > rs.RecordCount - 1 Then
            Rx = 0
        End If
        If Rx < 0 Then
            Rx = rs.RecordCount - 1
        End If
    rs.Move Rx
    Text1(1).text = rs!num_recibo
    Text1(2).text = "ANUAL"
    Text1(3).text = "ANUAL"
    Text1(5).text = rs!fecha_emision
    Text1(4).text = DateValue(Text1(5).text) + 365
    Text1(8).text = rs!ced_rif_tomador
    Text1(6).text = rs!nom_tomador
    Text1(7).text = rs!caracter
    Text1(9).text = rs!tlf_tomador
    Text1(55).text = rs!dir_tomador
    Text1(12).text = rs!ced_rif_asegurado
    Text1(11).text = rs!nom_asegurado
    Text1(13).text = rs!dir_asegurado
    Text1(14).text = rs!tlf_asegurado
    Text1(16).text = rs!ced_rif_beneficiario
    Text1(15).text = rs!nom_beneficiario
    Text1(17).text = rs!dir_cobro
    Text1(18).text = rs!tlf_cobro
    Text1(20).text = rs!cod_productor
    Text1(19).text = rs!nombre
    Text1(21).text = rs!telefono
    Text1(22).text = rs!lugar_pago
    Text1(33).text = rs!marca
    Text1(31).text = rs!modelo
    Text1(32).text = rs!clase
    Text1(30).text = rs!serial_motor
    Text1(28).text = rs!serial_carroceria
    Text1(29).text = rs!placa
    Text1(27).text = rs!uso
    Text1(28).text = rs!tipo
    Text1(25).text = rs!Color
    Text1(24).text = rs!puestos
no te sirvio lo ke ye puse ?? prueba lo ke te puse ke te servirá..salu2
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #7 (permalink)  
Antiguo 28/10/2005, 07:46
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
rs.CursorLocation = adUseServer ' cambia esto

por esto...

rs.CursorLocation = adUseClient

y revisa de nuevo si te sirve tu código..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #8 (permalink)  
Antiguo 28/10/2005, 07:47
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Cita:
Iniciado por aldo1982
no te sirvio lo ke ye puse ?? prueba lo ke te puse ke te servirá..salu2
creo que el problema esta en la conexión no en el recordset..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #9 (permalink)  
Antiguo 28/10/2005, 08:26
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
Cita:
Iniciado por GeoAvila
creo que el problema esta en la conexión no en el recordset..

nos vemos..
suponia ke la coneccion estaba bien bue sreria coneviente ke postees tu conecion asi te ayudamos
salu2
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #10 (permalink)  
Antiguo 28/10/2005, 10:50
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Esta es mi conexion

Código:
Private Sub Form_Activate()
db_name = "unoproseguros"
db_server = "localhost"
db_port = ""   
db_user = "root"
db_pass = ""
OpenServer
Rx = 0
End Sub
Código:
Private Sub OpenServer()
constr = "Provider=MSDASQL.1;Password=;Persist Security Info=True;User ID=;Extended Properties=" & Chr$(34) & "DRIVER={MySQL ODBC 3.51 Driver};DESC=;DATABASE=" & db_name & ";SERVER=" & db_server & ";UID=" & db_user & ";PASSWORD=" & db_pass & ";PORT=" & db_port & ";OPTION=16387;STMT=;" & Chr$(34)
Set conn = New ADODB.Connection
conn.Open constr
End Sub
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #11 (permalink)  
Antiguo 28/10/2005, 10:59
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Código:
Private Sub OpenServer()
constr = "Provider=MSDASQL.1;Password=;Persist Security Info=True;User ID=;Extended Properties=" & Chr$(34) & "DRIVER={MySQL ODBC 3.51 Driver};DESC=;DATABASE=" & db_name & ";SERVER=" & db_server & ";UID=" & db_user & ";PASSWORD=" & db_pass & ";PORT=" & db_port & ";OPTION=16387;STMT=;" & Chr$(34)
Set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
conn.Open constr
End Sub
y al recordset quitale esto

rs.CursorLocation = adUseClient

nos vemo... espero te sirva de algo..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #12 (permalink)  
Antiguo 28/10/2005, 18:13
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
el error no está en el puerto ?? bue segun mis conocimientos el puerto es el 3306

salu2
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #13 (permalink)  
Antiguo 29/10/2005, 06:47
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Cita:
el error no está en el puerto ?? bue segun mis conocimientos el puerto es el 3306
No por defecto ese es el numero del puerto...

Voy a probar lo que me dijeron
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #14 (permalink)  
Antiguo 29/10/2005, 09:53
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Listo!!! Por fin!!!

El problema no estaba en la conexion sino en las condiciones de la busqueda... Por un numero que faltaba en la DB y cuando comparaba no coincidia... Siempre los pequeños detalles son los mas dificiles... De todas formas gracias por su ayuda

Hasta la proxima
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #15 (permalink)  
Antiguo 08/11/2005, 10:51
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Imporar tablas

Amig@s... Necesito una ayuda con mi sistema y con la DB...

Resulta que exporte las tablas de la DB que hice en MySQL Front pero no se como importarlas a la DB hecha en la PC donde instale el sistema... genere el .sql pero las opciones para importar son o .txt .csv o por ODBC... Y tengo grabados unos datos en esas tablas

Mi pregunta es como puedo importar las tablas con esos datos??? Si alguien me puede ayudar se lo agradeceria mucho...
__________________
ホルヘ・ラファエル・マルティネス・レオン
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:27.