1

我有一个公式a_form,它有一个数据绑定到我的表my_table。如果用户单击一个按钮,我想将我的字段更新txt_mytext"Hello""Hello World!"

如何在不发生写入冲突的情况下更新此字段:

This record has been changed by another user since you started editing it. If you save the       record, you will overwrite the changes the other user made. Copying the changed to the clipboard will let you look at the values the other user entered, and then paste your changes back in if you decide to make changes.

我尝试了以下方法:

  • 使用 SQL 语句(很明显,我使用这种方法遇到了写冲突,因为我使用数据绑定和 sql 语句访问我的表
  • 使用a_form!txt_mytext = "Hello World!". 我不清楚为什么我会使用这种方法得到写入冲突。

有没有第三种方法或者我必须调用Me!Requery, Me!Refresh, Me!Dirty... 以避免写冲突?

我的代码frm_a_form是:

Private Sub btn_calculate_Click()
         Forms!a_form!txt_mytext = "Hello World!"
End Sub
4

2 回答 2

1

我不明白你为什么会遇到写冲突。但是,在您自己的回答中,您报告了此方法:

Forms!a_form!txt_mytext = "Hello World!"

既然这样有效,请从该表单上命令按钮的单击事件中执行相同的操作:

Private Sub btn_calculate_Click()
    Me!txt_mytext = "Hello World!"
End Sub

如果您想立即保存该更改,请将其添加到 click 事件过程:

Me.Dirty = False
于 2012-12-20T15:46:28.343 回答
0

这似乎有效:

Forms!a_form!txt_mytext = "Hello World!"
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

我通过谷歌搜索随机发现了这一点,例如http://www.tek-tips.com/viewthread.cfm?qid=446217

请随时解释此解决方案或添加您自己的答案。

于 2012-12-20T10:50:25.963 回答