Übersicht
Monday, May 1, 2000
Wiederverwendung von vorhandenen Objekten hat viele Vorzüge. Beispielsweise kann man auch in komplexen Access-Datenbanken mit wenigen Formularen auskommen, die ganz verschiedene Arten von Daten darstellen. Andererseits möchten es Sie vielleicht dem Benutzer ermöglichen, die angezeigten Daten selbst auszuwählen. Der hier vorgestellte Dialog stellt eine benutzerfreundliche Möglichkeit dar, Felder auszuwählen. Die zurückgegebene Auswahl können Sie auf beliebige Weise weiterverarbeiten.
Aufrufen des Dialogs
Der Dialog funktioniert so: Das Dialog-Formular wird geöffnet, wobei eine Datenquelle als Zeichenfolge übergeben wird. Aus dieser Datenquelle werden dann die Felder ausgewählt. Schließt der Benutzer den Dialog, stehen verschiedene Informationen über die ausgewählten Felder zur Verfügung.
' Datenquelle festlegen Dim strRecordsource As String strRecordsource = "Interpreten" ' Dialog öffnen, Datenquelle übergeben DoCmd.OpenForm "Felder auswählen", , , , , acDialog, strRecordsource ' Benutzer wählt aus ' ... ' Schließen wird abgefangen, Dialog ausgeblendet ' Auswahl auswerten (1) Dim strSQL As String, qdf As QueryDef strSQL = [Form_Felder auswählen].FieldSQL Set qdf = CurrentDb.CreateQueryDef("Test", strSQL) DoCmd.OpenQuery "Test" ' Auswahl auswerten (2) MsgBox "Sie haben " & [Form_Felder auswählen].FieldCount & " Felder ausgewählt." ' Auswahl auswerten (3) Dim i As Integer For i = 1 to intFieldCount Debug.Print [Form_Felder auswählen].FieldsSelected(i) Next i ' Dialog schließen DoCmd.Close acForm, "Felder auswählen", acSaveNo
Die Eigenschaften im einzelnen
- FieldCount As Integer
-
Eigenschaft ist schreibgeschützt.
Gibt die Anzahl der vom Benutzer ausgewählten Felder zurück. - FieldSQL As String
-
Eigenschaft ist schreibgeschützt.
Gibt eine Zeichenfolge zurück, die eine SQL-Select-Anweisung (Auswahlabfrage) darstellt. Die Anweisung enthält alle vom Benutzer ausgewählten Felder in der angegebenen Reihenfolge. - FieldsSelected(ByVal intIndex As Integer) As String
-
Eigenschaft ist schreibgeschützt.
Gibt den Namen eines beliebigen der ausgewählten Felder zurück. Die Felder befinden sich in der angegebenen Reihenfolge.
Argumente:- intIndex: Ganzzahl (Integer). Die Position des zurückzugebenen Feldes. Das erste Feld wird mit 1 zurückgegeben, das letzte mit einem Wert, der FieldCount entspricht. Ist das Argument außerhalb dieses Bereichs, wird eine leere Zeichenfolge zurückgegeben.