Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Samurai2_de am November 29, 2016, 09:59:23

Titel: SQL Abfrage mit Kriterium aus Kombinationsfeld
Beitrag von: Samurai2_de am November 29, 2016, 09:59:23
Hallo ihr Wissenden!

Ich arbeite zur Zeit mit Hochdruck an einem Datenbankprojekt, bei dem ich gerade etwas ins Stolpern gerate und wäre daher für Hilfe Eurerseits sehr dankbar!
Mein Projekt enthält unter anderem die Tabelle tbl_Vorgangsdaten und ein Auswertungsformular frm_Auswertung.
In der Tabelle tbl_Vorgangsdaten gibt es unter anderem die folgenden zwei Felder: VA_Eintrag_Storno und VA_Storno_Grund. Das Feld VA_Eintrag_Storno ist als Ja/Nein definiert und das Feld VA_Storno_Grund ist ein Nachschlagefeld (heißt das korrekterweise so?). Das Feld VA_Storno_Grund im zugehörigen Formular lässt neben den vorgegebenen Eintragungen aus dem DropDown auch noch eigene Eintragungen des Benutzers zu, falls keine Option zutreffend sein sollte.
In meinem Auswertungsformular gibt es nun u.a. ein ungebundenes Kombinationsfeld (cbo_Storno_Grund), welches seine Werte aus der tbl_Vorgangsdaten und dort aus dem Feld VA_Storno_Grund zieht. Dies funktioniert auch sehr gut, es werden mir in dem Kombinationsfeld die Einträge aus VA_Storno_Grund angezeigt.
Nun möchte ich eine Abfrage erstellen, welche mir alle Datensätze auflistet, bei denen das Feld VA_Eintrag_Storno "Ja" ist und der Wert in der Tabelle VA_Storno_Grund mit dem im Kombinationsfeld cbo_Storno_Grund angezeigten übereinstimmt. Meine SQL-Anweisung sieht bislang so aus:

SELECT tbl_Vorgangsdaten.ID, tbl_Vorgangsdaten.VA_Eintrag_Storno, tbl_Vorgangsdaten.VA_Storno_Grund
FROM tbl_Vorgangsdaten
WHERE tbl_Vorgangsdaten.VA_Eintrag_Storno = True AND tbl_Vorgangsdaten.VA_Storno_Grund LIKE Forms!frm_Auswertung!cbo_Storno_Grund


Leider liefert mir diese Abfrage keine Werte zurück, wenn ich Sie ausführe. Ich habe das LIKE auch schon mal testweise durch ein "=" ersetzt, dies brachte aber auch keine Änderung.

Leider erkenne ich meinen Denkfehler nicht (Wald und Bäume und so) und wäre euch daher für Hilfe wirklich sehr dankbar!

Mit freundlichem Gruß von der Küste bei strahlend blauem Himmel

Samurai2_de
Titel: Re: SQL Abfrage mit Kriterium aus Kombinationsfeld
Beitrag von: DF6GL am November 29, 2016, 10:18:26
Hallo,

für die Verwirrung ist das Mehrwert-Feld in der Tabelle verantwortlich.

Wirf dieses Feld aus der Tabelle und baue anstelle ein Feld mit Datentyp Long ein ("VG_SGID"). Erzeuge eine weitere Tabelle ("tbl_Stornogruende") mit ID-Feld ("SGID", Autowert) und einem Attributsfeld für die Bezeichnung des St.-Grundes ("SG_Bez", Text).

Stelle eine 1-n Beziehung über die Schlüsselfelder her.

Das Kombi im Formular bezieht seine Daten aus tbl_Stornogruende (Datensatzherkunft: Select SGID, SG_Bez from tbl_Stornogruende order by SG_Bez), die anderen Eigenschaften werden so eingestellt:

Gebundene Spalte:1
Spaltenbreiten: 0cm;5cm
Spaltenanzahl: 2
Titel: Re: SQL Abfrage mit Kriterium aus Kombinationsfeld
Beitrag von: Samurai2_de am November 29, 2016, 15:02:32
Hallo Franz!

Vielen Dank für deine schnelle, kompetente und gut erklärte Antwort!

Ich habe deine Schritte genauso umgesetzt, wie du sie sehr sauber beschrieben hast. Leider komme ich noch immer zu keinem Ergebnis.
Das neue Kombinationsfeld in meinem Formular ist am Anfang natürlich leer, da es noch keine Einträge in der tbl_Stornogruende gibt. Ich versuche nun, einen Text das Kombinationsfeld im Formular einzugeben (also einen abzuspeichernden Stornogrund zu erfassen, der zukünftig im DropDown auftauchen soll). Sobald ich den Text eingegeben habe und aus dem Kombinationsfeld hinaus möchte, gibt Access mir die Fehlermeldung "Der von Ihnen eingegebene Text ist kein Element der Liste. Wählen Sie ein Element aus oder geben Sie Text ein, der mit einem der aufgelisteten Elemente übereinstimmt."
Das Ändern der Eigenschaft "Nur Listeneinträge" des neuen Kombinationsfeldes auf "Nein" lässt Access auch nicht zu. Fehlermeldung verkürzt: "Die erste sichtbare Spalte, die durch die Spaltenbreiten-Eigenschaft festgelegt ist, ist nicht gleich der gebundenen Spalte."
Kannst du mir bitte sagen, wo ich den Fehler mache?
Vielen Dank!

Gruß

Samurai2_de
Titel: Re: SQL Abfrage mit Kriterium aus Kombinationsfeld
Beitrag von: DF6GL am November 29, 2016, 15:40:44
Hallo,

das Kombifeld hat ein NotInList-Ereignis, das dazu benutzt werden kann, um den eingegebenen Wert in die Tabelle zu schreiben und das Kombilistenfeld zu aktualisieren.
Titel: Re: SQL Abfrage mit Kriterium aus Kombinationsfeld
Beitrag von: Samurai2_de am November 29, 2016, 18:34:36
Okay, ich muss zu meiner Schande gestehen, dass ich mit Teil zwei deiner Lösung nicht mehr zurecht gekommen bin. Dafür reicht mein Horizont wohl (noch?) nicht aus, befürchte ich. Vielen herzlichen Dank trotzdem für deine Bemühungen!

Ich habe das Problem mittlerweile gelöst, in dem ich die Column-Eigenschaft des Kombinationsfeldes anspreche und, wie hier (http://www.ardiman.de/datenbanken/grundlagen/abfragen.html#SEC5) beschrieben, in meiner SQL-Abfrage anspreche.

Ich werde mich aber trotzdem gedanklich weiter mit deiner Lösung beschäftigen, da ich ja auch dazulernen möchte. Kannst du mir diesbezüglich einen Tipp geben: wie müsste das NotInList-Ereignis in diesem Fall definiert sein, damit die Werte in die tbl_Stornogruende eingetragen werden?

Nochmals herzlichen Dank für die Hilfe!

Gruß

Samurai2_de
Titel: Re: SQL Abfrage mit Kriterium aus Kombinationsfeld
Beitrag von: Beaker s.a. am November 29, 2016, 20:54:23
Hallo Samurai,
Lies mal dieses: http://www.donkarl.com?FAQ4.13 (http://www.donkarl.com?FAQ4.13)
gruss ekkehard
Titel: Re: SQL Abfrage mit Kriterium aus Kombinationsfeld
Beitrag von: Samurai2_de am Dezember 01, 2016, 08:24:52
Hallo Ekkehard!

Vielen Dank für den Link, jetzt kommt Licht ins Dunkel!
Ich hatte tatsächlich übersehen, dass es bei den Ereignissen für das Kombifeld das Ereignis "Nicht in Liste" gibt und war am Rätseln, wie ich denn nun den neuen Eintrag in die tbl_Stornogruende bekomme.
Nun wird mir einiges klarer. Vielen Dank noch einmal an dich und auch an DF6GL, ich bin immer wieder begeistert von der Fachkompetenz und der freundlichen Hilfe hier im Forum!

Mit Gruß von der Küste

Samurai2_de