使用查询提供 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 插入新记录时变脏。
我有一个由查询(以某种方式)提供的 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 插入新记录时变脏。