1.用 Access 做个同结构的 Mdb 空档。
2.用一个 FileListBox 指向 *.dbf 的目录。
3.用 Dao 物件读入 mdb 空档。
4.用 for next 回圈一一读入各 Dbf,如:
for i=0 to FileListBox.listcount
开启 FileListBox.list(i) 的 dbf
for j=0 to FileListBox.list(i).recordcount
mdb空档.addnew FileListBox.list(i).record(j)
next
next
Dim adoConnection As New ADODB.Connection
'一定要用 Microsoft.Jet.OLEDB.4.0,不要用 3.51,但 MDB 文件可以是 Access97
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db4.mdb;Persist Security Info=False"
'playyuer
'adoConnection.Execute "SELECT * INTO CopyOfAnimals FROM animals IN ''[dBASE IV;DATABASE=d:\dbfs\]"
'adoConnection.Execute "INSERT INTO CopyOfAnimals SELECT * FROM animals IN ''[dBASE IV;DATABASE=d:\dbfs\]"
'王国荣 也可以,但也一定要用 Microsoft.Jet.OLEDB.4.0,不要用 3.51,但 MDB 文件可以是 Access97
'adoConnection.Execute "SELECT * INTO CopyOfAnimals FROM [dBASE III;DATABASE=d:\dbfs\].animals.dbf"
adoConnection.Execute "INSERT INTO CopyOfAnimals SELECT * FROM [dBASE III;DATABASE=d:\dbfs\].animals.dbf"
试试:
==================================================================
dBase To Access
==================================================================
Sub ImportdBaseToAccess()
Dim cnn As New ADODB.Connection
Dim sqlString As String
' Open the Connection
cnn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=d:\My Documents\db1.mdb;"
& _
"Jet OLEDB:Engine Type=4"
'Creates new Access table
sqlString = "SELECT * INTO [Table5] FROM [dBase III;DATABASE=d:\My
Documents\dBase].[dBase1]"
'Existing Access table
'sqlString = "INSERT INTO [Table3] SELECT * FROM [dBase III;DATABASE=d:\My
Documents\dBase].[dBase1]"
cnn.Execute sqlString