0

我知道这个问题已经被问过好几次了,但没有一个解决方案能解决我的问题。

我正在尝试在 MS Access 2007 中的名为“Audit Trail”的表中插入一行。

主键是“活动号”列

以下是我的查询:

INSERT INTO [Audit Trail]
([Activity No], [Project Id], [Activity Date],[Activity Location],[Activity Description],[Data Reference (File No)],[Participant Id],[Person Reporting],[Comments]) 
VALUES
('6','SFT 2013','1/1/2014','AAA','AAA','AAA','AAA','AAA','AAA')

Activity No 列的数据类型是 Number(最初是 autonumber,但后来我改了),activity date 是 datetime,其余是 Text。

它给我一个错误

MS 访问无法追加追加查询中的所有记录

Microsoft Access 无法在追加查询中追加所有记录。由于类型转换失败,Microsoft Access 将 0 个字段设置为 Null,并且由于密钥冲突,它没有将 1 > 记录添加到表中,由于锁定冲突,没有添加 0 记录,并且由于验证规则违规,它没有将 0 记录添加到表中。是否仍要运行查询?

该表也没有任何外键。它之前有一个,但我删除了这个关系。

但是,我可以通过表格的 UI 输入相同的值。

4

1 回答 1

1

您说“活动无列的数据类型是数字......并且活动日期是日期时间”

因此,丢弃您插入的数字周围的引号[Activity No],并使用#您插入的值周围的日期分隔符[Activity Date]。我也更喜欢对文字日期值使用yyyy-mm-dd格式。

INSERT INTO [Audit Trail]
    (
        [Activity No],
        [Project Id],
        [Activity Date],
        [Activity Location],
        [Activity >Description],
        [Data Reference (File No)],
        [Participant Id],
        [Person Reporting],
        [Comments]
    )
VALUES
    (
        6,
        'SFT 2013',
        #2014-01-01#,
        'AAA',
        'AAA',
        'AAA',
        'AAA',
        'AAA',
        'AAA'
    )
于 2013-05-25T14:44:03.453 回答