Pomocí kolečka myši nelze procházet záznamy ve formuláři aplikace Access 2007 nebo Access 2010.

Příznaky

V zobrazení formuláře v aplikaci Microsoft Office Access 2007 nebo v Microsoft® Access® 2010 se při pokusu o pohyb mezi záznamy ve formuláři pomocí kolečka myši nic nestane. Při přepnutí formuláře do zobrazení Datový list ale můžete záznamy přesouvat nahoru a dolů pomocí kolečka myši.

Příčina

Chování kolečka myši v zobrazení formuláře bylo záměrně změněno v Accessu 2007 a Accessu 2010, aby se snížila nejasnost uživatelů. V dřívějších verzích Accessu se někdy posouval posuvník pomocí kolečka myši nebo kolečko myši posunovalo záznamy nahoru nebo dolů. Chování kolečka myši je teď konzistentní a posouvá jenom posuvník. Neexistuje žádná vlastnost, která by toto chování změnila.

Řešení

V Accessu 2007 a Accessu 2010 můžete dál používat kolečko myši ve formulářovém zobrazení. Uděláte to tak, že povolíte databázi nebo ji přesunete do důvěryhodného umístění. Pak postupujte takto:

  1. Otevřete formulář v návrhovém zobrazení.

  2. Pomocí kombinace kláves Alt+F11 nebo kliknutím na Zobrazit kód ve skupině Nástroje na pásu karet otevřete okno editoru jazyka Microsoft Visual Basic.

  3. Do okna kódu vložte následující kód.

    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. Uložte formulář a otevřete ho ve formulářovém zobrazení.

Tento kód vynutí, aby uživatel uložil záznam, ve kterém byly provedeny změny, než se uživatel posune na jiný záznam. Jedním z hlavních důvodů změny chování posouvání bylo to, že uživatelé posouvali záznamy pomocí kolečka myši a automaticky a neočekávaně ukládali změny do záznamu.