前 提:
通用导入功能在导入的时候需要勾选Import,那么这个导入的对应是在SysLocalImportSpecs和TMP_ImportSpecs
SysLocalImportSpecs是保存的正式规格,所以在这里是没意义的,因为我们要获取的当前导入的字段情况。
TMP_ImportSpecs这张表就是存储的当前导入的规格,所以我们可以从这张表中获取导入了哪些字段。
下面的代码就是通过一个简单的循环,获取当前导入了哪些字段,导入了的字段就可以使用导入的数据进行更新。
代 码:
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("Select * FROM TMP_ImportSpecs Where TableName='TMP_PartInfo' AND Import=True AND ToField<>'PartNo' ")
Dim strSET As String
Do Until rst.EOF
strSET = strSET & "tblPartInfo.[" & rst![ToField] & "]=TMP_PartInfo.[" & rst![ToField] & "], "
rst.MoveNext
Loop
rst.Close
因为这里PartNo是主键,所以在生成更新SQL SET子句的时候需要排除。生成了strSET之后就可以将这个字符串拼接到SQL语句中执行了。