我请求一些指导来解决这个问题,因为我在数据库中编辑"AfterUpdate“事件时遇到了这个问题。它似乎在我的本地机器上工作得很好,但是当我试图在网络数据库中实现它时,它不能正常工作(偶尔在其中一个字段中放入一个随机日期,当我提供一个新的ID时不会删除日期,等等)。
以下是我拥有的VBA代码:
Private Sub provider_surveyID_AfterUpdate()
provider_survey_dueDate = DateAdd("ww", 2, DLookup("completed_on",
"qry_ProviderSurveyInfo", "provider_surveyID=" & provider_surveyID))
provider_survey_reminder2weeks = DateAdd("ww", 4, DLookup("completed_on",
"qry_ProviderSurveyInfo", "provider_surveyID=" & provider_surveyID))
provider_survey_reminder4weeks = DateAdd("ww", 6, DLookup("completed_on",
"qry_ProviderSurveyInfo", "provider_surveyID=" & provider_surveyID))
End Sub查询是正确的,将调查ID连接到适当的参与者以确定DateAdd函数中使用的原始"completed_on“日期。
你能看到它为什么不能像在本地一样工作吗--在输入当前不使用的ID时删除日期?另外,您认为在这种情况下使用Nz(provider_surveyID,0)是明智的吗?我还没有实现它,因为我想让它在我的本地没有任何问题的情况下正常工作-我输入ID,它填充;我输入20 (还没有使用),它使所有日期再次为空。
发布于 2012-11-28 00:56:34
Dlookup可能很慢,使用起来也很棘手,当没有输入条件时,它还会返回随机值。我不确定你的表单是如何组合在一起的(我假设它是一个表单),这可能是一个部分答案:
Private Sub provider_surveyID_AfterUpdate()
Dim dtComplete as Date
If IsNull(provider_serveyID) then
provider_survey_dueDate=""
provider_survey_reminder2weeks=""
provider_survey_reminder4weeks=""
Else
dtComplete = DLookup("completed_on","qry_ProviderSurveyInfo", "provider_surveyID=" & provider_surveyID)
provider_survey_dueDate=DateAdd("ww",2,dtComplete)
provider_survey_reminder2weeks=DateAdd("ww",4,dtComplete)
provider_survey_reminder4weeks=DateAdd("ww",6,dtComplete)
End if
End subhttps://stackoverflow.com/questions/13573211
复制相似问题