Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Listenfeld mit Mehrfachauswahl
zurück: Tabellen aus verschiedenen Tabellen vergleichen weiter: abfrage aus abfrage mehrfach ausführen??? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast091109
Gast


Verfasst am:
10. Nov 2009, 13:39
Rufname:

Listenfeld mit Mehrfachauswahl - Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Hallo zusammen,

ich habe ein Formular (Anfragen bearbeiten) mit einem Listenfeld (Firmenwahl) mit Mehrfachauswahl. Der wert aus Spalte 1 wird übernommen - also die ID.
Außerdem eine Abfrage mit den Firmandaten.
In der Abfrage Spalte "ID" steht folgende Formel:
Wie "*" & [Formulare]![Anfragen bearbeiten]![Firmenwahl]![Mehrfachauswahl] & "*"

Allerdings werden alle Firmen in der Abfrage angezeift und nicht nur die markierten..
Wer kann mir helfen?

Danke im Voraus
MissPh!
Office-VBA-Programmiererin


Verfasst am:
10. Nov 2009, 15:00
Rufname:
Wohnort: NRW


AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Hallo
Zitat:
[Forms]![Anfragen bearbeiten]![Firmenwahl]![Mehrfachauswahl]
Wie stellst du dir das vor? Wie kommst du auf die Idee, hiermit die einzelnen Werte zu erhalten und vor allem, was soll die Abfrage mit der erwarteten Werteliste anfangen?

Schau dir mal den Umgang mit der Mehrfachauswahl in der Access-Hilfe an. Das ist dort sehr gut beschrieben und Beispiele gibt es auch.
Einstieg in die Hilfe wäre über die Listenfeldeigenschaft (anklicken) und F1-Taste möglich.

_________________
Gruß MissPh!
Gast091109
Gast


Verfasst am:
10. Nov 2009, 15:09
Rufname:

AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Die gewählten Daten sollen für einen Bericht genutzt werden.
Dort sollen die gewählten Einträge dargestellt werden
MissPh!
Office-VBA-Programmiererin


Verfasst am:
10. Nov 2009, 15:21
Rufname:
Wohnort: NRW

AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Eine Möglichkeit wäre hier, den Bericht an eine Tabelle oder Abfrage zu binden und ihn beim Aufruf durch Übergabe eines aus der Listenfeld-Auswahl erzeugten Kriterienstrings zu filtern.

Das ganze auf "Kopfdruck", d.h. Aufruf des Berichts über eine Befehls-Schaltfläche.
Das könnte dann so aussehen:
Code:
Private Sub btn_OpenReport_Click()
    Dim strKrit As String, itm As Variant

    For Each itm in Me!Firmenwahl.ItemsSelected
        If Len(strKrit) = 0 Then
            strKrit = Me!Firmenwahl.ItemData(itm)
          Else
            strKrit = strKrit & ", " & Me!Firmenwahl.ItemData(itm)
        End If
    Next itm
    DoCmd.OpenReport "repname", acPreview, , "ID IN (" & strKrit & ")"
End Sub
...oh, ich vergaß: natürlich ungetestet!
_________________
Gruß MissPh!


Zuletzt bearbeitet von MissPh! am 10. Nov 2009, 15:37, insgesamt einmal bearbeitet
tk6
SAP-Consultant


Verfasst am:
10. Nov 2009, 15:21
Rufname:


AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Um die Daten, die du durch Anklicken mit Mehrfachauswahl (Strg halten und anklicken) ausgewählt hast, verwerten zu können, mußt du sie zunächst auslesen:
Code:
    '...
    For Each varItm In ctl.ItemsSelected
        inListeStr = inListeStr & "," & ctl.ItemData(varItm)
    Next varItm
Die Variablen varItm und ctl müssen vorher zugewiesen worden sein:
Code:
    Set frm = Forms!Formular1
    Set ctl = frm.Controls("Liste0")
Die obige Schleife schreibt sie in eine String-Variable, die du vorne abschneiden mußt (ein komma zuviel):
Code:
  inListeStr = Mid(inListeStr, 2)
dann setzt du den gesamten SQL-String zusammen:
Code:
    Set db1 = CurrentDb
    ssql = "SELECT A.AdressID, A.Firma, A.PLZ, P.Ort" _
          & " FROM Adressen AS A" _
               & " INNER JOIN PLZOrtA AS P" _
               & " ON A.PLZOrtID = P.PLZTabID" _
         & " WHERE A.AdressID In (" & inListeStr & ");"
Und schließlich kannst du die Abfrage erzeugen oder mit dem SQL-String einen Recordset zuweisen:
Code:
    Set qDf = db1.CreateQueryDef("qry_in", sSql)

Nachtrag: tk6 am 10. Nov 2009 um 14:29 hat folgendes geschrieben:
Jetzt haben sich die beiden Antworten überschnitten. Aber wenn du genau hinschaust, siehst du, daß in beiden Lösungen das gleiche Prinzip angewendet wurde: Die gewählten Items müssen zunächst festgestellt werden, dann muß auf der Grundlage ein Teil-String (bei mir inlistestr, bei MissPH! strKrit) "gebastelt" werden, der als "IN"-Kriterium in in den Where-clause eingebaut wird.

Das ist das Prinzip, das man verstanden haben muß. Bei Fragen bitte fragen.

_________________
Beste Grüße

tk
Gast091109
Gast


Verfasst am:
10. Nov 2009, 15:29
Rufname:

AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Hallo tk6.

ich versuche den Code langsam zu verstehen.
Aber wo kommt dieser Code hin? Beim Listenfeld unter "beim Klicken" ?
tk6
SAP-Consultant


Verfasst am:
10. Nov 2009, 15:35
Rufname:

AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office XP (2002)

Hier hast du ein kleines Beispiel:

1. Der Code kommt im Prinzip dort hin, wo du die Abfrage erstellst bzw. änderst oder den Bericht ausführst. In meinem Beispiel im Ereignis "Beim Anklicken" des Buttons.

2. Du kannst den Code aber z.B. auch in das Ereignis Liste0_AfterUpdate() schreiben. Dann steht grundsätzlich der Teilstring "IN (2,4)" (2 und 4 wurden ausgewählt) überall zur Verfügung. Du must allerdings in dem Fall darauf achten, daß, wenn die Auswertung nicht in einem Ereignismodul des Formulars stattfindet, der Code nicht am Formular "vorbeiläuft". Das erreichst du, indem du das Formular mit
Code:
    DoCmd.OpenForm "Formular1", , , , , acDialog
öffnest.
_________________
Beste Grüße

tk



a_101109_143200.zip
 Beschreibung:
Beispiel für Office XP

Download
 Dateiname:  a_101109_143200.zip
 Dateigröße:  1.1 MB
 Heruntergeladen:  20 mal



Zuletzt bearbeitet von tk6 am 10. Nov 2009, 15:43, insgesamt einmal bearbeitet
MissPh!
Office-VBA-Programmiererin


Verfasst am:
10. Nov 2009, 15:39
Rufname:
Wohnort: NRW

Re: AW: Listenfeld mit Mehrfachauswahl - Re: AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Gast091109 - 10. Nov 2009, 14:29 hat folgendes geschrieben:
Aber wo kommt dieser Code hin? Beim Listenfeld unter "beim Klicken" ?
MissPh! - 10. Nov 2009, 14:21 hat folgendes geschrieben:
Das ganze auf "Kopfdruck", d.h. Aufruf des Berichts über eine Befehls-Schaltfläche.

_________________
Gruß MissPh!
tk6
SAP-Consultant


Verfasst am:
10. Nov 2009, 15:44
Rufname:

AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Hab oben noch was dazugeschrieben.
_________________
Beste Grüße

tk
Gast091109
Gast


Verfasst am:
10. Nov 2009, 15:46
Rufname:

AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

ok. ich werde versuchen es einzubauen.

Danke schonmal.
tk6
SAP-Consultant


Verfasst am:
10. Nov 2009, 16:00
Rufname:

AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office XP (2002)

Neue Version mit kleiner Änderung (s. Korrekturzeichen TK101109+).

Der Fehler, der auftritt, wenn man nichts auswählt, aber trotzdem auf "GO!" klickt, wurde abgefangen.

Ausserdem gehe ich davon aus, daß du den Fehler, daß die Abfrage bereits existiert, abfängst bzw. dieses Problem nicht auftritt, weil du sie garnicht erstellst, sondern nur den SQL-String für den Bericht nutzt.

_________________
Beste Grüße

tk



a_101109_145700.zip
 Beschreibung:

Download
 Dateiname:  a_101109_145700.zip
 Dateigröße:  1.09 MB
 Heruntergeladen:  12 mal

Gast



Verfasst am:
10. Nov 2009, 16:24
Rufname:

AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

HAllo,

danke für die Hilfe.
Ich habe Tabellennamen und Feldnamen angepasst und es funktioniert.

Allerdings tauch der angesprochene Punkt auf, das angezeigt wird, das die Abfrage bereits existiert.[/quote]
tk6
SAP-Consultant


Verfasst am:
10. Nov 2009, 16:35
Rufname:

AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Hier habe ich das abgefangen: Korrekturzeichen tk101109(2)+
_________________
Beste Grüße

tk



a_v3_101109_153100.zip
 Beschreibung:

Download
 Dateiname:  a_v3_101109_153100.zip
 Dateigröße:  1.09 MB
 Heruntergeladen:  21 mal

Gast091109
Gast


Verfasst am:
10. Nov 2009, 16:41
Rufname:


AW: Listenfeld mit Mehrfachauswahl - AW: Listenfeld mit Mehrfachauswahl

Nach oben
       Version: Office 2003

Vielen Dank für die Hilfe!
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: Voneinander Abhängige Kombinationsfelder mit Mehrfachauswahl 3 Xia0 2467 20. Nov 2009, 14:44
MissPh! Voneinander Abhängige Kombinationsfelder mit Mehrfachauswahl
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrfachauswahl von Datensätzen 0 Sluyter 218 01. Okt 2009, 10:10
Sluyter Mehrfachauswahl von Datensätzen
Keine neuen Beiträge Access Tabellen & Abfragen: Verknüpfung Tabellen / Feld mit Mehrfachauswahl 2 PeterD 304 10. Sep 2009, 16:34
PeterD Verknüpfung Tabellen / Feld mit Mehrfachauswahl
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrfachselektion bei Abfrage+Listenfeld im Formular 16 rantz 2441 15. Nov 2008, 20:27
Willi Wipp Mehrfachselektion bei Abfrage+Listenfeld im Formular
Keine neuen Beiträge Access Tabellen & Abfragen: überschrift in listenfeld mit daten aus eine abfrage 4 lucky0815 2948 15. Okt 2008, 16:15
lucky0815 überschrift in listenfeld mit daten aus eine abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Laufzeitfehler bei Übertrag in Listenfeld 1 Gast 510 01. Okt 2008, 22:20
MiLie Laufzeitfehler bei Übertrag in Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen nach letztem Datum erstellen mit Listenfeld ? 19 Topotec 1322 25. Sep 2008, 13:36
Topotec Abfragen nach letztem Datum erstellen mit Listenfeld ?
Keine neuen Beiträge Access Tabellen & Abfragen: checkbox umwandeln in Listenfeld 1 lucie_skywalker 519 03. Jun 2008, 15:18
MAPWARE checkbox umwandeln in Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Listenfeld leeren 4 moresignthentyps 2239 20. Feb 2008, 17:23
Nouba Listenfeld leeren
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: requery listenfeld 6 max112 1227 02. Dez 2007, 22:46
KlausMz requery listenfeld
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!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Access Tabellen