MS ACCESS - 如何在按钮单击事件上保存表单的记录值,避免 control.lostfocus 上的正常自动保存
MSACCESS - How to save form's record values on buttonClick event avoiding normal auto save on a control.lostfocus
我有一个表单,其中包含一些链接到查询的文本框。
正常行为是当我更改其中一个文本框的值并切换到另一个控件时,
记录会自动更新为新值。
我想避免这种行为并要求 buttonClick
事件记录保存过程。
我尝试使用表单的 wait for post processing
属性 但它不起作用..
帮助
实际上,不,编辑表单上的值和文本框不会触及或将记录写回基础表单数据源。 Access 中的术语称为绑定表单。
记录是从 table 中提取的,数据填写了表单上的控件。此时,您可以编辑数据,但表单数据尚未写回 table。
按 Tab 键退出控件通常不会将数据写回 table。
但是,如果窗体上的控件是最后一个控件,并且您按了 Tab 键?
嗯,如果您移动到下一条记录,Access 会保存该记录。
因此,按 Tab 键只会移动到下一个控件,而不会保存您刚刚输入到该文本框(或任何绑定控件)中的数据。
但是:
如果您位于窗体及其选项卡上的最后一个控件上?
接下来会发生什么取决于您的表单设置。
如果您使用默认值,则按 tab 键将移动到下一条记录。现在当然,如果您移动到下一条记录,那么数据将被保存并写回 table.
因此,只有在您处于表单的最后一个控件时,选项卡才会保存数据。
但是,您可以在最后一个控件上更改制表键 WHEN 的设置。
在表格 属性 sheet 的“其他”选项卡中,您有所谓的循环 属性。
此设置:
那么,如果您将此作为“所有记录”?
然后,为了便于数据输入,您可以在表单上进行编辑,然后点击下一个控件的选项卡。但是当在窗体上的最后一个控件上时,如果您点击 Tab,则会移动到下一条记录。因此用户可以只用键盘编辑数据,对于大量的数据输入来说,这是一个很棒的功能。
在连续的表格(多个项目)上,然后在最后一行时,点击选项卡将移动到下一条记录,因此移动到下一行。同样,编辑数据的一个很棒的功能。
那么,如果您不希望选项卡保存您的数据?
然后把上面的改成当前记录。会发生什么情况是当用户点击选项卡时,而你在最后一个控件上?光标将跳回到表格的顶部,并且不会将数据保存或写入 table.
实际上,点击 Tab 键将在 CURRENT 记录上永远循环。
因此,选项卡不会将数据保存到 table 除非在表单的最后一个控件上。
编辑数据、复选框、组合框等。不保存也不将表单数据写回 table。
现在,如果你搬走记录?那么是的,确实会发生自动保存。但是,通过改变这个周期,用户就不会意外地离开 reocrd。
如果您关闭表单,当前记录的数据也会被保存。
表单上保存数据的按钮怎么样?
您可以在表单上放置一个按钮,然后使用以下代码将表单数据保存(写入)到 table:
if me.Dirty = True then me.Dirty = False
所以,以上是你如何可以将表单上的按钮write/save的数据传送到table。
但只是点击标签不会保存数据。例外当然是如果你在最后一个控件上,并且表单循环 属性 是 = All Records.
如果您将其更改为当前记录,那么他们可以连续数小时整天点击 Tab,并且不会保存表单数据,也不会写入 table。
我有一个表单,其中包含一些链接到查询的文本框。 正常行为是当我更改其中一个文本框的值并切换到另一个控件时, 记录会自动更新为新值。
我想避免这种行为并要求 buttonClick
事件记录保存过程。
我尝试使用表单的 wait for post processing
属性 但它不起作用..
帮助
实际上,不,编辑表单上的值和文本框不会触及或将记录写回基础表单数据源。 Access 中的术语称为绑定表单。
记录是从 table 中提取的,数据填写了表单上的控件。此时,您可以编辑数据,但表单数据尚未写回 table。
按 Tab 键退出控件通常不会将数据写回 table。
但是,如果窗体上的控件是最后一个控件,并且您按了 Tab 键?
嗯,如果您移动到下一条记录,Access 会保存该记录。
因此,按 Tab 键只会移动到下一个控件,而不会保存您刚刚输入到该文本框(或任何绑定控件)中的数据。
但是: 如果您位于窗体及其选项卡上的最后一个控件上? 接下来会发生什么取决于您的表单设置。 如果您使用默认值,则按 tab 键将移动到下一条记录。现在当然,如果您移动到下一条记录,那么数据将被保存并写回 table.
因此,只有在您处于表单的最后一个控件时,选项卡才会保存数据。
但是,您可以在最后一个控件上更改制表键 WHEN 的设置。
在表格 属性 sheet 的“其他”选项卡中,您有所谓的循环 属性。
此设置:
那么,如果您将此作为“所有记录”? 然后,为了便于数据输入,您可以在表单上进行编辑,然后点击下一个控件的选项卡。但是当在窗体上的最后一个控件上时,如果您点击 Tab,则会移动到下一条记录。因此用户可以只用键盘编辑数据,对于大量的数据输入来说,这是一个很棒的功能。 在连续的表格(多个项目)上,然后在最后一行时,点击选项卡将移动到下一条记录,因此移动到下一行。同样,编辑数据的一个很棒的功能。
那么,如果您不希望选项卡保存您的数据?
然后把上面的改成当前记录。会发生什么情况是当用户点击选项卡时,而你在最后一个控件上?光标将跳回到表格的顶部,并且不会将数据保存或写入 table.
实际上,点击 Tab 键将在 CURRENT 记录上永远循环。
因此,选项卡不会将数据保存到 table 除非在表单的最后一个控件上。
编辑数据、复选框、组合框等。不保存也不将表单数据写回 table。
现在,如果你搬走记录?那么是的,确实会发生自动保存。但是,通过改变这个周期,用户就不会意外地离开 reocrd。
如果您关闭表单,当前记录的数据也会被保存。
表单上保存数据的按钮怎么样?
您可以在表单上放置一个按钮,然后使用以下代码将表单数据保存(写入)到 table:
if me.Dirty = True then me.Dirty = False
所以,以上是你如何可以将表单上的按钮write/save的数据传送到table。
但只是点击标签不会保存数据。例外当然是如果你在最后一个控件上,并且表单循环 属性 是 = All Records.
如果您将其更改为当前记录,那么他们可以连续数小时整天点击 Tab,并且不会保存表单数据,也不会写入 table。