ACCESS -如何在SQL SELECT ANY语句为假的情况下更新特定记录中的字段



我试图使用SQL来更新字段[tblServiceSession]。[First prebook]在open form[Forms]![frmNewServiceSessionPopUp]![Service Access ID]上,如果满足复杂的逻辑序列,则当前记录为TRUE。

下面是我到目前为止生成的SQL:
SELECT tblServiceSession.REQUESTID, tblServiceSession.[FIRST PREBOOKED]
FROM tblServiceSession
WHERE (((tblServiceSession.[FIRST PREBOOKED])=True) AND (((([tblServiceSession].[RequestID])=[Forms]! 
[frmNewServiceSessionPopup]![RequestID]))=
Any (SELECT tblServiceSession.[FIRST PREBOOKED] 
FROM tblServiceSession 
WHERE tblServiceSession.[FIRST 
PREBOOKED] = true)));

所以上面的SQL使用"ANY"并查询一系列共享相同[requesttid]的记录,然后只过滤那些[First preebooking] = TRUE的记录。

我想要做的是让上面的SQL查询产生一个true/false值,然后使用结果来确定是否运行下面的更新查询。基本上,如果在上面的查询中返回任何记录(TRUE),那么不执行任何其他操作(FALSE),运行以下SQL:

UPDATE tblServiceSession SET tblServiceSession.[FIRST PREBOOKED] = True
WHERE (((tblServiceSession.[SERVICE ACCESS ID])=Eval("Forms!frmNewServiceSessionPopUp!cboServiceAccessID")) 
AND ((tblServiceSession.ATTENDED)<>"counsellor rescheduled" 
Or (tblServiceSession.ATTENDED)<>"counsellor cancellation") 
AND ((tblServiceSession.[SERVICE TYPE])="scheduled") AND ((tblServiceSession.[SERVICE PROVIDED])="individual" 
Or (tblServiceSession.[SERVICE PROVIDED])="Family" 
Or (tblServiceSession.[SERVICE PROVIDED])="Couple"));

上面的SQL是一个简单的更新查询,带有一些限定条件,在相同的开放表单[Forms]![frmNewServiceSessionPopUp]![Service Access ID]

上更新当前记录的[First Prebooked]

字段。任何帮助都非常感谢。

下面的注释帮助我在第二个查询中实现了DCount()函数并引用了第一个查询:"你使用VBA吗?你的代码是什么?对第一个查询进行记录计数,并进行相应的处理。使用DCount()域聚合函数或打开记录集。">

我能够将更新查询的标准设置为DCount(),并且仅在小于1时更新!

谢谢每一个人。

相关内容

  • 没有找到相关文章

最新更新