我在Access DB中有三个表,“tbl_BO”链接到每个星期一更新的Excel表,“tbl_KPI1”和“tbl_KPI2。每个表都有一个名为”CW“的字段,表示日历周。”tbl_BO“有所有相同的字段都有其他两个表。
我想通过单击执行以下操作的按钮运行宏:例如“tbl_KPI1”。 在“tbl_BO”中查找来自上周(在本例中为2016.44)的“CW”,将其与“tbl_KPI1”的“CW”匹配,并更新字段“115p”。
下面,我编写了一个代码,它运行该字段中的所有值(“115p”)。但正如我所说,我只想从上周(ISO周)
更新值Public Function Update()
DoCmd.SetWarnings False
DoCmd.RunSQL "Update tbl_KPI1 INNER JOIN tbl_BO " & _
"ON tbl_KPI1.CW = tbl_BO.CW " & _
"SET tbl_KPI1.115p = [tbl_BO].[115p] "
'Here come codes to update the fields of other tables, same logic
DoCmd.SetWarnings True
End Function
我的ISO周代码是:
Function ISOweek(ByVal Dat As Date)
ISOweek = Int((Dat - Weekday(Dat, vbMonday) + 11 - _
DateValue("jan 01," & Year(Dat + 4 - Weekday(Dat, vbMonday)))) / 7)
End Function