我正在使用 MS Access 2010 数据库 (.accdb) 连接到 SQL Server 2016 中的数据库。
我有一个表单,它使用链接到 SQL Server 视图的表作为记录源,使用户能够浏览一组记录。该表单有一个按钮,该按钮在对话框模式下作为单独的表单打开,使用户能够从浏览表单中编辑选定的记录。这是按钮的代码;
Private Sub btnEdit_Click()
Dim RecordNumber As Integer
On Error GoTo btnEdit_Click_Err
'open the data entry form in edit mode, showing the currently selected record from the browse form
DoCmd.OpenForm "Application Edit - Template", acNormal, "", "[DB_Key]=" & txtDBKey, acEdit, acDialog
Me.Refresh
btnEdit_Click_Exit:
Exit Sub
btnEdit_Click_Err:
MsgBox Error$
Resume btnEdit_Click_Exit
End Sub
Me.Refresh 方法调用不会使用编辑表单上所做的更改来刷新表单。
我知道如果我使用 Me.Requery,我可以强制刷新数据,但不幸的是,这也会将焦点导航到数据集中的第一个记录。我知道我可以将记录号保存到变量中,然后使用 DoCmd.GoToRecord 导航回去。我只是希望 MS Access 按照它应该的方式工作。
有人知道为什么 Me.Refresh 不起作用吗?