Neuigkeiten:

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

Mobiles Hauptmenü

Feldnamen für eine Abfrage stehen in einer Tabelle

Begonnen von BotschafterSarek, September 05, 2014, 11:21:18

⏪ vorheriges - nächstes ⏩

BotschafterSarek

Hallo zusammen,

ich habe eine Tabelle "Mailverteiler", die so aufgebaut ist:



Mitarbeiter des Einkaufs     mitarbeiter1
Mitarbeiter des Vertriebs     mitarbeiter2
... und so weiter

Nun habe ich eine Tabelle "Adressbuch", in der es (unter anderem) ein Ja/Nein-Feld namens "mitarbeiter1", ein Ja/Nein-Feld namens "mitarbeiter2" und so weiter gibt.

Weiterhin habe ich ein Formular, in der die Tabelle "Mailverteiler" als Datenquelle für eine Combobox dient. Das heißt, in der ComboBox kann ich einen Mailverteiler auswählen.

Was ich möchte:  Ich möchte mittels einer Abfrage alle Einträge der Tabelle Adressbuch anzeigen, bei denen der Wert des Feldes, dessen Name ich in der ComboBox ausgewählt habe, TRUE ist.

Geht das? Oder muß ich das statt mit einer Abfrage mit VBA machen?

(Ich weiß, dass diese Datenbank nicht vernünftig normalisiert ist! An die Struktur der Tabelle "Adressbuch" darf ich nicht ran!)


Danke im Voraus,
Sarek \\//_

MaggieMay

Hallo,

du könntest den SQL-Code der Abfrage per VBA erzeugen und diesen bspw. dem Anzeigeformular zuweisen.

Beispiel:Dim strSQL As String
strSQL = "Select feld, feld2, ... From adressbuch Where [" & Me.kombifeld & "] = True"
DoCmd.OpenForm "frmAdressen"
Forms!frmAdressen.RecordSource = strSQL
Freundliche Grüße
MaggieMay

BotschafterSarek

Zitat von: MaggieMay am September 05, 2014, 16:28:50
du könntest den SQL-Code der Abfrage per VBA erzeugen und diesen bspw. dem Anzeigeformular zuweisen.

Klingt gar nicht schlecht. Aber: Das ganze soll nicht in einem Formular angezeigt werden, sondern als Bericht ausgegeben werden. Und wenn ich den Code wie folgt ändere:

DoCmd.OpenReport "Listendruck", acPreview
Reports!Listendruck.RecordSource = SQLcode


bekomme ich einen Laufzeitfehler 2191: Sie können die Eigenschaft Datenherkunft nicht in der Seitenansicht oder nach dem Start eines Druckvorgangs einstellen

DF6GL

#3
Hallo,


öffne den Bericht mittels Openreport und der Übergabe eines geeigneten Kriterium beim Where-Condition-Parameter:

DoCmd.OpenReport "Listendruck", acPreview,,Me!kombifeld & " = True"
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

BotschafterSarek

Zitat von: DF6GL am September 05, 2014, 19:46:15
öffne den Bericht mittels Openreport und der Übergabe eines geeigneten Kriterium beim Where-Condition-Parameter:

DoCmd.OpenReport "Listendruck", acPreview,,Me!kombifeld & " = True"

Und dann? Wie kommt der Parameter in die Definition der Datenherkunft?


DF6GL

Hallo,

???

Der Bericht enthält in seiner Datenherkunft eine Tabelle oder einen Abfrage. Die wird durch den Where-Condition-Parameter gefiltert.

Oder was meinst Du?
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

BotschafterSarek

Zitat von: DF6GL am September 05, 2014, 20:54:41
Der Bericht enthält in seiner Datenherkunft eine Tabelle oder einen Abfrage. Die wird durch den Where-Condition-Parameter gefiltert.

Alles klar, habe ich gerade erfolgreich ausprobiert. Danke!