首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateAdd + DLookup

DateAdd + DLookup
EN

Stack Overflow用户
提问于 2012-11-27 05:10:18
回答 1查看 434关注 0票数 0

我请求一些指导来解决这个问题,因为我在数据库中编辑"AfterUpdate“事件时遇到了这个问题。它似乎在我的本地机器上工作得很好,但是当我试图在网络数据库中实现它时,它不能正常工作(偶尔在其中一个字段中放入一个随机日期,当我提供一个新的ID时不会删除日期,等等)。

以下是我拥有的VBA代码:

代码语言:javascript
复制
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 (还没有使用),它使所有日期再次为空。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-28 00:56:34

Dlookup可能很慢,使用起来也很棘手,当没有输入条件时,它还会返回随机值。我不确定你的表单是如何组合在一起的(我假设它是一个表单),这可能是一个部分答案:

代码语言:javascript
复制
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 sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13573211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档