gpt4 book ai didi

ms-access - 查询输入必须至少包含一个表或查询

转载 作者:行者123 更新时间:2023-12-02 02:22:44 29 4
gpt4 key购买 nike

我在 access 中有一个查询,该查询应该在插入之前检查该项目是否已存在于数据库中:

INSERT INTO FinalizedPrintedStickers
Values('0000846043-481-9-0',
'48IG - 1F Straight Panel ',
'481 ',
'0',
'0',
'',
'210',
'Printed')
WHERE NOT EXISTS(SELECT [SN] FROM FinalizedPrintedStickers Where SN = '0000846043-481-9-0')

现在,我以前遇到过此错误,但通常是在没有表的情况下发生的,例如,如果您“从测试表中选择*”并键入“选择*”并省略from子句,您会得到相同的错误。但我有一张 table ?也许我的 where notexists 语法是错误的?

enter image description here

编辑:

好的,我已经按照建议添加了一个表“Dual”,并从这个问题粘贴了代码副本:Table-less UNION query in MS Access (Jet/ACE)

尝试添加如图所示的约束给了我这个错误: enter image description here

按“确定”后,它会突出显示“检查”一词

我从来没有真正处理过约束(至少在 Access 方面......)我的语法可能是错误的

编辑2:

使用 ctrl G 命令添加约束

enter image description here

当我按下回车键时...

enter image description here

使用 ADO 添加约束:

enter image description here

当我按下运行键时...

enter image description here

最佳答案

在这种情况下,Dual 表会很有帮助。 Dual 表是一个单行表,当您并不真正需要源表但 SQL 解析器坚持要求时,可以在查询的 FROM 子句中使用它有一个。

某些数据库系统(例如 Oracle)提供 Dual 虚拟表作为“标准设备”,但在 Access 中我们需要创建自己的虚拟表。有关该过程的精彩描述,请查看 HansUp 的答案 here .

因此,一旦您的[双]表就位,即,

id
--
1

...然后您可以使用此查询执行 INSERT(或不执行...):

INSERT INTO FinalizedPrintedStickers
(
SN,
Field2
)
SELECT
"0000846043-481-9-0" AS SN,
"48IG - 1F Straight Panel" AS Field2
FROM Dual
WHERE DCount("SN","FinalizedPrintedStickers","SN=""0000846043-481-9-0""")=0

关于ms-access - 查询输入必须至少包含一个表或查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16734142/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com