我有一个Microsoft Access表单,由查询提供(以某种方式)。该查询包含通过各自的主键和外键链接在一起的三个表,并且表单非常愉快地显示数据。
奇怪的是(就我而言)是表单允许使用查询进行数据输入的能力。
但是,如果用户创建了一条新记录,由于[table2]
表中的必填字段,整个事情似乎都有问题。
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,如果是的话?能够使用查询进行数据输入的概念对我来说非常陌生。
如果您需要进一步澄清,请与我们联系。
注意: 这里需要注意的一点是,我确实将一些字段移动到表单标题中,以便在表单的其余部分滚动时它们始终可见。我不知道这是否会对表格的表现产生任何副作用。
答案 0 :(得分:1)
以上查询将允许您在所有非空字段具有其值时将数据插入[table1],并确保仅table1.fields 在新记录时变脏插入。