Endlosformulare/“>Endlosformulare („Continuous Forms“) sind in Microsoft Access ein beliebtes Gestaltungsmittel – ideal fĂŒr Benutzer:innen, die viele DatensĂ€tze schnell durchsuchen, vergleichen oder bearbeiten wollen. Sie eignen sich besonders fĂŒr:
- Kundenlisten, BestellĂŒbersichten, VorgĂ€nge
- Ticketsysteme oder Projektaufgaben
- Dokumenten- oder Rechnungsverwaltung
Doch bei groĂen Datenmengen und vielen Steuerelementen in einem Endlosformular kann es ruckelig, trĂ€ge oder visuell unĂŒbersichtlich werden. Das betrifft sowohl das Scrollverhalten als auch die Lesbarkeit und Performance.
Die gute Nachricht: Mit ein paar Tricks und gezieltem VBA-Code kannst Du die Benutzererfahrung deutlich verbessern.
Ursachen fĂŒr trĂ€ges Scrollverhalten
Typische Ursachen fĂŒr Performance-Probleme in Endlosformularen:
- Zuviele Steuerelemente oder komplexe Formatierungen (Bedingte Formatierung!)
- UngĂŒnstige Datensatzquelle (ungeschlĂŒsselte Abfragen, Joins, fehlende Indizes)
- Rechenintensive VBA-Ereignisse bei
OnCurrent,OnFormat, etc. - Unnötige Refresh/Me-Requeries
- Nicht gebundene Steuerelemente mit komplexer Logik
Ein weiterer Stolperstein: Access bietet kein native Scrollereignis, das Du abfangen kannst. Aber es gibt Alternativen.
Ziel: Glattes Scrollen und klare Darstellung
Folgende Ziele sind sinnvoll:
- Der Fokus bleibt beim Scrollen immer sichtbar
- Kein Flackern oder Springen beim Bearbeiten
- Bei Fokus auf einen Datensatz wird dieser visuell hervorgehoben
- Navigation kann per Tastatur oder Buttons erfolgen
- Die Datenmenge wird im Formular auf sinnvolle Teilmengen begrenzt
Beispiel: Scrollen per Button mit visuellem Fokus
Statt sich auf das Mausrad oder die Scrollbar zu verlassen, kannst Du Scrollen per SchaltflĂ€che erlauben – und gleichzeitig den aktuell aktiven Datensatz visuell hervorheben.
Schritt 1: Buttons einfĂŒgen
FĂŒge z. B. zwei SchaltflĂ€chen in den Formularkopf ein:
cmdVorâ zum Scrollen nach untencmdZurueckâ zum Scrollen nach oben
Schritt 2: Markiertes Element hervorheben
FĂŒge ein unsichtbares Textfeld ein, z. B. txtAktiveID, in das die aktuelle ID geschrieben wird. Mit bedingter Formatierung oder per VBA hebst Du dann den aktiven Datensatz hervor.
Schritt 3: VBA-Code zum Scrollen und Markieren
Private Sub cmdVor_Click()
On Error Resume Next
Me.Recordset.MoveNext
If Me.Recordset.EOF Then
Me.Recordset.MoveLast
End If
Call MarkiereAktuellenDatensatz
End Sub
Private Sub cmdZurueck_Click()
On Error Resume Next
Me.Recordset.MovePrevious
If Me.Recordset.BOF Then
Me.Recordset.MoveFirst
End If
Call MarkiereAktuellenDatensatz
End Sub
Private Sub Form_Current()
Call MarkiereAktuellenDatensatz
End Sub
Private Sub MarkiereAktuellenDatensatz()
On Error Resume Next
Me.txtAktiveID = Me!ID ' "ID" durch PrimĂ€rschlĂŒssel ersetzen
Me.Repaint ' Aktualisiert die Darstellung
End Sub
Schritt 4: Bedingte Formatierung (optional)
Markiere das Detail-Steuerelement, z. B. txtName, und hinterlege in der bedingten Formatierung:
Ausdruck ist:
[ID] = [Form]![txtAktiveID]
â Format: Hintergrund hellgelb, Text fett o. Ă€.
So sieht der aktive Datensatz sofort anders aus – auch beim Scrollen mit den Pfeilbuttons.
Bonus: Anzahl der DatensÀtze begrenzen
Wenn Du nicht Tausende DatensĂ€tze in einem Formular laden willst, kannst Du das Formular beim Ăffnen z. B. auf die letzten 100 EintrĂ€ge beschrĂ€nken:
Private Sub Form_Open(Cancel As Integer)
Me.RecordSource = "SELECT TOP 100 * FROM tbl_Kunden ORDER BY ErstellDatum DESC"
End Sub
Du kannst auch dynamisch filtern – etwa ĂŒber ein Suchfeld oder Dropdown-MenĂŒ.
Tipps fĂŒr flĂŒssige UI in Endlosformularen
- Halte das Formular visuell simpel: keine ĂŒberladenen Farben, keine Schatten oder Bilder
- Vermeide „Me.Requery“ – nutze stattdessen
Me.RepaintoderMe.Refresh - Platziere Buttons und Filter-Elemente auĂerhalb des Detailbereichs
- Halte
Form_Current()schlank – keine aufwĂ€ndigen Berechnungen dort! - Verwende ggf. nur ein oder zwei bedingte Formatierungen
Fazit
Mit ein wenig VBA und Design-SensibilitĂ€t lĂ€sst sich auch in einem klassischen Access-Endlosformular ein modernes, flĂŒssiges Scroll-Erlebnis erzeugen – ganz ohne externe Steuerelemente oder aufwĂ€ndige Add-ins. Du steuerst selbst, wie der Fokus sich verhĂ€lt, wie die Darstellung lĂ€uft und wie viele DatensĂ€tze ĂŒberhaupt gezeigt werden.
Wenn Du Deine Anwendung professionell strukturieren, optisch aufwerten und technisch performant halten möchtest, unterstĂŒtze ich Dich gern bei der Umsetzung.
đ DatenschĂ€fer – Analyse, Auswertung und Automatisierung fĂŒr KMU im Norden
đ§ Kontakt ĂŒber sesoft.de | đŒ Access · VBA · UI/UX · SQL · Power Platform