我有一个dbf,我想使用VB6复制到新的mdb中。
以下是我的专长,可以轻松地创建新的mdb,但是,我认为我可以使用INTO进行Select查询,以使用数据创建新表。
请注意:我假设的是在运行SQL查询时创建了MSAccess表。
我在FROM子句中收到语法错误。我试图做的是操纵此sql查询以执行我需要的操作:
sql =“将INERT插入[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
最后是到新创建的mdb的ADODB连接。然后执行此操作以创建表和数据。
sql = "SELECT * INTO [" & table_name & "] " & _ "FROM [dBase IV;DATABASE=" & sourceDBpath & "].[" & table_name & "]"