0

2003年に機能したときに、Access 2010/2007でサブフォームの再クエリが変更されたレコード(またはそのために新規または削除されたレコード)を表示しない理由を理解しようとしていますか?

フォームを閉じて再度開いた場合、その値は正しいですが、それまではそうではありませんか? 2007/2010 で、追加の手順が必要な変更がありましたか?

これは複数のフォームで使用されるサブフォームです。メイン フォームなどで起こっていることに基づいて更新/再クエリしようとはしていません。レコードを上に移動するためにこの呼び出しを行うボタンがサブフォームにあります (行の順序を変更します)。 );

データベースは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
4

1 に答える 1