Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Artikel-Beziehungen in Textfeld ausgeben

Begonnen von FrankiLi, Februar 21, 2017, 17:18:06

⏪ vorheriges - nächstes ⏩

FrankiLi

Hallo zusammen,

folgendes Thema:

- Tabelle "Artikel" mit Artikel-Stammdaten
- Tabelle "Beziehungen" mit Zubehör-Zuordnungen n:n, die sich quasi 2 mal auf "Artikel" bezieht und eine Beziehung zwischen den beiden herstellt sowie eine Zubehör-Gruppe definiert. Struktur: [ID_Hauptartikel] - [Gruppenname] - [ID_Zubehoerartikel]

Dieser Sachverhalt muss nun in 1 (ein) Textfeld geschrieben werden, das einem Hauptartikel zugeordnet wird, in folgendem Format:

[Gruppenname]: [ID_Zubehoerartikel] | [ID_Zubehoerartikel] | usw... - Zeilenumbruch
[Gruppenname]: [ID_Zubehoerartikel] | [ID_Zubehoerartikel] | usw... - Zeilenumbruch
usw...

Also jede vorkommende Gruppe 1 mal mit allen Artikeln, die mit dieser Gruppe zugeordnet wurden. Der Gruppenname steht natürlich in einer n:1-Schlüsseltabelle, ich habe das oben vereinfacht.

Ich habe im Moment keinen Plan, wie ich vorgehen soll. Eventuell per Pivot?

Danke vorab für jeden Tipp.

Gruss
Frank

MzKlMu

Hallo,
zeige mal ein Bild des Beziehungsfensters, ich kann mir den Aufbau gerade nicht so vorstellen.
Gruß Klaus

FrankiLi

Tabelle Artikel
- ID_Artikel
- Name
- Bezeichnung
....

Tabelle Beziehungen
- ID_Beziehung
- fiD_Gruppe  (n:1)
- fID_Artikel Hauptartikel (n:n)
- fID_Artikel Zubehoerartikel (n:n)

Tabelle Gruppen
- ID_Gruppe
- Gruppenname

MzKlMu

Hallo,
das Beziehungsbild war gefragt.
Besonders wegen der doppel Beziehung zu Artikel wäre das wichtig zu sehen.
Gruß Klaus

FrankiLi

Hallo...,

- fID_Artikel Hauptartikel (n:n zu [Artikel].[ID_Artikel])
- fID_Artikel Zubehoerartikel (n:n zu [Artikel].[ID_Artikel])

Jeder Artikel kann in den Beziehungen mehrmals Hauptartikel und mehrmals Zubehör sein.

Ich kann das auch grafisch darstellen (Beziehungen sind auf dem SQL-Server als PKs und FKs), aber mit o.g. sollte es ja klar sein.

Diese Beziehungen sind auch nicht das Problem, ich kann ja alles per Abfrage klar darstellen, mir gehts darum, wie dieses Ergebnis in das genannte Textformat geschrieben werden kann.

Gruss
Frank

DF6GL

Hallo, 

die eigentliche Frage (neben dem Zweifel an der Normalisierung) liegt darin, wozu das Ganze gut sein, bzw. was anschließend mit dem Inhalt des Textfeldes passieren soll.


Zunächst sollte aber http://dbwiki.net/wiki/VBA_Tipp:_Liste_per_SQL_aufbauen    aus DBWIKI , zumindest prinzipiell, weiterhelfen.



FrankiLi

#6
Hallo Franz,
hallo Klaus,

bitte nicht böse sein, aber die "eigentliche Frage" ist die, die ich gestellt habe. Mir geht es weder darum, irgendwas an der Normalisierung zurecht zu rücken (denn das hat mit dem eigentlichen Thema gar nichts zu tun) noch darum, wozu das Textfeld gut sein soll (es ist zu was gut, warum sollte ich es denn sonst brauchen, bzw. warum muss ich das jetzt aufwändig erklären?) und was mit dem Textfeld passieren soll (dito). Mir geht es gar nicht um Fragen, die ich nicht gestellt habe, sondern um das Thema, das mich beschäftigt. Für diesbezügliche Hilfe wäre ich sehr dankbar, kann aber nicht grundsatzdiskutieren über andere Themen, dazu fehlt mir definitiv die Zeit. Wobei ich verstehe, dass sich hier oft gerne mit Themen beschäftigt wird, die gar nichts mit der Fragestellung sondern der Philosophie des Datenbankaufbaus zu tun hat, aber da kann ich im Moment leider nicht als Schüler dienen, ich brauche einfach nur konkrete Hilfe, um in meinem Projekt weiterzukommen. Falls das im Sinne von Geben und Nehmen unfair klingt, tut mir das ehrlich leid und stelle ich mich gerne separat im Urlaub o.ä. zur Verfügung.

Danke für den Link.

Gruss
Frank

MzKlMu

#7
Hallo,
wenn man einen Vorschlag machen will, so muss man den Aufbau verstehen, anders macht es keinen Sinn. Und diesbezügliche Rückfragen haben mit dem Datenmodell auch erst mal nichts zu tun. Ich habe auch nicht das Datenmodell angezweifelt, ich denke nämlich das stimmt. Ich wollte an Hand des Beziehungsbildes wissen, ob die Abfrage richtig umgesetzt ist.
Selbst wenn die Beziehung (mit 2x Artikeltabelle) richtig ist, heißt das nicht, dass die Abfrage auch stimmt. Wenn man die Abfrage im Entwurf erstellt, setzt das Access immer falsch um, die Abfrage muss manuell bearbeitet werden. In der Abfrage muss nämlich für die 2.Artikeltabelle auch ein Alias (.._1) vergeben werden. Ohne können die Artikel nicht unterschieden werden. Daher wollte ich ja unbedingt mal ein Bild sehen. Aus der Beschreibung ist die Umsetzung nicht zu erkennen.

Und nicht zuletzt hat Dir Franz ja auch eine mögliche Lösung gezeigt (der Link) auf die es wahrscheinlich herausläuft. Hast Du Dir den Link von Franz mal angesehen ?

PS:
Wenn man in einem Access Forum nach Hilfe fragt, gehören Rückfragen zum Datenmodell einfach dazu. Hier im Forum gibt es sehr viele Beiträge, wo die Frage nach dem Datenmodell auch erst unwillig beantwortet wurde und der Fragesteller dann trotzdem letztendlich über die Zweifel froh war, weil das zu einem bessern Aufbau geführt hat. Wobei ich hier glaube dass das Datenmodell stimmt und nur in einem Nebensatz dieses bezweifelt wurde. Alles andere waren Fragen zum Verständnis.
Gruß Klaus

FrankiLi

Natürlich hat die zweite Artikeltabelle in der Abfrage ein Alias. Sonst würde sie ja gar nicht funktionieren. Sie funktioniert, das war und ist nicht das Problem.

Als Ergebnis steht da die ID der Beziehung, die Artikelnr des Hauptartikels, der Gruppenname und die Artikelnr des Zubehörartikels (aktuell steht das da ca. 50.000 mal). Und dieses vorliegende Ergebnis soll in besagtes Textfeld.

Klar habe ich mich nicht nur für den Link bedankt (!?), sondern mir ihn und insbesondere die darüber verlinkte Seite angesehen. Habe leider mit VBA keine Erfahrung, aber möglicherweise geht es nur darüber.

PS:
ZitatHier im Forum gibt es sehr viele Beiträge, wo die Frage nach dem Datenmodell auch erst unwillig beantwortet wurde und der Fragesteller dann trotzdem letztendlich über die Zweifel froh war, weil das zu einem bessern Aufbau geführt hat.
Verstehe ich und auch die daraus resultierende Vorgehensweise, auch wenn sie in meinem Fall nicht zutrifft (ohne damit zu sagen, dass der Aufbau perfekt ist), was aber niemand wissen kann - insofern bitte nichts für ungut.

MzKlMu

Hallo,
meiner Meinung nach funktioniert es nur mit dem Aufbau als SQ Liste wie in dem Link beschrieben.
Gruß Klaus