访问将未绑定表单设置为当前记录

时间:2015-06-02 23:06:23

标签: ms-access access-vba

第一篇文章,希望这有一定道理。我正在使用命令按钮和.AddNew方法向未绑定文本框中的表添加数据。表格本身仍然受此约束。仅供参考,我正在使用未绑定的框,因为交汇点所需的UI不是一个选项。我能够毫无问题地将数据添加到表中。问题是在添加记录后,表单的当前记录与添加之前保持在同一记录上,但我希望它在新记录中。我正在使用“rst.Bookmark = rst.LastModified”将光标设置为表中的新记录,似乎可以正常工作,因为我可以返回新记录的值...但这不会影响表单。我尝试过使用“Requery”和“CurrentRecord”,但都没有解决问题。

总之,在向表中添加新记录后,我希望表单的当前记录引用此新记录。例如,如果我在表单中记录12并添加新记录,使总记录达到25 - 我希望表单记录在案,并且#25; 25 of 25"不在" 12 of 25"。你能告诉我怎么做吗?谢谢你的帮助!

    With rst

    .AddNew
        !Event = Forms!MainForm!Event
        !DonorName = Forms!MainForm!DonorName
        !EnvNo = Forms!MainForm!EnvNo
    .Update

    .MoveLast
    .MoveFirst

  End With

rst.Bookmark = rst.LastModified

''' Record count total - show on form - confirmed/same as Access Navigation display
Forms!MainForm!txtTotalRec.Value = rst.RecordCount

''' Current Record - show on form - confirmed/same as Access Navigation display
lngCurrent = Forms!MainForm.CurrentRecord
Forms!MainForm!txtCurrRec.Value = lngCurrent

2 个答案:

答案 0 :(得分:0)

它应该有效,因为addnew方法不需要movelast操作。您可以尝试使用set me.recordset = me.recordset

刷新表单

答案 1 :(得分:0)

根据您的试用版。只需执行一个DoCmd.GoToRecord acActiveDataObject,在me.requery之后执行acLast来更新记录集。