我有一些Excel VBA的经验,但没有一个使用Access。我在excel中创建了一个工具,它执行很多操作,并以带有表格中数据的选项卡结束。多人将使用excel作为数据输入工具。我希望最终选项卡中的数据可以导出到Access,以便在输入的人员之间汇总数据。为确保不会造成混乱,我需要在提交到Access时检查重复的ID。 ID变量称为ADP_Number,位于Excel和Access的第2列中。vba:导出Excel以访问,删除重复的ID
下面的代码用于将数据提交给Access,但对ID没有做任何处理。有人可以帮助我吗?
Sub ExportToAccess_DAO()
Dim oSelect As Range, i As Long, j As Integer ', sPath As String
Dim ws As DAO.Workspace
Sheets("Program_List").Activate
Set oSelect = Application.InputBox("Range", , Range("A1").CurrentRegion.Address, , , , , 8)
Dim oDAO As DAO.DBEngine
Dim oDB As DAO.Database
Dim oRS As DAO.Recordset
ChDir ActiveWorkbook.Path
Set oDAO = New DAO.DBEngine
Set oDB = oDAO.OpenDatabase("I:\ALLSHARE\MAD_14.accdb", _
False, False, "MS Access;PWD=MAD_14")
Set oRS = oDB.OpenRecordset("Program") ' change name?
For i = 2 To oSelect.Rows.Count 'skips labels
oRS.AddNew 'addnew record to recordset
For j = 1 To oSelect.Columns.Count ' number of columns 'Field 0 is an auto# - like an ID, so we start at 1
oRS.Fields(j) = oSelect.Cells(i, j)
Next j
oRS.Update
Next i
oDB.Close
End Sub