MS Access - 根据表单选择添加标签和文本框

时间:2017-01-03 19:45:22

标签: forms vba ms-access access-vba ms-access-2013

我有Add_Mitigation表单。在该表单上,有一个字段Activity_Due_Date_1。

有一些常规实例将更新Activity_Due_Date_1。在这样做时,我们不希望丢失先前的Activity_Due_Date值。因此,我想添加一个按钮Update_Due_Date。

单击时,它将添加Label Activity_Due_Date_2,其中Label末尾的数字比前一个Label高一个。它还会为用户添加一个文本框,以输入更新的截止日期。

我不清楚如何编写添加新标签和文本框的代码。另外,还有更简洁的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

有一些常规实例将更新Activity_Due_Date_1。在这样做时,我们不想丢失先前的Activity_Due_Date值

如果您需要记录所有截止日期,则需要将它们存储在某个表格中。以编程方式添加文本框/标签控件是可能的,但是对于您要执行的操作非常复杂,从正在修改的表单触发时相当困难,必须从拆分前端运行,并且不会保存其中包含的数据,默认情况下在关闭表单时删除历史记录,除非您还在所有其他详细信息中构建了保存过程。

我的建议是查看您的表结构,并确定如何存储截止日期和提交日期的日志。这取决于您是需要永久历史还是仅需要最近覆盖的日期。

仅限最近日期:根据您的结构,向当前存储日期的表中添加列可能就足够了。然后,您的表单将始终具有两个文本框,但如果第二个文本框为空,则可以使用文本框' s / label"" Visible"在空白时隐藏它们的属性。当日期更改时,旧值可以放在第二个字段中,如果它不为空,则覆盖第二个字段的值。

完整更改历史记录:根据您的结构,您可以创建一个新表,其中FK连接到原始表,一个字段用于存储截止日期,另一个字段用于存储日期/时间戳记录制作时使用查询,您可以选择最新的日期戳以查找当前提交的截止日期。您可以使用数据表子表单或显示给定记录的截止日期历史记录的列表框,而不是使用有序文本框。