使用查询提供 Access 表单

Using a query to supply an Access form

我有一个由查询(以某种方式)提供的 Microsoft Access 表单。该查询包含三个 table,它们通过各自的主键和外键链接在一起,表单显示数据非常愉快。

奇怪的是(就我而言)表单允许使用查询输入数据的能力。

但是,如果用户创建新记录,由于 [table2] table.

中的必填字段,整个事情似乎有问题
SELECT [table1].*
    ,[table2].JobNo
    ,[table2].PlannedDateOC
    ,[table3].DateJobStarted
    ,[table1].PlanNo
FROM (
    [table1] LEFT JOIN [table2] ON [table1].PlanNo = [table2].PlanNo
    )
LEFT JOIN [table3] ON [table2].JobNo = [table3].JobNo
ORDER BY [table2].PlannedDateOC
    ,[table1].PlanNo;

根据用户的说法,此表单在从 Access 97/2003 格式转换为 Access 2010(2007 文件格式)之前运行良好。

任何人都可以澄清这(它应该工作的事实)是否合法,如果可以的话,这个过程是否适用于任一版本的 Access?能够使用查询进行数据输入的概念对我来说很陌生。

如果您需要进一步说明,请告诉我。

注意: 这里需要注意的一件事是,我确实将一些字段移到了表单 header 中,以便它们在表单的其余部分滚动时始终可见。我不知道这是否会对表单的性能产生任何副作用。

以上查询将允许您在所有 非空字段 都有它们的值时将数据插入 [table1] 并确保 仅 table1.fields 插入新记录时变脏。