我有一个dbf,我想使用VB6将其复制到新的mdb中。
以下是我的目标,我可以轻松地创建新的mdb,但是,我想我可以使用INTO执行Select查询以创建包含数据的新表。
请注意:我假设的是在运行sql查询时创建的MSAccess表。
我在FROM子句中遇到语法错误。我试图做的是操纵这个SQL查询来做我需要的:
sql =“INSERT INTO [Table1] SELECT * FROM [source.dbf] IN”& dbfPath
我的例子vb:
new_mdb = root_directory & "\Temp\LnX.mdb"
Dim conCatalog As ADOX.Catalog
Set conCatalog = New ADOX.Catalog
conCatalog.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & new_mdb
Set conCatalog = Nothing
Dim db As Database
Dim sql As String
Dim dbfPath As String
Set db = OpenDatabase(new_mdb, dbDriverComplete, False)
dbfPath = "'" & root_directory & "\Core'[dBase IV;]"
sql = "SELECT * FROM [LnX.dbf] IN '" & dbfPath & "' INTO [LnX]"
db.Execute sql
db.Close
Set db = Nothing
答案 0 :(得分:1)
结束与新创建的mdb的ADODB连接。然后执行此操作以创建表和数据。
sql = "SELECT * INTO [" & table_name & "] " & _
"FROM [dBase IV;DATABASE=" & sourceDBpath & "].[" & table_name & "]"