1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Inhalt leeren eines Listenfeld / Listbox @ VBA Access

Dieses Thema im Forum "Visual Basic 6.0, VBA & VBScript" wurde erstellt von Blaubmania, 19. Juli 2006.

  1. Blaubmania

    Blaubmania Erfahrenes Mitglied

    Hi,

    kurz und bündig, wie leere ich ein Listenfeld bzw. wie lösche ich den Inhalt?! Das ganze soll unter VBA Access funktionieren! und dann nochn bischen Code der zum füllen des Listenfeldes dient.

    Code (Visual Basic):
    1.  
    2. Private Sub txtsucher_GotFocus()
    3. Dim db As Database
    4. Dim r As Recordset
    5. Dim i As Integer
    6. Dim j As Integer
    7.  
    8. If Len(Me.txtsucher) > 2 Then
    9.     Set db = CurrentDb
    10.     Set r = db.OpenRecordset("Kunde", dbOpenDynaset)
    11.     Me.lstkunden.ColumnCount = 4
    12.     r.FindFirst "Nachname Like '" & Me.txtsucher & "*'"
    13.     Do While r.NoMatch = False
    14.         Me.lstkunden.AddItem r![Kunde-ID] & ";" & r![Nachname] & ";" & r![Vorname] & ";" & r![Gebaeude] & ";"
    15.         r.FindNext "Nachname Like '" & Me.txtsucher & "*'"
    16.     Loop
    17. End If
    18. End Sub
    19.  
  2. Nirraven

    Nirraven Erfahrenes Mitglied

    Aus der VBA Hilfe von Excel

  3. Blaubmania

    Blaubmania Erfahrenes Mitglied

    Thx nach ein bischen rumprobieren ahb iche s nun auch endlich hingekriegt der Abschluss sieht nun so aus

    Code (Visual Basic):
    1.  
    2. Private Sub txtsucher_GotFocus()
    3. Dim db As Database
    4. Dim r As Recordset
    5. Dim i As Integer
    6. Dim j As Integer
    7.  
    8. If Me.lstkunden.ListCount > 0 Then
    9.     i = 0
    10.     j = Me.lstkunden.ListCount - 1
    11.     Do Until i > j
    12.         Me.lstkunden.RemoveItem (j - i)
    13.         i = i + 1
    14.     Loop
    15. End If
    16.  
    17. If Len(Me.txtsucher) > 2 Then
    18.     Set db = CurrentDb
    19.     Set r = db.OpenRecordset("Kunde", dbOpenDynaset)
    20.     Me.lstkunden.ColumnCount = 4
    21.     r.FindFirst "Nachname Like '" & Me.txtsucher & "*'"
    22.     Do While r.NoMatch = False
    23.         Me.lstkunden.AddItem r![Kunde-ID] & ";" & r![Nachname] & ";" & r![Vorname] & ";" & r![Gebaeude] & ";"
    24.         r.FindNext "Nachname Like '" & Me.txtsucher & "*'"
    25.     Loop
    26. End If
    27. End Sub
    28.  
  4. deepthroat

    deepthroat Premium-User

    Hi.

    Ich weiß nicht ob das auch für VBA gilt, aber in VB kann man die Methode Clear auf eine ListBox bzw. ComboBox anwenden:
    Code (Visual Basic):
    1. listbox1.Clear
    Gruß
  5. Blaubmania

    Blaubmania Erfahrenes Mitglied

    Geht in VBA leider nicht oder zumindest ned bei Access habs auch in nem VBA Buch gelesen das man so alles löschen kann aber konnte Clear ned ansprechen.
  6. Nirraven

    Nirraven Erfahrenes Mitglied

    Die leichtesten Sachen überseh/vergesse ich immer :)

    Klar gibts clear.
    Ich sollte mehr mit Listboxen arbeiten.
  7. Blaubmania

    Blaubmania Erfahrenes Mitglied

    Ja geben schon aba wie kriegen?! wenn ich "Me.lstkunden." eingebe dann bietet er mir in de rListe aber kein Clear an sonst hätte ich es ja schon längst angewendet
  8. Nirraven

    Nirraven Erfahrenes Mitglied

    Ich korrigiere mich:

    cler ist eine Methode vom ListBox Steuerelement in VBA Excel.
    In VBA Access nicht.
    Also bleibt wohl nur RemoveItem
  9. Blaubmania

    Blaubmania Erfahrenes Mitglied

    Joar aba ist ja auch schnell gemacht mit na Schleife :)
  10. deepthroat

    deepthroat Premium-User

    Anscheinend wurde die Clear Methode aus VBA Access entfernt (in Access97 war sie wohl noch drin). Man kann's aber auch so machen:
    Code (Visual Basic):
    1. Listbox1.RowSource = vbEmptyString
    Gruß
    Zuletzt bearbeitet: 19. Juli 2006

Diese Seite empfehlen