繁体   English   中英

MS Access / SQL:插入查询语句中的错误

[英]MS Access / SQL : error in insert query statement

我正在使用MS Access 1997版本( .mdb文件)。 我每天都需要手动插入值。 在该文件中,有一列Logical (布尔数据类型)。 我使用SQL查询而不是直接输入来自动化此模板。

下面是我的插入查询:

Insert Into Data_CustomerTransmit_Tbl (Logical) 
Values (" & Logicalnme & ")

价值观:

Logicalnme - True

当我在Excel中的VBA中运行此查询时,我收到此错误消息

插入语句时出现语法错误

请确认我是否应使用“Logical”作为列名或这是保留关键字?

提前致谢。

您的字段名称没有问题,只需将INSERT列名称括在方括号中即可。 您还需要在VALUES子句中选择有效值:

INSERT INTO Data_CustomerTransmit_Tbl ( [Logical] )
VALUES (TRUE);

如果要提示您输入要插入的值,可以使用以下参数:

PARAMETERS [Please enter a Boolean value] YesNo;
INSERT INTO Data_CustomerTransmit_Tbl ( [Logical] )
VALUES ([Please enter a Boolean value]);

我假设您正在尝试使用VBA进行此插入? 如果是这样,构建SQL语句的语法是正确的,除了缺少一些标点符号:每端都有双引号。

    "INSERT INTO Data_CustomerTransmit_Tbl (Logical) VALUES (" & Logicalnme & ")"

此外,由于您已将字符串拆分为两行(在VALUES之前断开),因此您还必须使用以下内容终止字符串的第一行:'“&_”(空格,双引号,空格,&符号,空格,下划线)为了表明字符串继续到下一行。然后你用双引号开始下一行:

    "INSERT INTO Data_CustomerTransmit_Tbl (Logical) " & _  
    "VALUES (" & Logicalnme & ")"

在VBA中,代码应如下所示:

Docmd.RunSQL("INSERT INTO Data_CustomerTransmit_Tbl (Logical) VALUES (" & Logicalnme & ");"

您提到的SQL查询 - 您是否尝试使用您尝试从Excel传递的相同值在查询编辑器中手动执行它? 如果查询或数据存在问题,这将立即提供更详细的反馈。

关于布尔字段,请确保您收到的是您期望的True / False,而不是位字段0和1.我希望在进行故障排除时查看表格或文件中的快速日志条目以查看原始数据。

使用Cbool功能:

Insert Into Data_CustomerTransmit_Tbl (Logical) 
Values (" & Cbool(Logicalnme) & ")

在值周围添加单引号?

sql = "INSERT INTO Data_CustomerTransmit_Tbl (Logical) " & _  
      "VALUES ('" & Logicalnme & "')"
docmd.runsql sql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM