Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Das ewige Listenfeld Mehrfachauswahl aufrufen
zurück: Textfelder aufklick erstellen weiter: Übernahme einer Eingabe in ein Unterformular Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
sebastian01
Gast


Verfasst am:
04. Apr 2007, 11:06
Rufname:

Das ewige Listenfeld Mehrfachauswahl aufrufen - Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

Hallo Miteinandern,

folgendes Problem:

Ich bin gerade an einer kleinen Adressdatenbank, in der ich in einem Listenfeld mit mehrfachauswahl speichern möchte, wer für den eingetragenen Kunden verantwortlich ist.
Das speichern der jeweiligen Personen ist kein Problem, das habe ich mit
Code:
Private Sub list_kontakt_Click()
    Dim i As Variant
    Dim Auswahl As String

    Auswahl = ""
    For Each i In Me!list_kontakt.ItemsSelected
        If Auswahl = "" Then
            Auswahl = Nz(Me!list_kontakt.Column(0, i), "")
          Else
            Auswahl = Auswahl & "; " & Nz(Me!list_kontakt.Column(0, i), "")
        End If
    Next i
    Me!Kontakt = Auswahl
End Sub
gelöst, nur wie schaffe ich es, dass wenn ich den Adressbucheintrag wieder aufrufe, die vorher in die Stammdaten (unter Kontakt)gespeicherten Personen, in der Listbox markiert darzustellen?

Danke schonmal,

Gruß
Sebastian
Thomas2007
langsam gehts besser... , SQL/DB gut


Verfasst am:
04. Apr 2007, 13:20
Rufname:


AW: Das ewige Listenfeld Mehrfachauswahl aufrufen - AW: Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

Hallo Sebastian,

entweder änderst du die Struktur deiner DB dahingehend, daß du eine m:n Beziehung zwischen Kunde:Personal aufbaust und nicht alle Kundenbetreuer pro Kunde in einem Textfeld abspeicherst.
Dann holst du die Datensatzmenge für das Listenfeld aus der LEFT JOIN Personal und Kunde_Personal Tabelle.

Dann kannst du per VBA eine Schleife auf das Listenfeld laufen lassen und prüfen (anhand von einem JOIN-Ergebnis Feld), ob der aktuelle Listenfeldeintrag für den aktuellen Kunden selektiert werden soll oder nicht.

Beispiel:
Code:
Private Sub Form_Current()
    Dim Markieren As Boolean
   
    For i = 0 To Me!Liste0.ListCount - 1
        Markieren = Eval(Me!Liste0.Column(2, i)) = Me![Kategorie-Nr]
        Me!Liste0.Selected(i) = Markieren
    Next i
End Sub
Oder
lasse eine Schleife über das Listenfeld laufen und suche jeden eintrag aus dem Listenfeld in dem Textfeld mit Namen.

Beispiel:
Code:
Private Sub cmdOK_Click()
    Dim Markieren As Boolean
   
    If Me!txtArtikelNr <> "" Then
        For i = 0 To Me!Liste0.ListCount - 1
            Markieren = InStr(1, Me!txtArtikelNr, ";" & _
                              Eval(Me!Liste0.Column(0, i)) & ";", _
                              vbTextCompare) > 0
            Me!Liste0.Selected(i) = Markieren
        Next i
    End If
End Sub
Ich hänge noch ein fertiges Beispiel an. Schau mal, ob es was für dich ist.
_________________
Gruß
Thomas

Anleitung für das Anhängen von Dateien: Klicke links auf [www]



ListenfeldAuswahl.zip
 Beschreibung:

Download
 Dateiname:  ListenfeldAuswahl.zip
 Dateigröße:  21.71 KB
 Heruntergeladen:  28 mal

Sebastian01
Gast


Verfasst am:
04. Apr 2007, 14:01
Rufname:

AW: Das ewige Listenfeld Mehrfachauswahl aufrufen - AW: Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

Hallo Thomas,

erstmal Vielen Dank!

Habe mich vorerst für die zweite Version entschieden, jedoch findet er dann nichts ( Fehlermeldung :" MS Access kann den Namen "xxx" nicht finden")

Code müsste richtig angepasst sein
Code:
    Dim Markieren As Boolean
   
    If Kontakt <> "" Then
        For i = 0 To Me!list_kontakt.ListCount - 1
            Markieren = InStr(1, Kontakt, ";" & _
                              Eval(Me!list_kontakt.Column(0, i)) & ";", _
                              vbTextCompare) > 0
            Me!list_kontakt.Selected(i) = Markieren
        Next i
    End If
Kontakt = Spalte in der Stammdatentabelle in der Namen gespeichert werden
list_kontakt = mein Listfeld


wo könnte der Fehler liegen?
Danke!
Thomas2007
langsam gehts besser... , SQL/DB gut


Verfasst am:
04. Apr 2007, 14:10
Rufname:

AW: Das ewige Listenfeld Mehrfachauswahl aufrufen - AW: Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

Hallo Sebastian,

an welcher Stelle des Codes kommt die Fehlermeldung? Das liegt sicherlich daran, daß du Text ohne Anführungszeichen übergibst und so denkt Access es handelt sich um ein Objektname.

Wie sieht der Text im Feld Kontakt und in list_Konatk in der Spalte 0 aus?

_________________
Gruß
Thomas

Anleitung für das Anhängen von Dateien: Klicke links auf [www]
Sebastian01
Gast


Verfasst am:
04. Apr 2007, 14:15
Rufname:


AW: Das ewige Listenfeld Mehrfachauswahl aufrufen - AW: Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

also an welcher Stelle die Fehlermeldung kommt weiss ich nicht genau, da ich nicht Debuggen kann, oder zumindest nicht weiss wie ich herausbekomme wo der Fehler auftritt Crying or Very sad

Also im Feld Kontakt steht z.b.

name1; name2; name3;

diese namen werden auch so im Datensatz gespeichert.

Im Listenfeld stehen die Namen nochmals ( kommen von einer Tabelle ohne Primärschlüssel etc, )
also

name1
name2
name3
name4
name5


Kann es daran liegen dass die Namen durch ";" getrennt werden?
Thomas2007
langsam gehts besser... , SQL/DB gut


Verfasst am:
04. Apr 2007, 14:41
Rufname:

AW: Das ewige Listenfeld Mehrfachauswahl aufrufen - AW: Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

Hallo Sebastian,

setze doch am Anfang des Codes einen Haltepunkt (F9), dann versuch es nochmal. Nun kannst du mit F8 schrittweise debuggen.

Kannst du ein echtes Beispiel geben - denn ich sehe kein "xxx" in der Namensliste, was in der Fehlermeldung steht - oder hast du die Fehlermeldung selber gebastelt?

Es liegt definitiv nicht an den Semikolons, aber da musst du drauf achten, wie der Suchname im Code zusammengesetzt wird, genauso mußt du es auch im Kontaktfeld eingeben!

Wenn alles nicht hilft, lade doch bitte deine fehlerhafte Datenbank mit einigen Beispieldaten hoch, dann sehen wir weiter.

_________________
Gruß
Thomas

Anleitung für das Anhängen von Dateien: Klicke links auf [www]
Sebastian01
Gast


Verfasst am:
04. Apr 2007, 14:52
Rufname:

AW: Das ewige Listenfeld Mehrfachauswahl aufrufen - AW: Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

Code:
    If Me!kontakt_test <> "" Then
        For i = 0 To Me!list_kontakt.ListCount - 1
            Markieren = InStr(1, kontakt_test, ";" & _
                                 Eval(Me!list_kontakt.Column(0, i)) & ";", _
                              vbTextCompare) > 0
durch den Haltepunkt und mit dem Einzelschritt werden die drei Zeilen angezeigt.

Also, ich habe eine Tabelle (tb05 Kontakt) in der nur eine Spalte (Kontakt) vorhanden ist, darin enthalten :

hdh_bgn
hdh_mlm
hdh_chbr
RHa

(kurzzeichen von Personen)

die Listbox (list_kontakt)enthält die Daten der tb05 Kontakt.

Die Werte von list_kontakt werden in der tabelle (tb01 Stammdaten)(Kontakt)
gespeichert.

Das Feld kontakt_test gibt / gab mir lediglich wieder, ob die Namen in den Datensätzen gespeichert wurden.

Führe ich dann den Code
Code:
    If Me!kontakt_test <> "" Then
        For i = 0 To Me!list_kontakt.ListCount - 1
            Markieren = InStr(1, kontakt_test, ";" & _
                                 Eval(Me!list_kontakt.Column(0, i)) & ";", _
                              vbTextCompare) > 0
            Me!list_kontakt.Selected(i) = Markieren
        Next i
    End If
aus, kommt die Fehlermeldung dass er den eingegebenen Namen "hdh_bgn" (erster in meiner liste) nicht finden kann.

Verstehe leider nicht genug von Access um dir weitere Beispiele / Fehler zu posten.
Thomas2007
langsam gehts besser... , SQL/DB gut


Verfasst am:
04. Apr 2007, 14:56
Rufname:

AW: Das ewige Listenfeld Mehrfachauswahl aufrufen - AW: Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

Hallo Sebastian,

im Moment verstehe ich es auch nicht so ganz Wink

Wenn du aber wie gesagt eine Beispieldatei hochlädst, dann kann ich es mir direkt anschauen und dir evtl. schneller eine gescheide Antwort geben.

_________________
Gruß
Thomas

Anleitung für das Anhängen von Dateien: Klicke links auf [www]
Sebastian01
Gast


Verfasst am:
04. Apr 2007, 14:58
Rufname:

AW: Das ewige Listenfeld Mehrfachauswahl aufrufen - AW: Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

Was mir gerade noch auffällt, ich kann keine Einzelselektion mehr machen in meiner Listbox, nur noch zusammenhängende Werte also

entweder

hdh_bgn allein
oder
hdh_bgn + hdh_mlm
oder
hdh_bgn + hdh_mlm + hdh_chbr
Thomas2007
langsam gehts besser... , SQL/DB gut


Verfasst am:
04. Apr 2007, 15:19
Rufname:


AW: Das ewige Listenfeld Mehrfachauswahl aufrufen - AW: Das ewige Listenfeld Mehrfachauswahl aufrufen

Nach oben
       Version: Office XP (2002)

Hallo Sebastian,

gut, daß du es erwähnt hast, denn das habe ich vergessen zu schreiben.
Die Eigenschaft Mehrfachauswahl (Eigenschaftsfenster-Register andere) des Listenbox muss auf Einzeln eingestellt werden!

Aber das Problem hängt nicht damit zusammen - also ohne Beispieldatenbank kann ich leider nichts mehr machen.

_________________
Gruß
Thomas

Anleitung für das Anhängen von Dateien: Klicke links auf [www]
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: überschrift in listenfeld mit daten aus eine abfrage 4 lucky0815 2949 15. Okt 2008, 16:15
lucky0815 überschrift in listenfeld mit daten aus eine abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen nach letztem Datum erstellen mit Listenfeld ? 19 Topotec 1324 25. Sep 2008, 13:36
Topotec Abfragen nach letztem Datum erstellen mit Listenfeld ?
Keine neuen Beiträge Access Tabellen & Abfragen: 2. Formular mit gewählter ArtikelNr aufrufen 10 Bube204 375 10. Sep 2008, 09:14
Bube204 2. Formular mit gewählter ArtikelNr aufrufen
Keine neuen Beiträge Access Tabellen & Abfragen: Im Kombifeld eine andere Spalte aufrufen 4 ArtGee 281 01. Apr 2008, 21:26
ArtGee Im Kombifeld eine andere Spalte aufrufen
Keine neuen Beiträge Access Tabellen & Abfragen: Listenfeld leeren 4 moresignthentyps 2240 20. Feb 2008, 17:23
Nouba Listenfeld leeren
Keine neuen Beiträge Access Tabellen & Abfragen: Summe von den Optionen im Listenfeld 4 Disastro 491 22. Jan 2008, 08:08
jens05 Summe von den Optionen im Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: requery listenfeld 6 max112 1228 02. Dez 2007, 22:46
KlausMz requery listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Filter im Listenfeld aus Abfrage 1 hansemann2510 687 23. Aug 2007, 21:22
hansemann2510 Filter im Listenfeld aus Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage in einem Listenfeld ausgeben! 3 Kyale 514 21. Aug 2007, 17:30
rita2008 Abfrage in einem Listenfeld ausgeben!
Keine neuen Beiträge Access Tabellen & Abfragen: Größer Kleiner-wert- Abfrage in Listenfeld einbauen 4 toxicman 1708 24. Jun 2007, 19:26
toxicman Größer Kleiner-wert- Abfrage in Listenfeld einbauen
Keine neuen Beiträge Access Tabellen & Abfragen: abhängiges Listenfeld 1 access_anfaenger 797 13. Jun 2007, 14:03
blicki abhängiges Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Listenfeld - Summe der dritten Spalte gesucht 2 Klausi 1537 28. Jan 2007, 20:28
Gast Listenfeld - Summe der dritten Spalte gesucht
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks