我现在已经运行了这个查询大约3个星期,突然间它停止了工作。这是我得到的错误:
我的桌子完全是空的。以下是INSERT INTO语句的代码:
SQL$ = ""
SQL$ = SQL$ & " INSERT INTO table1"
SQL$ = SQL$ & " VALUES ('test', 1, '1-1', #01/01/2001#, 1000, 'testing', 'example', 1, 2, 30);
DoCmd.RunSQL SQL$
由于没有记录存在,因此没有任何内容违反主键值。是否存在违反主键的另一种方式或这是一个访问问题?
这是表格设计:
忽略坏字段名称,我不得不暂时更改它们,以便我可以在这里发布。
我甚至尝试将其作为VBA之外的Access查询运行:
SELECT * FROM table1
并且它什么都没有返回。
更新
这很有趣。因此table1处于1对多关系中,vNum是table1中的许多关系,如前所述。在第一面,调用表“oTable”,它已经有一个我从其他数据库导入的vNum列表。我最近在oTable中创建了一个名为“vTester”的vNum的新记录。在我生成上述SQL插入语句的table1的表单中,我可以从组合框中选择我想要的任何vNum。用户不能选择不存在的用户。在我的表格中,我选择了“vTester”并得到了上述错误。但是,当我选择其中一个导入的vNum时,SQL命令有效。有什么想法吗?
答案 0 :(得分:0)
在避免输入新记录很长一段时间后,我修复并压缩了数据库并再次尝试并且它可以正常工作。对我来说,Access有点像这样,只需要一个新的(ish)开始。从那以后哈斯没有再次发生!