Post by DragoComunque io l'ho fatto anche da codice: salvi in Access e da qui in DB4, da
Excel, "at a flip of a switch".
Bruno posta il codice che me lo studio
=======================================
Public Sub ExportToDB4()
'
' D:\Document\Excel\XLS\ExcelToDB4\Book1.xls
'
' La conversione di un ExcelRange in un file DBF non è più prevista
dalla
' versione 2007 di Excel, mentre è ancora possibile convertire da
Access 2007 a DB4.
' La procedura esegue la doppia conversione Excel-Access-DB4.
'
Dim db As Database, RS As Recordset, SourceRange As Excel.Range
Dim i, j As Integer, Aapp As New Access.Application, NumCol As Integer
Dim TableDefn As TableDef, FieldDefn As Field, DirName As String
Dim NumRow As Integer, DB4FileName As String, AccessFileName As String
' Definizioni --------------------------
Set SourceRange = [Sheet1!A1:C16]
' Il range di Excel da esportare.
' In A1:C1 l'intestazione dei campi:
' F1 (Long), F2 (String), F3 (Long)
DirName = "D:\Document\Excel\XLS\ExcelToDB4\"
AccessFileName = "db1.mdb"
DB4FileName = "db1.dbf"
' i database che si andranno a creare
' --------------------------------------
NumCol = SourceRange.Columns.Count
NumRow = SourceRange.Rows.Count
' Apre un'istanza di Access e vi crea un Database
Aapp.NewCurrentDatabase DirName & AccessFileName
Set db = Aapp.CurrentDb
' Definisce tabella e relativi campi nel database testé creato.
Set TableDefn = db.CreateTableDef("TT_ExcelTable")
Set FieldDefn = TableDefn.CreateField("F1", dbLong)
TableDefn.Fields.Append FieldDefn
Set FieldDefn = TableDefn.CreateField("F2", dbText, 255)
TableDefn.Fields.Append FieldDefn
Set FieldDefn = TableDefn.CreateField("F3", dbLong)
TableDefn.Fields.Append FieldDefn
db.TableDefs.Append TableDefn
' Copia i dati da SourceRange al database
Set RS = db.OpenRecordset("TT_ExcelTable", dbOpenDynaset)
For Each i In SourceRange.Resize(NumRow - 1, 1).Offset(, 1)
RS.AddNew
For j = 0 To NumCol - 1
RS.Fields(j) = i(2, j)
Next
RS.Update
Next
' Esporta il database Access nel database DB4
DoCmd.TransferDatabase _
TransferType:=acExport, _
DatabaseType:="dBase IV", _
DatabaseName:=DirName, _
ObjectType:=acTable, _
Source:="TT_ExcelTable", _
Destination:=DB4FileName, _
StructureOnly:=False
Aapp.Quit
End Sub
===============================================
Bruno