Office: (Office 2007) Mehrfachauswahl über ein Listenfeld

Helfe beim Thema Mehrfachauswahl über ein Listenfeld in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Och Menno, jetzt wollte ich unbedingt mein zweites Sternchen *frown.gif* Danke erstmal für die Ganze Hilfe. Was ich nicht ganz verstehe ist die... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Dunjelz, 10. November 2012.

  1. Mehrfachauswahl über ein Listenfeld


    Och Menno, jetzt wollte ich unbedingt mein zweites Sternchen *frown.gif*

    Danke erstmal für die Ganze Hilfe.

    Was ich nicht ganz verstehe ist die Anweisung.

    CurrentDb.QueryDefs("A_EADM").SQL = "Select * From T_Kundendaten Where Maschine IN (" & str & ")"
    DoCmd.OpenForm "F_EADM"

    Was macht die? Und wo muss ich die einsetzen?

    Gruß

    Daniel
     
  2. CurrentDb.QueryDefs... : Die Abfrage A_EADM wird neugeschrieben. Sie erhält eine SQL, die alle Felder derjenigen Sätze aus T_Kundendaten zeigt, bei denen das Feld Maschine einen der Werte enthält, die in der Variable str aufgeführt sind,

    DoCmd.OpenForm "F_EADM"Das Formular F_EADM wird geöffnet.
     
    Atrus2711, 12. November 2012
    #17
  3. Ah ich verstehe.
    Nun scheint Access aber nicht in der Lage zu sein (Oder vllt auch ich) die Abfrage neu zu schreiben.
    Es kommt die Meldung fehlender Operator, das ist mir soweit klar weil dann halt noch ein ' fehlt. Wenn ich dieses dann per Hand setze gibt er mir aber dennoch nix aus. Selbst wenn ich nur einen Wert wähle.
    Wenn ich dann bei einem Wert die ' entferne funktioniert das für diesen einen Wert. Bei zwei Werten krieg ich weiterhin nix ausgegeben.
    Das Ergebnis im Textfeld sieht wie folgt aus
    'AB1','AB2','AB3'
    So bekomme ich keine Ergebnisse ausgegeben.
    Bei folgenden Werten im Textfeld krieg ich das richtige Ergebnis (Für einen Wert)
    AB1
    Bei zwei Werten
    AB1, AB2
    bekomme ich gar nix

    Gruß

    Daniel
     
  4. Mehrfachauswahl über ein Listenfeld

    Hast du denn ein Feld namens "Maschine" in deiner T_Kundendaten?
    Und poste doch mal deinen kompletten Code.
    maike
     
  5. Code:
    Private Sub Liste21_AfterUpdate()

    Dim var As Variant
    Dim str As String

    For Each var In Me.Liste21.ItemsSelected
    str = str & "','" & Me.Liste21.ItemData(var) & "'"
    Next var
    Me.Maschine = str

    Me.Maschine = Mid(str, 3)

    CurrentDb.QueryDefs("A_EADM").SQL = "Select * From T_Kundendaten Where Maschine IN (" & str & ")"
    DoCmd.OpenForm "F_EADM"

    End Sub

    EDIT: Ich krieg das nicht hin mit den Tags setzen (Hab es mit "tag" "/tag" in Spitzklammern probiert)
     
  6. Hi Daniel.
    Im Fenster, in dem Du das, was hier zu lesen ist, schreibst, gibt es ein paar Symbol-Schaltflächen (drüber steht "Nachricht:").
    Der zweite Knopf von rechts ist für die Codes ...
     
    hcscherzer, 13. November 2012
    #21
  7. Wie ist denn die entstehde SQL der Abfrage?
     
    Atrus2711, 13. November 2012
    #22
  8. Mehrfachauswahl über ein Listenfeld

    Ok Danke. Muss nur sehr wahrscheinlich Java-Skript zulassen, da ich da nix anklicken kann.

    Die SQL-Abfrage scheint in soweit zu funktionieren da ich ja Werte kriege.
    Sie wird auch richtig überschrieben da nun folgendes drins steht.

    SELECT *
    FROM T_Kundendaten
    WHERE Maschine IN ();

    Gruß

    Daniel
     
  9. Du siehst aber, dass die IN-Klammer keine Werte zeigt. Da müsste doch die letzte getroffene Auswahl des Listenfelds stehen!
    Setz mal bei dem For einen Haltepunkt (F9) und geh dann die Schleife mal durch (F8). Du kannst die Inhalte aller Variablen durch Draufzeigen mit der Maus sehen; komfortabler ist eine Überwachung (rechter Mausklick, "Überwachung). Und dann VBA mal bei der Arbeit zugucken. Irgendwo ist der Wurm!
     
    Atrus2711, 13. November 2012
    #24
  10. Ich denke, den Wurm haben wir hier schon verhaftet:
    Code:
    jedenfalls teilweise.
    maike
     
  11. Hi, Code:
    das sind ja jetzt auch zu viele Hochkommata, ich hatte es dir doch richtig vorgemacht, warum änderst du das, ohne zu wissen was du tust?

    Und dann: Code:
    Schau dir die Tools (Buttons) über dem Antworten-Fenster an.
     
    Anne Berg, 13. November 2012
    #26
  12. Das da keine Werte drin stehen, liegt daran das bei der Auswahl eines Wertes die Melung kommt:
    Laufzeitfehler 3075:
    Syntaxfehler (fehlender Operator) in Abfrageausdruck 'Maschine IN (',1')'

    Hier scheint Access das egel zu sein das ich mit Mid(3) das ', entferne.

    Gruß

    Daniel
     
  13. Mehrfachauswahl über ein Listenfeld

    Guck dir meinen Beitrag #25 an:
    Access ist das nicht egal, du entfernst aber nix, bzw. falsch, nämlich nicht aus str sondern aus Me.Maschine.
    maike
     
  14. ...oder besser #26, da siehst du wie es richtig gemacht wird. *wink.gif*

    Und entscheide dich mal, ob das Datenfeld nun vom Typ Text oder Zahl ist.
     
    Anne Berg, 13. November 2012
    #29
  15. Hallo,
    also das mit den Zahlen oder Buchstaben, liegt daran das ich Test-DS als Zahlen drin habe und schon richtige Daten als Buchstaben.
    Entscheide mich für die Buchstaben *Smilie

    Nach reichlichem testen, sieht es jetzt wie folgt aus.
    Ich wähle ein Kriterium (Buchstaben) aus welches mit ' in das Textfeld übergeben wird und er öffnet mir direkt das neue Formular und zeigt mir keine Werte an. Nehme ich aus dem Code die ' zeigt er mir die Werte richtig an, sprich die Abfrage funktioniert.
    Wähle ich nun aber zwei Werte kommt wieder gar nichts. Funktioniert auch nicht wenn ich die ' wieder reinpacke.
    Hier mal mein Code:
    Code:
     
Thema:

Mehrfachauswahl über ein Listenfeld

Die Seite wird geladen...
  1. Mehrfachauswahl über ein Listenfeld - Similar Threads - Mehrfachauswahl Listenfeld

  2. Dropdown

    in Microsoft Word Hilfe
    Dropdown: Hallo zusammen, leider stehe ich derzeit vor einem Word-Problem und habe ich mich daher heute hier angemeldet, in der Hoffnung, dass Ihr mir mit eurem Wissen weiterhelfen könnt. Wahrscheinlich...
  3. Listenfeld Mehrfachauswahl aktivieren/deaktivieren mit VBA

    in Microsoft Access Hilfe
    Listenfeld Mehrfachauswahl aktivieren/deaktivieren mit VBA: Ja mein Problem steht eigentlich schon im Betreff. Das hat folgenden Hintergrund, ich habe ein Formular wo ich Geräte einer Messstelle zuordne, dafür hab ich in dem Listenfeld eine Übersicht über...
  4. Listenfeld mit Mehrfachauswahl

    in Microsoft Access Hilfe
    Listenfeld mit Mehrfachauswahl: Hallo, ich hatte eine Datenbank aufgebaut in der man zu beliebigen Fahrzeuge beliebige Fehlteile zuordnen kann. Dies habe ich durch Kombiboxen ermöglicht. Kombibox für die Fahrzeuge und...
  5. Listenfeld mit Mehrfachauswahl

    in Microsoft Access Hilfe
    Listenfeld mit Mehrfachauswahl: Hallo, habe in einer Tabelle ein Listenfeld mit Mehrfachauswahl definiert. Habe dieses Feld in ein Formular gezogen. Da das Formular keinen direkten Filter auf ein Mehrfachdropdown erlaubt und...
  6. Listenfeld Mehrfachauswahl Erweitert und Listindex

    in Microsoft Access Hilfe
    Listenfeld Mehrfachauswahl Erweitert und Listindex: Hi Forum, ein Listenfeld hat die Einstellung bei Mehrfachauswahl=Erweitert. Ich möchte nun die aktive Zeile steuern, was mit der Eigenschaft Listindex wie folgt geht: Code: me.Listenfeld.Setfocus...
  7. Mehrfachauswahl Listenfeld als Kriterium in Abfrage

    in Microsoft Access Hilfe
    Mehrfachauswahl Listenfeld als Kriterium in Abfrage: Hallo, habe folgendes Problem: In einem Formular wird ein Listenfeld mit Mehrfachauswahl verwendet, um ein Kriterium für eine Abfrage zu definieren, hierzu verwende ich folgenden Code: Code:...
  8. Mehrfachauswahl im Listenfeld speichern und weiter verarbeiten können

    in Microsoft Access Hilfe
    Mehrfachauswahl im Listenfeld speichern und weiter verarbeiten können: Hallo, ich möchte in einem Formular ein Listenfeld aufnehmen, dass Werte aus einer Tabelle darstellt und eine Mehrfachauswahl bietet. Soweit für mich realisierbar. Kann mir jemand einen Tipp...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden