Neuigkeiten:

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

Mobiles Hauptmenü

Abfrageergebniss Gruppieren

Begonnen von Bottwalker, Dezember 03, 2015, 18:28:04

⏪ vorheriges - nächstes ⏩

Bottwalker

Hallo zusammen,

bin schon seit mehreren Tagen auf der Suche nach einer Lösung für mein Problem und leider noch nicht wirklich fündig geworden. Hoffe ihr könnt mir weiterhelfen, denn bin nicht der super Crack in Access.

ich habe mir eine DB zusammengebastelt und gemäss "Vorschrift" gewisse Hilfstabellen für Auswahlfelder genutzt. Mittlerweile ist die ganze Geschichte auch sehr komplex geworden.
Nun möchte ich eine Abfrage und später dann auch Report generieren in dem die Werte immer nur einfach erscheinen und nicht mehrfach. Die DISTINCT Lösung hab ich bereits erfolglos versucht.

Also hier mal ein Beispiel zum besseren Verständnis:

Tabelle1_name
ID_name
Name
Vorname

Tabelle2_farbe
ID_farbe
Lieblingsfarben

Tabelle3_stadt
ID_stadt
Lieblingsstädte

Die Tabellen sind mit Hilfstabellen miteinander verknüpft dass ein Name ein oder mehrere Lieblingsfarben wie auch Lieblingsstädte haben kann.

z.b. Aufbau Hilfstabelle_Farbe
ID_hilfstabelle
ID_name
ID_farbe

Max Mustermann könnte also gerne rot und blau haben, sowie Berlin, München und Frankfurt als Lieblings Städte haben.

Wenn ich nun eine Abfrage erstelle kommt folgendes Ergebnis:

Max Mustermann rot München
Max Mustermann blau München
Max Mustermann rot Berlin
Max Mustermann blau Berlin
Max Mustermann rot Frankfurt
Max Mustermann blau Frankfurt

Ich hätte aber gerne das es wie folgt dargestellt wird:

Max Mustermann rot       Berlin
                          blau     Frankfurt
                                     München

Also, Farben und Städte stehen in keinem Verhältnis, sondern sollen einfach nur aufzeigen, dass Max Mustermann diese zugeordnet bekommen hat.

Ich hoffe ich hab das irgendwie verständlich erklärt, ist nämlich gar nicht so einfach  ;)

Wäre super wenn mir jemand weiterhelfen könnte.

Viele Grüss
Martin








MzKlMu

Hallo,
die gewünschte Darstellung lässt sich mMn mit einer Abfrage nicht erreichen.
In einem Bericht würde das gehen, problemlos.
Abfragen sollte man ohnehin nicht direkt anzeigen.
Gruß Klaus

Bottwalker

Hallo Klaus,

vielen dank für deine Feedback.
Schade, dass das nicht in einer Abfrage zu lösen ist. Mit einem Report habe ich es auch schon vergeblich versucht.
Hast du irgendwelche Tips wie ich zum gewünschten Erfolg kommen könnte?

Lieber Gruss
Martin






MaggieMay

Hallo,

die gewünschte Darstellung lässt sich mit einem Bericht auf Basis der "Tabelle1_name" und zwei Unterberichten erreichen. Die Unterberichte sind mit dem Hauptbericht über "id_name" verknüpft und basieren jeweils auf einer Abfrage welche die Lieblingsfarben bzw. Lieblingsstädte liefert.

Alternativ könnten auch Listenfelder eingesetzt werden, deren Größe abh. von der Zeilenanzahl dynamisch angepasst werden müsste.

Auch mit einer Abfrage wäre das machbar, in welcher die dbWiki-Funktion "SQLListe" zum Einsatz käme.
Freundliche Grüße
MaggieMay

Bottwalker

Hallo MaggieMay,

danke für deine Inputs.
An der Lösung mit den Unterberichten bin ich gerade am rumprobieren, scheint ganz gut zu funktionieren.
In die "SQLListen" Funktion muss ich mich mal einarbeiten und testen. Wäre super wenn das auch klappen würde.

Lieber Gruss
Martin

MaggieMay

#5
Das klappt ganz gewiss :-), als Trennzeichen kannst du auch den Zeilenumbruch (vbCrLf) übergeben.

PS:
Was ich noch sagen wollte: Was du "Hilfstabellen" genannt hast sind im normalen Sprachgebrauch Zwischen- oder Verknüpfungstabellen. Als Hilfstabelle bezeichnet man bspw. eine Kalendertabelle, welche fortlaufende Datumsangaben (ggfls. über mehrere Jahre) für die vereinfachte Auswahl nach Zeitbereichen o.ä. in SQL-Abfragen enthält - also eine Tabelle die zur Arbeitserleichterung dient aber nichts mit der eigentlichen Datenhaltung zu tun hat.
Freundliche Grüße
MaggieMay

Bottwalker

Hallo ich bin's nochmals,

ich hatte nun über die Feiertage ein wenig Zeit mit den Lösungsvorschlägen rumzuspielen, aber leider bin ich nur bedingt zum gewünschten Ergebnis gekommen.
Das mit den Berichten funktioniert ganz gut, aber sobald ich diese nach Excel exportieren möchte, versemmelt es das ganze Format. Hab mittlerweile herausgefunden, dass Access den Export von Unterberichte nach Excel nicht unterstützt.
Hab mich daher auch an der SQL Liste versucht aber mit wenig Erfolg. Irgendwie schein ich das nicht so richtig hinzubekommen und ich kann leider die Angebotene Beispieldatei nicht öffnen, da ich kein Access97 mehr habe.
Hab zum besseren Verständnis meines Problems Screenshot angehängt. Bilder sprechen ja bekanntlich mehr als Wort :-)

Wäre super wenn mir hier jemand weiterhelfen könnte.
@MaggieMay; danke für die Erklärung, es handelt sich natürlich bei mir um Zwischen- bzw Verknüpfungstabellen.

Lieber Gruss
Martin







DF6GL

Hallo,

Zitat
Wenn ich nun eine Abfrage erstelle kommt folgendes Ergebnis:

Max Mustermann rot München
Max Mustermann blau München
Max Mustermann rot Berlin
Max Mustermann blau Berlin
Max Mustermann rot Frankfurt
Max Mustermann blau Frankfurt

Ich hätte aber gerne das es wie folgt dargestellt wird:

Max Mustermann rot       Berlin
                          blau     Frankfurt
                                     München


Erstelle einen Bericht auf Basis dieser Abfrage und gruppiere im Bericht nach Namen, Farbe und Stadt.....
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

MaggieMay

Hi,
Zitatund ich kann leider die Angebotene Beispieldatei nicht öffnen, da ich kein Access97 mehr habe.
die Beispiel-DB brauchst du nicht, der Code inkl. Beispielaufruf steht ja auch im dbWiki-Artikel.

ZitatErstelle einen Bericht auf Basis dieser Abfrage und gruppiere im Bericht nach Namen, Farbe und Stadt
Das wird aber nicht das gewünschte Ergebnis liefern können.
Am einfachsten ist es tatsächlich, die Zusammenfassung der Attribute bzgl. Farbe und Stadt mit Hilfe einer Funktion wie "SQLListe" in einer Abfrage vorzunehmen.

So könnte das in deinem Fall aussehen:

Select Nachname, Vorname,
SQLListe("Select Farbe From tbl_Farben AS f INNER JOIN tbl_Name_Farbe AS h ON f.ID_Farbe = h.ID_Farbe Where h.ID_Name = " & tbl_Name.ID_Name, CHR(13) & CHR(10)) AS Lieblingsfarben,
SQLListe("Select Stadtname From tbl_Staedte AS s INNER JOIN tbl_Name_Stadt AS h ON s.ID_Stadt = h.ID_Stadt Where h.ID_Name = " & tbl_Name.ID_Name, CHR(13) & CHR(10)) AS Lieblingsstädte


wobei die Feld- und Tabellennamen natürlich noch angepasst werden müssen.
Freundliche Grüße
MaggieMay

Bottwalker

Guten Morgen,

danke für die Feedbacks, ich hab mich nochmals an die SQLListe getraut und deinen Code MaggieMay, bzw die DB Namen entsprechend angepasst.
Nun hab ich dennoch 1-2 Fragen, den Code pack ich in die SQL Ansicht, der Abfrage korrekt?
Wenn ich das so mache, kommt beim Ausführen immer die Fehlermeldung >Undefinierte Funktion "SQLListe" in Ausdruck.<.
Ich gehe davon aus, dass ich die SQLListen Funktion nicht richtig platziert habe. Die befindet sich im Moment in einem Modul, ist das korrekt? oder wo muss ich die hin packen?
Ich kann die SQLListen Code 1:1 kopieren oder muss da auch irgendetwas angepasst werden?

Vorerst letzte Frage: die am Ende deines Codes befindlichen AS Lieblingsstädte und AS Lieblingsfarben, sind das Feldnamen / Listenbezeichnungen, welche ich in meiner Abfragen irgendwo benutzen muss?

Liebe Grüsse
Martin


DF6GL

#10
Hallo,

ZitatDas wird aber nicht das gewünschte Ergebnis liefern können.
In der Tat, hatte "Farben und Städte stehen in keinem Verhältnis"   überlesen...

@Bottwalker:

Du sprichst von Berichten und Export nach Excel...  Was genau willst Du denn überhaupt mit dem ganzen Vorgang erreichen und damit dann machen?


Vielleicht genügt ja auch schon:

SELECT  Null as Vorname, Null as NachName, Null as FarbeName , StadtName from Abfrage1
Union
SELECT  Null as Vorname, Null as NachName, FarbeName , Null as StadtName from Abfrage1
UNION
SELECT  Vorname,  NachName ,Null as FarbeName, Null as StadtName  from Abfrage1
ORDER BY NachName DESC , FarbeName DESC , StadtName DESC
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

Bottwalker

Hallo Franz,

kein Problem.
Ja schlussendlich sollte die Abfrage oder Report nach Excel exportiert werden.
Soll eine Art Übersicht für die Kollegen werden, welche jedoch kein Access installiert haben, ich Ihnen aber die Möglichkeit geben möchte in Excel einfach nach den gewünschten Informationen zu suchen / sortieren.

Hab deinen Code ausprobiert, Abfrage1 findet er nicht und wenn ich es in Abfrage ändere gibt es einen Zirkelbezugfehler  :(

Gruss
Martin


DF6GL

Hallo,

Dort muss der Name Deiner Abfrage stehen...
Zitat
Wenn ich nun eine Abfrage erstelle kommt folgendes Ergebnis:


PS:
Zitat
Soll eine Art Übersicht für die Kollegen werden, welche jedoch kein Access installiert haben, ich Ihnen aber die Möglichkeit geben möchte in Excel einfach nach den gewünschten Informationen zu suchen / sortieren.

Das versteh ich erst recht nicht...
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

Bottwalker

Hallo Franz,

funktioniert leider nicht, dann kommt immer die Zirkelbezug Fehlermeldung.
Muss ich denn eine Neue Abfrage erstellen und den SQL Code dort eingeben oder wie ist das Gedacht?
Meine DB ist wie oben in dem Screenshot aufgebaut.

ZitatSoll eine Art Übersicht für die Kollegen werden, welche jedoch kein Access installiert haben, ich Ihnen aber die Möglichkeit geben möchte in Excel einfach nach den gewünschten Informationen zu suchen / sortieren.
ZitatDas versteh ich erst recht nicht...

Was verstehst du hier nicht. Alle Daten befinden sich in einer DB, (es handelt sich hierbei um weitaus mehr als nur Farben und Städteinformationen) und die Kollegen sollen einen Report oder Extrakt der gewünschten Informationen bekommen gemäss beschriebener Struktur. Dachte mir Excel ist hier die einfachste Lösung da es erstens jeder kennt und zweitens jeder dann einfach Filter und Sortierfunktionen erstellen kann wie gewünscht.
Wäre super wenn es noch eine andere einfache Lösung gäbe, um die Infos mit den Kollegen teilen zu können.
Ein Report zu erstellen in PDF find ich nicht so "prickelnd"

Gruss
Martin


DF6GL

Hallo,

ich verstehe nicht, wie der User mittels Suche in Excel an die DB-Daten kommen sollte...
Oder willst Du gesamte DB nach Excel exportieren und der User soll dann in diesen Excel-Daten herumsuchen?

Dein Konzept ist mir unklar..  Wenn wir das besser klären könnten, gäbe es vielleicht einen besseren Weg, damit der User an seine Infos kommt.


Als alternativer Weg ist hier Excel-Automation ("Fernbedienung" von Excel mittels Access-VBA) zu erwähnen. Damit könnten Excel-Zellen gezielt mit Tabellendaten versorgt werden.

(btw: Es ist auch möglich, aus Excel heraus (und ohne Access zu haben) auf eine Access-DB und deren Daten zuzugreifen. Weiterhin könnte man auch die kostenlose Access-Runtime beim User installieren, so dass der User nicht die Access-Vollversion benötigt.)
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