3

我已经获得了一个 MS-Access 应用程序来维护和更熟悉 Oracle 作为 dbms 我不时遇到问题..

今天,当列名使用连字符时,MS-Access 似乎有问题......

以下插入语句与 NotInList 事件耦合,以向列表框添加额外条目。

INSERT INTO tblProductInfo ( ProductInfo-Product ) "SELECT """ & NewData & """ AS ProductInfo-Product;"

但它不起作用(不再?第一次报告问题,不确定原始开发人员是否对其进行了测试)。

我已经用单记录追加查询对其进行了测试,看起来连字符是罪魁祸首,我只是找不到逃避它的方法。

插入 tblProductInfo ( ProductInfo-Product ) 值 ("myData")

给出的错误是“INSERT INTO 语句中的语法错误”

似乎没有其他方法可以指定 MS-Access 字段名,是吗?(方括号仅用于 SELECT 语句,

所以......我在呼吁 Stackoverflow 众神的智慧,并希望有人知道如何解决这个问题......

提前致谢 !!

4

1 回答 1

3

你需要方括号:

"INSERT INTO tblProductInfo ([ProductInfo-Product]) Values (""" & NewData & """)"

或者更好的是,避免字段和表名中出现奇怪的字符和空格。

方括号用于字段或表名有问题的任何 sql 语句:

  • 这是一个保留字
  • 它包含一个空格
  • 它包括一个特殊字符

您甚至可以将它们与 DDL 一起使用:

Create Table  tblProductInfo ( [ProductInfo-Product]  Text(50))
于 2012-08-30T11:11:01.317 回答