Consultar datos en una tabla dbf desde vb6 AYUDA...

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar todos
nuevos mensajes

  • Consultar datos en una tabla dbf desde vb6 AYUDA...

    Buenas compañeros, saludos para todos estoy enredado en algo aqui sobre como consultar una dbf desde vb6, estoy utilizando este codigo para hacer dicha consulta por un numeri de identificacion personal ejemplo CED_FOX = 8-766-926 es el formato, pero me envia error LA TABLA EXTERNA NO TIENE EL FORMATO ESPERADO, he buscado pero no encuentro como solucionar este error, una colega usa el mismo codigo y si le funciona.

    Código:
      
     Dim cn As New ADODB.Connection  
     Dim rs As ADODB.Recordset  
     CED_FOX = QUITAR_CEROS(Me.txtprovincia1.Text) & "-" & QUITAR_CEROS(Me.txttomo1.Text) & "-" & QUITAR_CEROS(Me.txtasiento1.Text)  cn.Open ("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=F:\ADMI;")  
     Set rs = cn.Execute("select * from perso where ced = '" & CED_FOX & "'")      --- aqui esta el error  la tabla externa no tiene el formato esperado.  
     If Not rs.EOF Then  
         rs.MoveFirst  
         Me.txtnombre.Text = rs.Fields("pnom") + rs.Fields("snom") + rs.Fields("apat") + rs.Fields("amat")  
         Me.txtsexo.Text = .Fields("sex")  
         Me.txtedad.Text = .Fields("Fecn")  
     Else  
         MsgBox "No hay Datos para Mostrar", vbOKOnly, "DATOS"  
     End If  
     rs.Close  
     cn.Close  
     Set rs = Nothing  
     Set cn = Nothing
    Si alquien sabe como puedo hacer que funcione, gracias AYUDA..........................................

  • #2
    Antes de nada, ¿estás seguro de que el campo ced no es numérico? Porque ésa sería una razón lógica de que te lance el error que comentas...
    José María Movilla Cuadrado
    ______________________
    Normas del foro
    www.foro.vb-mundo.com
    www.vb-mundo.com

    Comentario


    • #3
      Ya verifique el campo es caracter.

      Comentario


      • #4
        Ya pude resober pero me tarda la conexion solo tube que remplazar el metodo de conexion:

        anterior usaba esta y no funcioanaba
        Código:
        cn.Open ("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=F:\ADMI;")
        
        Set rs = cn.Execute("select * from perso where ced = '" & CED_FOX & "'")
        Ahora la canbie por esta
        Código:
        cn.Open ("Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=F:\ADMI;")
        
        Set rs = cn.Execute("select * from perso where ced = '" & CED_FOX & "'")
        pero tarda demasiado en hacer la consulta

        Comentario


        • #5
          En esto no puedo ayudar. Yo sólo he usado conexiones ADO.
          José María Movilla Cuadrado
          ______________________
          Normas del foro
          www.foro.vb-mundo.com
          www.vb-mundo.com

          Comentario


          • #6
            Si no se trata de un problema general de lentitud en el acceso a la BD, y solo es esa consulta la que tarda mucho, prueba a crear un indice sobre la columna ced, no he trabajado nunca con DBase, y no se como hacerlo, pero debería mejorar la ejecución de la consulta.
            Una visita a las Normas del foro nunca viene mal

            Comentario

            Trabajando...
            X