使用Access记录集内部加入Excel记录集
问题描述:
是否可以在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” 谁能帮助我?
答
唯一现实的方法是在访问数据库中创建一个导入表,并将数据从Excel复制到其中,然后加入到此表中。这样,每次Excel中的数据发生更改时,都不必重新创建连接。
DoCmd.TransferSpreadsheet – 2014-09-22 19:10:00