【发布时间】:2013-04-02 19:09:54
【问题描述】:
我在 Access 2010 中创建了一个用于将数据插入现有表的表单。该表包含一个关键字字段、源组合框和一个代码文本框,我在其中编写要插入的数据,并且有一个用于执行查询的按钮。表格的代码是:
Private Sub cmd_go_Click()
Dim insertstring As String
insertstring = "INSERT INTO KWTable (KW, Source, Code) VALUES('" & text_key.Value & "','" & combo_source.Value & "','" & txt_code.Value & "');"
DoCmd.RunSQL insertstring
End Sub
代码很简单,它将数据输入到表中,以便我可以参考它以备将来使用。现在我遇到的问题是,当我尝试添加我在 SQL Server 中使用的长代码时,我得到一个语法缺失表达式错误,我假设它来自单引号,因为代码来自 SQL。我收到错误是因为当我尝试存储我在 SQL Server 中使用的代码时,它使用访问无法识别的单引号。我想如果我尝试在插入表单的代码中编写一些东西来帮助将单引号转换为双引号,然后将它们重新转换回单引号将有助于解决问题。我只是不知道该怎么做,真的需要一些帮助。
谢谢
【问题讨论】:
-
能否请您发布错误消息?另外(一种愚蠢但可能且经常出现的情况)
debug.print您的 SQL 语句:缺少空格会引起很多麻烦 -
我真的很困惑;我的直觉是说“通过用两个撇号替换单个撇号来逃避撇号”,但我不确定
Sub JoinCells或您的第二个查询与您的问题有什么关系。我不太确定您的总体问题是什么。 -
代码函数与我的问题无关,问题是在主代码中编写用于插入目的以用双引号替换单引号,然后在插入访问时用单引号重新替换它们。错误消息是 RUN-TIME ERROR '3075' SYNTAX ERROR (MISSING OPERATOR) IN QUERY EXPRESSION .....
标签: ms-access