首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Access 2010宏中的SQL错误

Access 2010宏中的SQL错误
EN

Stack Overflow用户
提问于 2011-11-03 16:30:50
回答 3查看 904关注 0票数 0

作为一个类项目,我正在创建一个Access 2010数据库来跟踪库存。为了这个问题的目的,有两个相关的表,资产和行动,和一个相关的形式,更新资产。我的目标是每次有人更新资产表中的记录时,都要在Actions表中插入一个新记录。新的操作记录将包含保存时包含在当前记录中的字段的快照。

有一个名为AuditLog的宏附加到After事件。宏使用带有以下参数的RunSQL命令:

SQL语句:

代码语言:javascript
复制
INSERT INTO Actions (AssetTag, LocationID,Slot,Status,Timestamp,TechID) ; 
SELECT(AssetTag,LocationID,Slot,Status,LastUpdated,TechID) FROM Assets WHERE 
   Assets!AssetTag = Me!AssetTag ;

使用事务:

但是,当我去保存记录时,我会得到以下错误:

INSERT INTO语句中的语法错误

宏名称: AuditLog

动作名称: RunSQL

参数:插入操作(AssetTag、LocationID、槽、状态、时间戳、TechID);从资产中选择(AssetTag、LocationID、时隙、状态、LastUpdated、TechID)!AssetTag= Me!AssetTag;是

错误编号: 2950

我已经添加了数据库文件夹,以访问“受信任位置列表”。访问绝对不是我的优点,所以任何帮助都将是非常感谢的。

EN

回答 3

Stack Overflow用户

发布于 2011-11-03 16:36:27

这也不是我的强项,但我敢打赌分号是表达式/语句的结尾,与Server一样,应该是一个复合语句(select...into)

因此,去掉第一个分号。

从资产资产中插入操作(AssetTag、LocationID、时隙、状态、时间戳、TechID)选择(AssetTag、LocationID、时隙、状态、LastUpdated、TechID)!AssetTag= Me!AssetTag;

票数 0
EN

Stack Overflow用户

发布于 2011-11-07 17:48:59

分号“完成”语句。本质上,您在那里所做的是在INSERT INSERT操作时切断语句(AssetTag、LocationID、时隙、状态、时间戳、TechID);<

为了将来的参考,您几乎不需要在access中使用分号。它可能会为你添加它,但为了避免这样的事情,只是不要把它放进去。

票数 0
EN

Stack Overflow用户

发布于 2011-11-07 18:16:10

正如其他人所指出的,分号是罪魁祸首。如果Access SQL语句将来出现问题,则可以将该语句粘贴到Access查询设计器中。这样做将让查询设计器为您定位问题(通过突出显示语法问题的代码)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7998464

复制
相关文章

相似问题

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