我试图弄清楚为什么子窗体查询在Access 2010/2007中不显示更改的记录(或新的或删除的记录),而它在2003年工作?
如果我关闭/重新打开表单,这些值是正确的,但直到那时?2007/2010年有什么变化需要额外的步骤吗?
这是一个被多个窗体使用的子窗体--我不会尝试刷新/requrey基于主窗体上发生的任何事情,等等。subform上有一个按钮,它调用这个按钮来向上移动记录(重新排序行);
数据库是SQL Server2005,而不是本地访问。
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发布于 2014-09-21 07:36:18
尝试将Me.Requery替换为Me.Form.Requery
此外,您也可以使用Me.Refresh to Me.Form.Refresh执行相同的操作
https://stackoverflow.com/questions/14466138
复制相似问题