Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Mehrfachauswahl bei Listenfeld
Gehe zu Seite 1, 2  Weiter
zurück: Formular erst mit neuem DS öffnen, wenn Bedingung erfüllt weiter: Via Button Textfeld aus Feldliste Anzeigen ansonsten nicht 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
Disastro
Einsteiger Programmierer


Verfasst am:
13. Feb 2008, 10:34
Rufname:

Mehrfachauswahl bei Listenfeld - Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Hi all,

Habe ein Problem mit der Mehrfachauswahl aus einem Listenfeld. Mein Formular sieht folgendermassen aus:

Datum / Name (Datenherkunft andere Tabelle) / Anwesend (Ja/Nein)

Beim Namen handelt es sich um ein Listenfeld. Wenn ich eine Einzel Auswahl betätige wird der Name auch in die Tabelle geschrieben. Sobald ich aber auf Mehrfachauswahl ändere und mehrere Namen
anklicke funktioniert das nicht. Ich brauche aber genau das, da ich nicht möchte, dass jedes Mal der Name einzeln angewählt werden muss. Kann mir jemand von euch ein Input geben?

Gruss
Disastro
Marmeladenglas
komme zurecht


Verfasst am:
13. Feb 2008, 14:03
Rufname:


AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Eine Mehrfachselect ist anders zu behandeln als eine Einzel-Select.
D.h. du mußt .SelectedItems über eine Schleife auslesen und das in deinen Abfragestring einbauen.
Code:
    Dim varSelectedItem As Variant
   
    With Forms!DeinFormular![list]
        For Each varSelectedItem In .SelectedItems
            '-> hier baust du deine Sql-Anweisung zusammen
        Next varSelectedItem
    End With

Zu einem ähnlichen Problem hatte ich mal einen Beitrag mit BeispielDB verfasst, schau da mal nach ob dir das hilft
Abfrage-Kriterien über ein Listenfeld
Disastro
Einsteiger Programmierer


Verfasst am:
29. Feb 2008, 11:35
Rufname:

AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Hi all,

Die Zeit vergeht und ich hatte leider die Zeit nicht mehr gehabt, mich mit diesem Thema zu beschäftigen. Leider habe ich nicht verstanden wo ich das ganze einbauen muss. Kann mir das vielleicht jemand erklären?

Danke und Gruss
Disastro
Willi Wipp
Moderator


Verfasst am:
29. Feb 2008, 13:53
Rufname:
Wohnort: Raum Wiesbaden

Re: Mehrfachauswahl bei Listenfeld - Re: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Hi Disastro,

hast Du Dir die Beispiel-DB list.rar von Marmeladenglas bzw. meine Version List1.zip mal angeschaut?

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Disastro
Einsteiger Programmierer


Verfasst am:
04. März 2008, 10:12
Rufname:


AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Hi all,

Nun habe ich es hingekriegt, dass ich eine Mehrfachauswahl machen kann. Leider wird aber diese Auswahl nicht gespeichert. Was muss ich beachten? Muss ich es manuell über Insert Into machen?
Wenn ja, hat mir jemand einen Anhaltspunkt?

Hier noch meinen CODE für die Mehrfachauswahl:
Code:
Private Sub Name_Anwesenheit_AfterUpdate()
    Dim i As Variant
    Dim Auswahl As String
    Dim strField As String
    Dim strSQL As String
   
    strField = "[Name] = "
    strSQL = "SELECT * FROM Anwesenheitsliste WHERE "
    Auswahl = ""
    For Each i In Me!Name_Anwesenheit.ItemsSelected
        Auswahl = Auswahl & " OR " & _
                  strField & "'" & Me!Name_Anwesenheit.Column(0, i) & "'"
    Next i
    If Auswahl <> "" Then Auswahl = Mid$(Auswahl, 5)
End Sub

Gruss
Disastro
Willi Wipp
Moderator


Verfasst am:
04. März 2008, 14:29
Rufname:
Wohnort: Raum Wiesbaden

Re: Mehrfachauswahl bei Listenfeld (II) - Re: Mehrfachauswahl bei Listenfeld (II)

Nach oben
       Version: Office 2003

Hi Disastro,

ich wuerde dafuer eine Extra-Befehlsschaltflaeche verwenden.
Die Variable koenntest Du als WHERE-Klausel eine INSERT INTO Abfrage verwenden.
Du solltest Dir aber auch ueberlegen wie Du dann wieder abgewaehte DS entfernst, bzw. die Auswahl aktualisierst!
Ich loese sowas lieber mit einem Unterformular wie etwa im Beispiel LieferungenNeu_Planwerte.zip

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Disastro
Einsteiger Programmierer


Verfasst am:
11. März 2008, 17:48
Rufname:

AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Hi all,

So habe es mal mit einem Insert versucht.

Tabelle: tblAnwesenheitliste
Felder: TrainnigID (autoincr.), Name(Memo), Datum (Datum), Anwesend (ja/nein)
Formularnamen: Datum, Name, Name_Anwesenheit

Und hier mein Code:
Code:
Private Sub saveanwesenheit_Click()
    DoCmd.RunSQL "INSERT INTO tblAnwesenheitliste " & _
                        "(Datum, Name, Anwesend) " & _
                 "VALUES ('Datum','Name_Anwesenheit','Anwesend')", _
                 dbFailOnError
End Sub
Das Datum wird gar nicht geschrieben. Beim Namen wird Name_Anwesenheit geschrieben und bei Anwesend kein Hacken wie es eigentlich sein sollte.

Was mache ich falsch?

Gruss
Disastro
Marmeladenglas
komme zurecht


Verfasst am:
11. März 2008, 21:07
Rufname:

AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Probiers mal so:
Code:
    strSQL = "INSERT INTO tblAnwesenheitliste " & _
                    "(Datum, Name, Anwesend) " & _
             "VALUES (#" & Format(Datum, "mm-dd-yyyy") & "#, " & _
                     "'" & Name_Anwesenheit & "'," & Anwesend & ")"
    CurrentDb.Execute strSQL, 128
Und wie schon sooft betont hier: Name als Feldname ist eine schlechte Wahl!!

Zuletzt bearbeitet von Marmeladenglas am 12. März 2008, 11:16, insgesamt einmal bearbeitet
Disastro
Einsteiger Programmierer


Verfasst am:
11. März 2008, 22:53
Rufname:

AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Hi,

Danke für deinen Vorschlag. Jetzt wird alles bis auf die ausgewählten Namen eingefügt. An was könnte es liegen? Natürlich möchte ich mehrere Namen auwählen und einfügen können. Das Auswählen klappt ganz gut.

Gruss
Disastro
Willi Wipp
Moderator


Verfasst am:
12. März 2008, 02:21
Rufname:
Wohnort: Raum Wiesbaden

Re: Mehrfachauswahl bei Listenfeld (III) - Re: Mehrfachauswahl bei Listenfeld (III)

Nach oben
       Version: Office 2003

Hi Disastro,

hast Du Dir das Beispiel mal angeschaut? Was hat Dir daran nicht gefallen?
Wenn Du es ueber die einzelnen Anfuege-Abfragen (INSERT INTO) loesen willst, d.h mit VALUES, dann gehoert der Code in die Schleife.
Ansonsten kannst Du es ueber eine Loesch-Abfrage (falls noetig) und eine Anfuege-Abfrage mit SELECT loesen.
Code:
    strSQL = "INSERT INTO tblAnwesenheitliste " & _
                    "(Datum, Name, Anwesend) " & _
             "SELECT #" & Format(Datum, "mm-dd-yyyy") & "# AS Datum, " & _
                    "[Name], True AS Anwesend " & _
               "FROM tblDeineNamenstabelle " & _
              "WHERE " & Auswahl
    CurrentDb.Execute strSQL, 128
Die Variable Auswahl stammt aus dem obigen Code den Du auch benoetigst um die WHERE-Klausel zusammenzusetzen.
_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Disastro
Einsteiger Programmierer


Verfasst am:
12. März 2008, 09:28
Rufname:

AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Hi,

Ich habe gedacht, dass es die einfachere Art sein könnte. Ist das nicht so?
Code:
Private Sub saveanwesenheit_Click()
    strSql = "INSERT INTO tblAnwesenheitliste " & _
                    "(Datum, Name, Anwesend) " & _
             "SELECT #" & Format(Datum, "mm-dd-yyyy") & "# AS Datum, " & _
                    "[Name], True AS Anwesend " & _
               "FROM tblMannschaftsliste " & _
              "WHERE " & Auswahl
    CurrentDb.Execute strSql, 128
End Sub
Bei deinem Code will Access folgende Zeile debuggen:
Code:
    CurrentDb.Execute strSql, 128
Was bewirken überhaupt folgende Symbolen im Code & _ ?

Nun weiss ich nicht mehr weiter. Das Problem ist noch immer der Namen der nicht eingefügt wird.

Gruss
Disastro
Marmeladenglas
komme zurecht


Verfasst am:
12. März 2008, 10:13
Rufname:

AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Hi,
die Kombination dieser Zeichen ( & _) verbindet 2 Zeilen miteinander, also Ziel ist bessere Lesbarkeit.
Ansonsten benutzt man die &-Zeichen zum Übergeben von Wertinhalten bzw. um Teile von Audrücken zu verknüpfen(dein Fehler in deinem Ursprungscode, du hattest lediglich die Feldnamen als String drinstehen ohne deren Inhalte zu übergeben.)
Bzgl. currentdb.execute: Was übergibst du in & Auswahl ?
Hast du den Hinweis von Willi beachtet, dass der Code ganz oben, der "Auswahl" festlegt zu dem Beispiel dazu gehört ?
Dass dein "Name" nicht eingefügt wird, liegt sicherlich nicht "mehr" am Code.
Das Name als Feldname problematisch ist , wurde schon mehrfach angemerkt.
Name ist ein reserviertes Wort und bezeichnet eine Objekteigenschaft.
Disastro
Einsteiger Programmierer


Verfasst am:
19. März 2008, 12:04
Rufname:

AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Hi all,

Ich muss ehrlich gestehen, dass ich nicht weiter komme. Kann mir evtl. jemand einen Beispiel basteln? Ich bin leider aus den Beispielen nicht schlau geworden. Den Name habe ich überigens auf Spielernamen umbenannt.

Gruss
Disastro
Marmeladenglas
komme zurecht


Verfasst am:
19. März 2008, 13:18
Rufname:

AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

kannst du mal deine Version hochladen ?
Bzw. hast du den Hinweis von Willi beachtet, dass Auswahl vorher gefüllt werden muß ?
Code:
Private Sub saveanwesenheit_Click()
    Dim i As Variant
    Dim Auswahl As String
    Dim strField As String
    Dim strSQL As String

    strField = "[Name] = "
    Auswahl = ""
       
    For Each i In Me!Name_Anwesenheit.ItemsSelected
        Auswahl = Auswahl & " OR " & _
                  strField & "'" & Me!Name_Anwesenheit.Column(0, i) & "'"
    Next i
    If Auswahl <> "" Then Auswahl = Mid$(Auswahl, 5)
    strSQL = "INSERT INTO tblAnwesenheitliste " & _
                    "(Datum, Name, Anwesend) " & _
             "SELECT #" & Format(Datum, "mm-dd-yyyy") & "# AS Datum, " & _
                    "[Name], True AS Anwesend " & _
               "FROM tblMannschaftsliste " & _
              "WHERE " & Auswahl
    CurrentDb.Execute strSQL, 128
End Sub
Also ungetestet, müßte dein Code etwa so aussehen! Hab das aus den vorherigen Beiträgen zusammenkopiert

Zuletzt bearbeitet von Marmeladenglas am 19. März 2008, 13:59, insgesamt einmal bearbeitet
Disastro
Einsteiger Programmierer


Verfasst am:
19. März 2008, 13:39
Rufname:


AW: Mehrfachauswahl bei Listenfeld - AW: Mehrfachauswahl bei Listenfeld

Nach oben
       Version: Office 2003

Yep habe ich...so wie ich mich kenne, habe ich bestimmt etwas falsches gemacht oder vergessen. Sad

Die DB habe ich nun hochgeladen. Bin gespannt! Danke im Voraus für euren Einsatz!!!

Gruss
Disastro



forum.zip
 Beschreibung:

Download
 Dateiname:  forum.zip
 Dateigröße:  233.43 KB
 Heruntergeladen:  47 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
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: Anfügabfrage/Listenfeld 6 Patrick_gast 385 21. Dez 2009, 09:54
Patrick_Gast Anfügabfrage/Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Listenfeld mit Mehrfachauswahl 13 Gast091109 687 10. Nov 2009, 16:41
Gast091109 Listenfeld mit Mehrfachauswahl
Keine neuen Beiträge Access Tabellen & Abfragen: Verknüpfung Tabellen / Feld mit Mehrfachauswahl 2 PeterD 305 10. Sep 2009, 16:34
PeterD Verknüpfung Tabellen / Feld mit Mehrfachauswahl
Keine neuen Beiträge Access Tabellen & Abfragen: Zeitraum per Listenfeld abfragen 4 bobby-k 483 07. Apr 2009, 17:56
Willi Wipp Zeitraum per Listenfeld abfragen
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: Mehrfachauswahl aus Listenfeld in Abfrage darstellen 15 sternpfeifer 6415 13. Aug 2008, 15:13
Willi Wipp Mehrfachauswahl aus Listenfeld in Abfrage darstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit Mehrfachauswahl im Listenfeld 56 Ipekak_ 4662 12. Aug 2008, 02:36
Willi Wipp Abfrage mit Mehrfachauswahl im Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Summe von den Optionen im Listenfeld 4 Disastro 490 22. Jan 2008, 08:08
jens05 Summe von den Optionen im Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage starten vom Listenfeld 3 JoSCh1 780 19. Okt 2007, 14:22
Willi Wipp Abfrage starten vom Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Filter im Listenfeld aus Abfrage 1 hansemann2510 686 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 513 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 1707 24. Jun 2007, 19:26
toxicman Größer Kleiner-wert- Abfrage in Listenfeld einbauen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editor Forum