scrollen bij filter

Status
Niet open voor verdere reacties.

Jos Van den Bro

Gebruiker
Lid geworden
25 mei 2006
Berichten
66
Hallo,

In een formulier met foto's heb ik een scroll functie bij gemaakt (gevonden op internet).

Dit werkt goed bij een tabel, doch wanneer ik een filter gebruik lukt het scrollen niet meer.

Ik weet dat je bij een filter geen veranderingen kan uitvoeren en de vraag is dan ook of het normaal is dat het scrollen bij een filter dan ook niet werkt.

Groeten

Jos
 
Ik snap niets van je vraag; een scrollfunctie? Scrollen doe je toch gewoon met toetsen of de muis op de scrollbalk? Wat doet die functie dan? En dan in combinatie met een filter? Nu ben ik echt weg :). En dan zeg je dat je niet kan scrollen als er een filter actief is? Nogmaals: scrollen werkt altijd. Met of zonder filter. Tenzij je, wat jij blijkbaar gedaan hebt, een (in mijn ogen dus overbodige) functie hebt gemaakt die dat onmogelijk maakt. Dan zou mijn tip zijn: gebruik de ingebakken scroll opties en gooi die functie weg.

Gaan we naar de volgende voor mij onbegrijpelijke opmerking: dat je bij gebruik van een filter geen veranderingen kan uitvoeren. Dat lijkt mij dus sterk, want ik heb daar nooit last van.
En wat bedoel je precies met ‘scrollen in een formulier met foto’s’? Wellicht is het tijd voor een voorbeeld bestandje, want ik ben ondertussen (nog steeds licht verward :)) wél benieuwd naar wat je nu precies bedoelt en gemaakt hebt.
 
Hallo OctaFish,

Het gaat hier om een gesplitst formulier met aan de bovenkant het gedeelte met de foto (geladen via een path)

Onderaan staat het gegevensblad.

Als ik mijn muis op het gedeelte zet met de foto en er is een QRY als record gebruikt lukt het scrollen niet naar het volgend record maar wel als mijn muis op het gegevensblad sta scrolt het gegevensblad .

Als ik een tabel gebruik lukt dit wel.


dit gebruik ik:

Code:
Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
Call DoMouseWheel(Me, Count)
End Sub


module:

Public Function DoMouseWheel(frm As Form, lngCount As Long) As Integer
On Error GoTo Err_Handler
    'Purpose:   Make the MouseWheel scroll in Form View in Access 2007 and later.
    '           This code lets Access 2007 behave like older versions.
    'Return:    1 if moved forward a record, -1 if moved back a record, 0 if not moved.
    'Author:    Allen Browne, February 2007.
    'Usage:     In the MouseWheel event procedure of the form:
    '               Call DoMouseWheel(Me, Count)
    Dim strMsg As String
    'Run this only in Access 2007 and later, and only in Form view.
    If (Val(SysCmd(acSysCmdAccessVer)) >= 12#) And (frm.CurrentView = 1) And (lngCount <> 0&) Then
        'Save any edits before moving record.
        RunCommand acCmdSaveRecord
        'Move back a record if Count is negative, otherwise forward.
        RunCommand IIf(lngCount < 0&, acCmdRecordsGoToPrevious, acCmdRecordsGoToNext)
        DoMouseWheel = Sgn(lngCount)
    End If

Exit_Handler:
    Exit Function

Err_Handler:
    Select Case Err.Number
    Case 2046&                 'Can't move before first, after last, etc.
        Beep
    Case 3314&, 2101&, 2115&   'Can't save the current record.
        strMsg = "Cannot scroll to another record, as this one can't be saved."
        MsgBox strMsg, vbInformation, "Cannot scroll"
    Case Else
        strMsg = "Error " & Err.Number & ": " & Err.Description
        MsgBox strMsg, vbInformation, "Cannot scroll"
    End Select
    Resume Exit_Handler
End Function
 
Dag Octafish,

Na nog wat zoekwerk heb ik volgende code gevonden en gebruikt.

Nu werkt het wel.

Groeten en bedankt.

Code:
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
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan