Abrir un DBF con Excel

Tengo una planilla Excel y en una celda ingreso un Nº Documento y presiono un botón que está asociado a una macro, la cual debe abrir un archivo DBF y consultar por éste Nº Documento y traer todos los registros que contengan ese documento. Lo podría hacer en modo OFF-LINE pero constantemente el archivo DBF se está actualizando, por los usuarios que ocupan un sistema realizado en Clipper.
He intentado abrirlo de varias formas, pero siempre me dan errores.
Aquí hay un código pero me da error en el OPEN
Sub Botón1_AlHacerClic()
Dim Db As DataBase
Dim Rs As Recordset
valor = Worksheets("Cartas").Range("C10")
Set Db = OpenDatabase("", True, False, "dBASE III;database=F:\Codigos")
Set Rs = Db.OpenRecordSet("SELECT * FROM LETRA Where = " + valor)
cnt = 15
Do Until Rs.EOF
ActiveSheet.Range("c" & cnt) = Rs("campo1")
ActiveSheet.Range("d" & cnt) = Rs("campo2")
ActiveSheet.Range("e" & cnt) = Rs("campo3")
ActiveSheet.Range("f" & cnt) = Rs("campo4")
ActiveSheet.Range("g" & cnt) = Rs("campo5")
ActiveSheet.Range("h" & cnt) = Rs("campo6")
ActiveSheet.Range("i" & cnt) = Rs("campo7")
ActiveSheet.Range("j" & cnt) = Rs("campo8")
ActiveSheet.Range("k" & cnt) = Rs("campo9")
ActiveSheet.Range("l" & cnt) = Rs("campo10")
ActiveSheet.Range("m" & cnt) = Rs("campo11")
ActiveSheet.Range("n" & cnt) = Rs("campo12")
ActiveSheet.Range("o" & cnt) = Rs("campo13")
ActiveSheet.Range("p" & cnt) = Rs("campo14")
ActiveSheet.Range("q" & cnt) = Rs("campo15")
cnt = cnt + 1
Loop
Rs. Close
Con. Close
End Sub
Respuesta
A mi el Excel me ha dado dos tipos de errores a importar un DBF
uno el nombre del DBF demasiado largo, ¿más de 8 carácter
y el segundo que no tenga el fichero de memos el DBT
supongo que has probado de importar el fichero si macro o sea por la opción de menú?

2 respuestas más de otros expertos

Respuesta
2
La verdad no he trabajado con archivo DBF que tal si me mandas el archivo para ver si podemos ver una solución.
Respuesta
1
Aquí te dejo un ejemplo para exportar de Dbase a Excel. Lo tienes que adaptar a tus necesidades.
Sub Importar_dBaseIV()
Dim dBase As String
Dim strMacro As String
strMacro = ActiveWindow.Caption
'abrir el archivo .dbf como archivo Excel
Workbooks.Open Filename:="C:\ dbase.dbf"
'copiar contenido
dBase = ActiveWindow.Caption
Windows(dBase). Activate
Cells.Copy
'pegar contenido en archivo Excel
Windows(strMacro).Activate
Range("A1").Select: ActiveSheet.Paste
'cerrar archivo .dbf
Windows(dBase).Activate
Application.DisplayAlerts = False
Windows(dBase).Close
Application.DisplayAlerts = True
'aparcar en la nueva lista
Windows(strMacro). Activate
Columns. AutoFit
End Sub
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas