2014-09-22 81 views
0

是否可以在Excel电子表格和Access数据库表之间建立内部联接? 我尝试了很多方法来使这可能,但没有成功。使用Access记录集内部加入Excel记录集

这是我的Visual Basic 6代码:

Dim DbTemp As Database 
Dim ExcelDB As Database 
DIm xlsRs As Recordset 

Set DbTemp = OpenDatabase(App.Path + "\mydb.mdb") 
Set ExcelDB = OpenDatabase(App.path + "\QueryExcelDATA.xls", False, True, "Excel 8.0;") 
Set xlsRS = ExcelDB.OpenRecordset(query, dbOpenDynaset) ' query is a sql query I used to get some other results 

Do Until xlsRs.EOF 
     Workspaces(0).BeginTrans 
      sql = "INSERT INTO Presenze(Enterprise, Emp_ID, mYear, mMonth, mDay, WorkHours) " _ 
       & " SELECT Presenze.Emp_ID, '"+xlsRs("Entps")+"', '" + xlsRs("Yr") + "', '" + " _ 
       & " xlsRs("Mnth") + "', '" + xlsRs("Dy") + "', '" + xlsRs("WH") + `"' " _ 
       & " FROM [ExcelDATA$] INNER JOIN Presenze On [ExcelDATA$].[CardID] = Presenze.CardID" 
      DbTemp.Execute sql 
     Workspaces(0).CommitTrans 
     xlsRS.MoveNext 
Loop 

我想从[ExcelData $]电子表格中的数据,并把它们插入到访问表“Presenze” 谁能帮助我?

回答

2

唯一现实的方法是在访问数据库中创建一个导入表,并将数据从Excel复制到其中,然后加入到此表中。这样,每次Excel中的数据发生更改时,都不必重新创建连接。

+0

DoCmd.TransferSpreadsheet – 2014-09-22 19:10:00