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

    deepthroat Erfahrenes Mitglied

    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 Erfahrenes Mitglied

    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