将Excel数据导入MS Access表
我有一个Excel表格,它由以下程序生成: 我想把那张纸导入MS Access程序。如何通过过滤数据将这些数据放入相关表中 |DeptNo | DeptName |=>部门表 |StaffNo | StaffName |=>员工表将Excel数据导入MS Access表,excel,ms-access-2010,Excel,Ms Access 2010,我有一个Excel表格,它由以下程序生成: 我想把那张纸导入MS Access程序。如何通过过滤数据将这些数据放入相关表中 |DeptNo | DeptName |=>部门表 |StaffNo | StaffName |=>员工表 |DeptNo | StaffNo | WorkDate | Week |=>考勤表您可以编写一个程序,概述如下- Revised on 3/25 late Dim WeAreInWorkDates As String For each row in worksh
|DeptNo | StaffNo | WorkDate | Week |=>考勤表您可以编写一个程序,概述如下-
Revised on 3/25 late
Dim WeAreInWorkDates As String
For each row in worksheet
If ColA.value = Dept row then
WeAreInWorkDates = "NO" 'reset flag to false
get values
if these values don't already exist in DeptTable then
Insert new row into DeptTable
endif
elseIf ColA.value = Staff row then
WeAreInWorkDates = "NO" 'reset flag to false
get values
if these values don't already exist in StaffTable then
Insert new row into StaffTable
endif
elseIf ColA.value = "WorkDate"
bypass row
WeAreInWorkDates = "YES" ' set flag
elseIf ColA.value = "Summary"
bypass row
WeAreInWorkDates = "NO" 'reset flag to false
elseIf ColA.value = blanks
bypass row
elseIf WeAreInWorkDates = "YES" then
'get values from the row into local variables
Dim xxx
xxx = myXLS.Cells(nRow,nCol) ... etc
' Prevent double posting of the XLS into the MDB tables
'if these values don't exist in AttendanceTable then
SET rst = db(Select * From AttendanceTable Where atKey = xxx(i.e. myLocalVars))
if rst.BOF and rst.EOF then ' rst is empty, ergo not yet posted
Insert row in AttendanceTable
endif
else
display that we have an unknown row
endif
您需要处理excel文件并手动“清理”它,以便它可以进入MS Access。你可以记录一个清洗过程的宏,这样你可以更快地完成。我不理解数据行StaffSummary=803,这显然是不正确的。这一点并不重要。谢谢,这是我想要的方式。但我的vba很差。我会尽力理解。如果您能为其他部分提供实际代码,如果WeAreInWorkDates获取值,如果AttendanceTable中不存在这些值,则在AttendanceTable中插入行,那么我可以自己处理其他部分。我可以将工作日期和员工总结之间的范围命名为.rangework date,staffsummery或其他,然后它可以用于导入访问,而不是逐个访问。我已经修改了上述内容。WeAreInWorkDates是一个变量,用于跟踪我们是否处于工作日期和摘要之间,因为实际考勤行没有行标识符。您不希望执行范围方法,而是在向mdb过帐之前测试每一行,并防止重复过帐。如果你只是在范围内砰地一声,那么一些操作员错误可能会两次或三次发布相同的XLS。。。