News

FAQ Access – Kombinationsfelder schneller füllen

Category:

Access, FAQ

0

Access Formulare – Kombinationsfelder schneller füllen

Problem :

Im Formular einer gemeinsam genutzten Datenbank verwende ich verschiedene Kombinationsfelder für die einfachere Auswahl zum Beispiel für die Daten „Anrede“, „Land“ oder „Region“. Das Öffnen des Formulars zieht sich mitunter einige Minuten hin. Entferne ich die Kombinationsfelder, lädt das Formular ohne Verzögerungen. Kann man das Füllen der Kombinationsfelder beschleunigen?

Lösung :

Bezüglich der Datenbasis für Kombinationsfelder ist wie bei Abfragen, Formularen oder Berichten zu beachten, dass Access zunächst alle Datensätze lokal auf dem Rechner speichert und erst dann gemäß den gesetzten Kriterien die tatsächlich benötigten Datensätze herausfiltert. Wenn dann noch mehrere Kombinationsfelder in einem Formular verwendet werden, kann das im Netzwerk durchaus einige Minuten dauern.

Unter Umständen ist es ratsam, die Datenbasis auf eine Tabelle umzustellen und diese direkt dem Kombinationsfeld zuzuordnen. Beispiel: Ein Kombinationsfeld wird mit „select Land from Kunden group by Land order by Land“ gefüllt, um die Auswahl des Landes zu ermöglichen. Alternativ können Sie als Datenbasis für das Kombinationsfeld direkt eine Tabelle „Kunden_Land“ verwenden, die Sie nach Änderungen im dazugehörigen Formular mit einer Tabellenerstellung dynamisch aufbauen:

Sub UpdateKundenLand()
On Error Resume Next
DoCmd.SetWarnings False
DoCmd.RunSQL "DROP TABLE Kunden_Land;"
DoCmd.RunSQL "SELECT Kunden.Land INTO Kunden_Land " & _
"FROM Kunden " & _
"GROUP BY Kunden.Land " & _
"HAVING (((Kunden.Land) Is Not Null)) " & _
"ORDER BY Kunden.Land;"
DoCmd.SetWarnings True
End Sub

 

Es werden dann nur die im Kombinationsfeld tatsächlich anzuzeigenden Datensätze übertragen, der Aufbau des Formulars beschleunigt sich entsprechend

 

Tags: ,

Leave a Reply

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.