2014-09-22 2 views
0

Возможно ли сделать внутреннее соединение между таблицей Excel и таблицей доступа к базе данных? Я пробовал много способов сделать это возможным, но без успеха.Внутренний набор записей 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 –

Смежные вопросы