我有一个关于如何在我的数据库中保护记录的问题。我正在处理的数据库有一个跟踪设备维护周期的表。表中最重要的信息是Down和Up日期以及表示正在处理哪些设备的ID。
现在,我已经制定了检查措施,以确保在进入新的维护期间时,您选择的日期不能围绕同一设备的另一个维护期,也可能在另一个维护期内。
我想在我的报名表上实施一个警告按钮,如果每个都有需要纠正的违规行为,该按钮就会显示。我不希望它主要在用户提示时一直运行,因为检查需要将每条记录放入查询并将其与具有相同设备ID的所有其他记录进行比较,以查看它们的日期是否冲突。
理想情况下,当按钮可见时,用户将单击该按钮并继续执行警告表单,该表单的组合框仅填充了从查询返回大于0记录计数的记录,这表示其日期与另一个记录冲突。
在组合框中选择的任何记录将有助于在页面上填充包含与其冲突的所有记录的子表单。所以现在用户可以看到哪些记录相互冲突。
我只是有一个关于如何实现这一点的魔鬼,并且想知道是否有人可以提供建议,我将非常感激。
这是我用来查找冲突记录的查询:
PARAMETERS M_ID Short, E_ID Short, Ddate DateTime, Udate DateTime;
SELECT *
FROM tblMaintenancePeriod
WHERE ((tblMaintenancePeriod.MaintID)<>[M_ID]) AND (tblMaintenancePeriod.EquipID)=[E_ID] AND (DownDate
BETWEEN Ddate AND Udate OR [UpDate] BETWEEN Ddate ANd Udate);
因此,在获取正确的错误记录列表方面。我正在玩一个记录集对象到我的维护表,以获取需要检查的所有记录的列表。然后在for循环中调用查询并使用当前记录中的数据来填充查询参数。但那我需要另一个记录集对象来打开查询吗?然后我需要检查尺寸,如果它&gt; 0然后我需要将该记录添加到列表中。