我在ms访问中使用临时表来捕获包含每日劳动力信息的Excel报告。它只是一个批量上传表单和一个带有点击事件的按钮。每次上传时,都会删除并重新创建临时表。每个报告的前3个标题都相同。日期字段存储当天工作的小时数,但由于这是每周报告,因此日期的字段会更改。
ChargeNumber,P_CODE,E_ID,DATE1,DATE2,DATE3,date4,date5
我已设法在ms访问中编写更新查询以从临时表更新人工表,但我必须手动更改日期的列。我已经考虑将标题信息捕获到数组中并解析出信息,但我的编码优势仅限于TSQL,我的TSQL技能仍在提高......我相信有更好的方法来动态处理这个... ..我只是没有看到它。
INSERT INTO Labor2 ( ChargeNumber, e_ID, dateworked, p_Code, hoursworked )
SELECT I.ChargeNumber, I.e_ID, "2017-11-07" AS dateworked, I.p_code, I.[2017-11-07]
FROM tbl_Import AS I
WHERE (((I.[2017-11-07]) Is Not Null));
我不是在寻找任何人用解决方案回答我的问题。我正在寻找一条遍历的路径,所以我可以找出自己的问题。任何帮助将不胜感激。希望这是有道理的。
答案 0 :(得分:0)
如果您总是有五列,则可以使用
INSERT INTO Labor2 ( ChargeNumber, e_ID, dateworked, p_Code, hoursworked )
select *
from tbl_Import
然后在下一步中过滤。有点脏,但很简单。