Zum Hinzufügen von "(alle)" zu einem Kombinationsfeld oder ein Listenfeld-Steuerelement in einer Access 2000-Anwendung

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 210290 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Eine Microsoft Access 97-Version dieses Artikels finden Sie unter 128881.
Erweiterte: Erfordert Experten Codierung und Interoperabilität sowie Mehrbenutzerfähigkeiten.

Dieser Artikel bezieht sich ausschließlich auf eine Microsoft Access-Datenbank (.mdb).

Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel veranschaulicht ein Beispiel einer benutzerdefinierten Microsoft Visual Basic-Funktion erstellen, die AddAllToList() aufgerufen wird. In diesem Artikel veranschaulicht auch einer Union-Abfrage erstellen. Sie können die Funktion oder die Union-Abfrage verwenden, um "(alle)" als erste Zeile alle vorhandenen Kombinationsfeld- oder des Listenfeldes Steuerelements in einer Microsoft Access-Anwendung hinzufügen.

Die Beispielanwendung, Solutions9.mdb, kann von der folgenden Microsoft-Website:

Microsoft Access 2000: Erstellen von Anwendungen mit Formularen und Berichten
http://msdn.microsoft.com/en-us/library/aa188219.aspx
Die Beispielanwendung zeigt ein ähnliches Verfahren zum Hinzufügen von "(all)" zu einer Liste. Die Funktion AddAllToList() hat jedoch die folgenden Vorteile:
  • Die Funktion AddAllToList() funktioniert mit jedem vorhandenen Kombinationsfeldes oder Listenfeldes Feld Steuerelement.
  • Sie können angeben, in der Spalte "(alle)" angezeigt wird.
  • Sie können angeben, was Sie den optionalen Text soll. Beispielsweise können Sie "(all)" in "none" oder "nothing". ändern
  • Sie müssen den Code, um den optionalen Text ändern ändern.

Weitere Informationen

Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent. Dies umfasst, ist jedoch nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der Programmiersprache, die Programmierungsbeispiele ist und mit den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden vertraut sind. Microsoft Support-Technikern helfen Erläuterung die Funktionalität einer bestimmten Prozedur, Sie werden ändert jedoch nicht diese Beispiele bieten Funktionen hinzugefügt oder Verfahren, um Ihren Anforderungen entsprechend zu erstellen.

So erstellen Sie die Funktion AddAllToList()

Gehen Sie folgendermaßen vor, erstellen und das Beispiel benutzerdefinierte Visual Basic Funktion, AddAllToList() , zu verwenden:
  1. Start Microsoft Access und öffnen Sie dann das Beispiel-Datenbank Nordwind.mdb.
  2. Öffnen Sie jedes Formular, das ein Kombinationsfeld oder ein Listenfeld-Steuerelement in der Entwurfsansicht enthält.
  3. Klicken Sie im Ansicht auf Code , um das Formularmodul zu öffnen.
  4. Fügen Sie dem Modul den folgenden Code:
    Function AddAllToList (C As Control, ID As Long, Row As Long, _
    Col As Long, Code As Integer) As Variant
    
    '***************************************************************
    ' FUNCTION: AddAllToList()
    '
    ' PURPOSE:
    '   Adds "(all)" as the first row of a combo box or list box.
    '
    ' USAGE:
    '   1. Create a combo box or list box that displays the data you
    '      want.
    '
    '   2. Change the RowSourceType property from "Table/Query" to
    '      "AddAllToList."
    '
    '   3. Set the value of the combo box or list box's Tag property to
    '      the column number in which you want "(all)" to appear.
    '
    '   NOTE: Following the column number in the Tag property, you can
    '   enter a semicolon (;) and then any text you want to appear
    '   other than the default "all."
    '
    '         For example
    '
    '             Tag: 2;<None>
    '
    '         displays "<None>" in the second column of the list.
    '
    '***************************************************************
       Static DB As Database, RS As Recordset
       Static DISPLAYID As Long
       Static DISPLAYCOL As Integer
       Static DISPLAYTEXT As String
       Dim Semicolon As Integer
    
    On Error GoTo Err_AddAllToList
    
       Select Case Code
          Case LB_INITIALIZE
             ' See if the function is already in use.
             If DISPLAYID <> 0 Then
                MsgBox "AddAllToList is already in use by another Control!"
                AddAllToList = False
                Exit Function
             End If
    
             ' Parse the display column and display text from the Tag
             ' property.
             DISPLAYCOL = 1
             DISPLAYTEXT = "(All)"
             If Not IsNull(C.Tag) Then
                SemiColon = InStr(C.Tag, ";")
                If SemiColon = 0 Then
                   DISPLAYCOL = Val(C.Tag)
                Else
                   DISPLAYCOL = Val(Left(C.Tag, SemiColon - 1))
                   DISPLAYTEXT = Mid(C.Tag, SemiColon + 1)
                End If
             End If
    
             ' Open the recordset defined in the RowSource property.
             Set DB = DBEngine.Workspaces(0).Databases(0)
             Set RS = DB.OpenRecordset(C.RowSource, DB_OPEN_SNAPSHOT)
    
             ' Record and return the ID for this function.
             DISPLAYID = Timer
             AddAllToList = DISPLAYID
    
          Case LB_OPEN
             AddAllToList = DISPLAYID
    
          Case LB_GETROWCOUNT
             ' Return the number of rows in the recordset.
             RS.MoveLast
             AddAllToList = RS.RecordCount + 1
    
          Case LB_GETCOLUMNCOUNT
             ' Return the number of fields (columns) in the recordset.
             AddAllToList = RS.Fields.Count
    
          Case LB_GETCOLUMNWIDTH
             AddAllToList = -1
    
          Case LB_GETVALUE
             ' Are you requesting the first row?
             If Row = 0 Then
                ' Should the column display "(All)"?
                If Col = DISPLAYCOL - 1 Then
                   ' If so, return "(All)."
                   AddAllToList = DISPLAYTEXT
                Else
                   ' Otherwise, return NULL.
                   AddAllToList = Null
                End If
             Else
                ' Grab the record and field for the specified row/column.
                RS.MoveFirst
                RS.Move Row - 1
                AddAllToList = RS(Col)
             End If
          Case LB_END
             DISPLAYID = 0
             RS.Close
       End Select
    
    Bye_AddAllToList:
       Exit Function
    
    Err_AddAllToList:
       Beep: MsgBox Error$, 16, "AddAllToList"
       AddAllToList = False
       Resume Bye_AddAllToList
    End Function
    					
  5. Festlegen der Eigenschaften das Kombinations- oder Listenfeld nach den Anweisungen im Header-Funktion.

Verwendung von UNION Query-Methode

Das folgende Beispiel veranschaulicht die Verwendung der Union-Abfrage im Formular Employees in der Beispieldatenbank "Nordwind.mdb". Die Abfrage fügt "Alle" als erste Zeile der Vorgesetzte(r) Dropdown-Kombinationsfeldliste, damit Sie die Auswahl aufheben können, wenn Sie einen Manager für einen Mitarbeiter auswählen.

Vorsicht : Wenn Sie die in diesem Beispiel beschriebenen Schritte ausführen, ändern Sie die Beispieldatenbank Nordwind.mdb. Sie sollten daher eine Sicherungskopie der Datei "Nordwind.mdb" erstellen und diese Schritte in einer Kopie der Datenbank ausführen.

  1. Erstellen Sie eine neue Abfrage in der Entwurfsansicht.
  2. Schließen Sie das Dialogfeld Tabelle hinzufügen .
  3. Im Menü Abfrage Wählen Sie SQL-spezifisch und klicken Sie dann auf Union .
  4. Fügen Sie zu der Abfrage die folgende SQL-Anweisung:
    SELECT LastName & ", " & FirstName, EmployeeID FROM Employees UNION SELECT '(All)', null FROM Employees
    					
  5. Speichern Sie die Abfrage als EmpUnionAll , und schließen Sie dann die Abfrage.
  6. Öffnen Sie das Formular "Personal" in der Entwurfsansicht.
  7. Doppelklicken Sie auf das Kombinationsfeld Vorgesetzte(r) , um die Steuerelementeigenschaften anzuzeigen.
  8. Ändern Sie auf der Registerkarte Daten das Dialogfeld der Datensatzherkunft an die EmpUnionAll-Abfrage, der Sie soeben erstellt haben.
  9. Ändern der Eigenschaft Gebundene Spalte auf der Registerkarte Daten von 1 bis 2 .
  10. Ändern Sie die Spaltenbreite von 0 auf 2; 0 , auf der Registerkarte Format .
  11. Öffnen Sie das Formular in der Formularansicht.

    Beachten Sie, dass Sie jetzt "(alle)" aus der Liste des Kombinationsfelds auswählen können.

So verwenden Sie die Funktion AddAllToList()

Das folgende Beispiel veranschaulicht die Verwendung der Funktion AddAllToList() im Formular in der Beispieldatenbank "Nordwind.mdb". Die Funktion fügt "< Keine Verkaufsberater >" als erste Zeile von der Verkäufer Kombinationsfeld im Feld Dropdown-Liste war so, dass Sie die Auswahl aufheben können, wenn Sie einen Verkäufer für eine Bestellung in der Verkäufer keine auswählen beteiligt.

Vorsicht : Wenn Sie die in diesem Beispiel beschriebenen Schritte ausführen, ändern Sie die Beispieldatenbank Nordwind.mdb. Sie sollten daher eine Sicherungskopie der Datei "Nordwind.mdb" erstellen und diese Schritte in einer Kopie der Datenbank ausführen.

  1. Start Microsoft Access und öffnen Sie dann das Beispiel-Datenbank Nordwind.mdb.
  2. Öffnen Sie das Formular "Bestellungen" in der Entwurfsansicht, und klicken Sie dann auf das Menü Ansicht auf Code .
  3. Kopieren Sie die AddAllToList() -Funktion, die Sie im Abschnitt "die Funktion AddAllToList() erstellen" erstellt haben, und fügen Sie dann in Modul des Formulars. Müssen Sie unbedingt alle Unterstrich-Zeichen zu entfernen.
  4. Kompilieren Sie die geladenen Module überprüft, ob Sie die Funktion korrekt eingegeben haben, und schließen Sie das Codefenster.
  5. Legen Sie die folgenden Eigenschaften für das Kombinationsfeld Verkaufsberater im Steuerelement:
    RowSourceType: AddAllToList
    Tag: 2;<No Salesperson>
    					
  6. Zeigen Sie das Orders-Formular in der Formularansicht. Beachten Sie, dass der ersten Zeile der Dropdown-Kombinationsfeldliste "< Keine Verkaufsberater >" angezeigt wird.

Informationsquellen

Weitere Informationen über Kombinationsfelder, im Menü Hilfe auf Microsoft Access-Hilfe klicken, geben Sie Kombinationsfelder: Was sind und deren Funktionsweise zurückgegeben, in den Office- oder Antwort-Assistenten, und klicken Sie dann auf Suchen , um die entsprechenden Themen anzuzeigen.

Um Informationen, Anweisungen und Beispiele in der Beispielanwendung zu suchen (Solutions9.mdb) der folgenden Microsoft-Website:
Microsoft Access 2000: Erstellen von Anwendungen mit Formularen und Berichten http://msdn.microsoft.com/en-us/library/aa188214(office.10).aspx
Gehen Sie folgendermaßen vor Weitere Informationen zum Hinzufügen von "(all)" zu einem Kombinationsfeld oder Listenfeld
  1. Öffnen Sie die Datenbank Solutions9.mdb.
  2. Klicken Sie im Wählen Sie eine Kategorie von Beispiele mit Kombinationsfelder, Listenfelder, Unterformulare und Unterberichte .
  3. Klicken Sie im Beispiel auswählen klicken Sie auf (alle) hinzufügen, um eine Liste , und klicken Sie dann auf OK .

Eigenschaften

Artikel-ID: 210290 - Geändert am: Donnerstag, 23. Juni 2005 - Version: 3.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Access 2000 Standard Edition
Keywords: 
kbmt kbfunctions kbhowto kbinfo kbusage KB210290 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 210290
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com