Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Mehrfachauswahl als Kriterium für Abfrage

Begonnen von Martin_8, September 22, 2010, 14:23:16

⏪ vorheriges - nächstes ⏩

Martin_8

Hallo Forum,

ich hab zu dem thema zwar einiges gefunden, nur leider überhaupt nicht umsetzen können, da ich so gut wie keine vba und kaum access-wissen habe.
denn muss ich es leider irgendwie hinbekommen.

also ich hab eine abfrage bei der mir verschiede obstsorten mit den dazugehörigen kennzahlen angezeigt werden.
wenn ich jetzt bei den kriterien in der abfrage einfach "neue äpfel" setzte, zeigt er mir diese auch an. wenn ich "neue äpfel oder neue birnen" setzte, zeigt er mir auch die beiden an.
nun möchte ich aber, dass der eingeber aus einer liste mehrer auswählen kann und damit automatisch dieses kriterium setzt.

wie mach ich das am besten? wie les ich die ID´s aus der Liste aus, und was schreib ich als kriterium in die Abfrage?
hab wirklich leider kaum ahnung von vba etc...

Vielen Dank schon mal im Voraus!

Liebe grüße

DF6GL

Hallo,

vielleicht kommst Du mit dem Steuerelement-Assistenten klar.

Erzeug ein Kombifeld (im Formularkopf) und definiere das als Suchkombi. (falls diese Assistent-Funktion noch in Deiner Version vorhanden ist)

Ansonsten mußt Du Dich ein bißschen mit VBA beschäftigen.

Speziell " aus einer liste mehrer auswählen kann und damit automatisch dieses kriterium setzt. "  geht nicht so ganz ohne VBA.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Martin_8

danke für deine schnelle antwort,

aber mit dem suchkombi ist es mir ja dann nicht möglich mehr sachen auszuwählen!?

ja ich bin vba auch nicht abgeneigt und hab auch schon einges damit gespielt. nur im wirklichen verstehen tu ich mir halt schwer. oft scheiterts daran, wo gehört welcher code hin oder wenn ich den code für das auslesen der liste habe, was ich dann im kriterium der abfrage schreibe.
hab das so deutlich gemacht, weil ich shcon viele beiträge gelesen habe in denen einfach nur ein code als antwort gepostet wird, was mir so ohne weiteres eher weniger bringen würde....


DF6GL

Hallo,


mit einem Kombi ist keine Mehrfachauswahl möglich.

ok, lad die DB (A2003-Version) mal hier hoch, gezippt und evtl. datenreduziert, dann kann ich (oder jemand Anderer) ein Listenfeld zwecks Mehrfachauswahl zur Suche einbauen.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Martin_8

Danke für deine Hilfe,

also hier jetzt mal die kleine beispielDB.
in der abfrage "qry_lagerung" soll jetzt im feld "obstid" genau die werte angzeigt werden, die alle in der Liste im Formular in "frm_obstwahl" markiert werden.
wie mach ich das am geschicktesten?

Vielen lieben Dank! :)

[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

anbei..



[Anhang gelöscht durch Administrator]
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Martin_8

danke schön, das hat mir schon ein klein wenig weitergeholfen.
aber das genau das angesprochene problem, so ganz umsetzen kann ich es einfach nicht.
du hast jetzt das formular an eine abfrage gebunden oder?

ich hab in meiner großen datenbank aber ein ungebundendes HF, darin ein UF das an die Abfrage gebunden ist. Ich wollte nun das die Abfrage das ergebnis liefert aus den in zwei textfeldern im HF eingegeben kriterien sowie die kriterien aus der im HF befindliche Liste.

im beispiel hab ichs jetzt mal richtig aufgebaut. tut mir leid das ich das nicht gleich so gemacht habe, dachte ich würde den transfer dann schaffen... allerdings hab ich mich da getäuscht...

[Anhang gelöscht durch Administrator]

DF6GL

#7
Hallo,

naja, ok...

und auf was soll sich im Form jeweils  "Ref ..." beziehen?

[Anhang gelöscht durch Administrator]
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Martin_8

Hier soll das kriterium für die referenznummern eingetragen werden.
die werden immer gruppenweise abefragt, z.b. von 0 bis 4 oder von 4 bis 7 usw...
des wird dann in der abfrage über Zwischen [formulare]![frm_obstwahl]![txt_von] Und [Formulare]![frm_obstwahl]![txt_bis] eingefügt.
ja das funktioniert ja ganz gut, nur das mit der mehrfachauswahl aus der liste ist eben das große problem.

DF6GL

Habe die DB an mein letztes Posting angehängt.


"nur das mit der mehrfachauswahl aus der liste ist eben das große problem."

ja, das ist mir klar, und sowas geht auch nicht als Kriteriumsangabe im Abfrageentwurf.


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Martin_8

Ok, danke schön für deine hilfe. hast mich schon ein schritt weiter gebracht.
in meiner großen ursprungs-DB klappts aber immer noch nicht, da muss ich wohl noch ein wenig rumprobieren....

wenn das feld "ref" jetzt keine referenzkennung wär, sondern ein Datum, muss ich da etwas im code ändern?
hab diese beispiel mit der art von auswahl öfter in meiner DB.

DF6GL

Hallo,

wie wär's, wenn Du mal den entspr. Teil der "großen" DB genau so wie er ist extrahierst und hier hereinstellst. ?   ::)


Das Generieren von Ähnlichkeits-Lösungen, die eh nicht verwendet werden, macht keinen Spaß.. 
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Martin_8

Hallo,

es ist genau der Teil extrahiert.
das einzige was anders ist, ist das in mehreren formularen genau dieser extrahierte teil vorkommt.
darum meine frage wegen dem datum

DF6GL

Hallo,



dann halt die von/bis-Textfeldwerte in das ISO-Datum konvertieren und den Where-Condition-string passend zusammenbauen:

strKrit1 = " DatumsfeldInDerTabelle  between " & Format ( Nz(Me!txt_von, #01/01/1900#),"\#yyyy-mm-dd\#")  & " and " & Format(Nz(Me!txt_bis, #12/31/2100#),"\#yyyy-mm-dd\#") 
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Martin_8

#14
Morgen,

also danke für deine Hilfe, es funktioniert soweit ganz gut, nur an einer stelle nicht, und ich versteh nicht warum:

ich hab jeweils den code immer angepasst, mit der sql von den jeweiligen abfragen, und den formularnamen im code auch angepasst:

Dim strKrit As String, strKrit1 As String, itm, strSQL As String
strSQL = "SELECT tbl_farbe.fname, tbl_kennungen.kbez, tbl_eingabe_detail.erfassungswert, tbl_kennungen.kennid, tbl_farbe.fid, tbl_eingabe.e_datum" & _
"FROM tbl_kennungen INNER JOIN (tbl_farbe INNER JOIN (tbl_eingabe INNER JOIN tbl_eingabe_detail ON tbl_eingabe.eid = tbl_eingabe_detail.erfassung) ON tbl_farbe.fid = tbl_eingabe.firma) ON tbl_kennungen.kennid = tbl_eingabe_detail.kennzahl" & _
"ORDER BY tbl_kennungen.kennid"

For Each itm In Me!liste_kennungen.ItemsSelected
strKrit = strKrit & "," & Me!liste_kennungen.Column(0, itm)
Next


If Len(strKrit) > 1 Then
strKrit = " kennid In (" & Mid(strKrit, 2) & ")"
End If
strKrit1 = " e_datum between " & Format(Nz(Me!txt_datumvon, #1/1/1900#), "\#yyyy-mm-dd\#") & " and " & Format(Nz(Me!txt_datumbis, #12/31/2100#), "\#yyyy-mm-dd\#")
If Len(strKrit) > 1 Then
strKrit = strKrit & " and " & strKrit1
Else
strKrit = strKrit1
End If

strSQL = strSQL & " where " & strKrit
Debug.Print strKrit
Me!uf_zeitraum.Form.RecordSource = strSQL


erkennst du was falsches an dem code?
nach click auf button kommt die fehlermeldung, Syntaxfehler (fehlender Operator) im ausdruck....
und beim debuggen makiert er:

Me!uf_zeitraum.Form.RecordSource = strSQL


Danke nochmal, du hilfst mir sehr :)