访问2010子表单查询不工作,但在2003年



我想弄清楚为什么一个子表单Requery在Access 2010/2007中没有显示更改的记录(或新的或删除的),当它在2003年工作时?

如果我关闭/重新打开表单,值是正确的,但直到那时?2007/2010年有什么变化需要额外的步骤吗?

这是一个由多个表单使用的子表单-我不是试图刷新/要求基于主表单上发生的任何事情,等等。SUBform上有一个按钮,该按钮通过调用将记录向上移动(重新排列行);

数据库是SQL Server 2005,而不是本地访问。

Private Sub btnUp_Click()
On Error GoTo Error_Handler
Dim blnUpdateSwitch As Boolean
    blnUpdateSwitch = False
Dim blnRemoval As Boolean
    blnRemoval = False
' Commit any outstanding edits before moving the records.
Me.Refresh
Dim intCurrentRecord As Integer
intCurrentRecord = Me.CurrentRecord
If Me.Recordset!blnSwitch = True Then blnUpdateSwitch = True
If intCurrentRecord >= 2 Then
    Me.Recordset.Edit
    Me.Recordset!lngSequence = intCurrentRecord - 1
    Me.Recordset.Update
    Me.Recordset.MovePrevious
    Me.Recordset.Edit
    Me.Recordset!lngSequence = intCurrentRecord
    Me.Recordset.Update
    Me.Recordset.Requery
    If blnUpdateSwitch Then CalculateSwitchOrder
    Me.Recordset.AbsolutePosition = intCurrentRecord - 2
    Me.Requery
End If
Exit Sub
Error_Handler:
End Sub

尝试将Me.Requery替换为Me.Form.Requery

同样,您也可以对Me.RefreshMe.Form.Refresh执行相同的操作

相关内容

最新更新