Access Update查询未在VBA中运行,而是手动运行

时间:2017-03-20 09:44:47

标签: vba ms-access access-vba

这部分代码在登录Access系统后执行。

Option Compare Database
Option Explicit

Function updateShftDate()

On Error GoTo Macro6_Err
DoCmd.SetWarnings False
DoCmd.OpenQuery "qryShiftDate", acViewNormal, acEdit

Macro6_Exit:
Exit Function

Macro6_Err:
MsgBox Error$
Resume Macro6_Exit
DoCmd.SetWarnings False

End Function

QUERIES:

qryShiftDate:

UPDATE tblShftDate, tblTasks SET tblTasks.TempShiftDate = [tblShftDate].[shftDate]
WHERE (((tblTasks.ExpectedTime) Like "*PM"));

tblShftDateIDshftDate列。登录时,shftDate列与表单有关。请参见下图。

enter image description here 仅在手动单击查询但未在Access VBA中运行时才会运行此选项。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

您必须执行操作查询:

Function updateShftDate()

    CurrentDb.Execute "qryShiftDate"

Exit Function

你应该从不使用字符串处理日期/时间,因此:

WHERE Hour(tblTasks.ExpectedTime) >= 12;