【问题标题】:ACCESS - How to update field in specific record based upon SQL SELECT ANY statement being falseACCESS - 如何根据 SQL SELECT ANY 语句为 false 更新特定记录中的字段
【发布时间】:2021-03-05 06:06:35
【问题描述】:

如果满足一系列复杂的逻辑,我正在尝试使用 SQL 将打开表单 [Forms]![frmNewServiceSessionPopUp]![Service Access ID] 上的当前记录的字段 [tblServiceSession].[First Prebooked] 更新为 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”并查询一系列共享相同 [requestID] 的记录,然后仅过滤 [First Preebooked] = TRUE 的记录。

我想要做的是让上面的 SQL 查询产生一个真/假值,然后使用结果来确定是否运行下面的更新查询。基本上,如果上述查询中返回任何记录(TRUE),则不执行任何操作(ELSE)(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] 字段

非常感谢任何帮助。

【问题讨论】:

  • 您在使用 VBA 吗?你的代码是什么?对第一个查询进行记录计数并相应地进行。使用 DCount() 域聚合函数或打开记录集。
  • 为什么需要 UPDATE 查询来编辑显示在表单上的记录?为什么不只是Me.[First Prebooked] = True

标签: sql ms-access sql-update any


【解决方案1】:

以下评论帮助我在第二个查询中实现了 DCount() 函数并引用了第一个查询:“您使用 VBA 吗?您的代码是什么?对第一个查询进行记录计数并继续进行。要么使用DCount() 域聚合函数或打开一个记录集。"

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

谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 2010-11-19
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多