Za pomocą kółka myszy nie można przewijać rekordów w formularzu programu Access 2007 lub Access 2010

Symptomy

W widoku formularza w programie Microsoft Office Access 2007 lub w Microsoft Access 2010 podczas próby użycia kółka myszy do przenoszenia rekordów w formularzu nic się nie dzieje. Można jednak użyć kółka myszy do przenoszenia rekordów w górę i w dół po przełączeniu formularza do widoku arkusza danych.

Przyczyna

Zachowanie kółka myszy w widoku formularza zostało celowo zmienione w programie Access 2007 i w programie Access 2010 w celu zmniejszenia pomyłek użytkowników. We wcześniejszych wersjach programu Access koło myszy czasami przesuwało pasek przewijania lub koło myszy przenosiło rekordy w górę lub w dół. Zachowanie kółka myszy jest teraz spójne i przesuwa tylko pasek przewijania. Nie ma właściwości do zmiany tego zachowania.

Obejście problemu

Możesz nadal używać kółka myszy w widoku formularzy w programie Access 2007 i programie Access 2010. W tym celu włącz bazę danych lub przenieś ją do zaufanej lokalizacji. Następnie wykonaj następujące kroki:

  1. Otwórz formularz w widoku projektu.

  2. Użyj kombinacji klawiszy Alt+F11 lub kliknij pozycję Wyświetl kod w grupie Narzędzia na Wstążce, aby otworzyć okno edytora Programu Microsoft Visual Basic.

  3. Wklej następujący kod w oknie kodu.

    Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
    
    If Not Me.Dirty Then
    
    If (Count < 0) And (Me.CurrentRecord > 1) Then
    
    DoCmd.GoToRecord , , acPrevious 
    
    ElseIf (Count > 0) And (Me.CurrentRecord <= Me.Recordset.RecordCount) Then 
    
    DoCmd.GoToRecord , , acNext
    
    End If
    
    Else
    
    MsgBox "The record has changed. Save the current record before moving to another record."
    
    End If
    
    End Sub
    
  4. Zapisz, a następnie otwórz formularz w widoku formularza.

Ten kod wymusza na użytkowniku zapisanie rekordu, w którym zmiany zostały wprowadzone przed przewinięciem użytkownika do innego rekordu. Jedną z głównych przyczyn zmiany zachowania przewijania było to, że użytkownicy będą używać kółka myszy do przewijania rekordów oraz automatycznego i nieoczekiwanego zapisywania zmian w rekordzie.