Neuigkeiten:

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

Mobiles Hauptmenü

Mehrfachfleder / Abfrage

Begonnen von KODAN, März 19, 2012, 09:22:58

⏪ vorheriges - nächstes ⏩

KODAN

Hallo,

folgender Ausgangszustand

Tabelle: 5 Spalten

100   A    B   C    D
101   B    C   F
102   C

Möchte jetzt gerne eine Spalte wo die Spalten der Buchstaben zusammengefasst werden (falls dies für die folgende Abfrage überhaupt notwendig ist!).
100 A,B,C,D   
101 B,C,F
102 C

Ergebnis sollte eine Abfrage sein inder der ich.

A: Abfragen kann wo Überall Typ A usw. Vorkommt.

A   100
B   100,101
C   100,101,102
D   100
F    101

Gruß und danke im voraus...

oma

Hallo Kodan,

da du vermutlich ein "verbesserungsbedürftiges" Tabellenmodell benutzt, wäre eine Erläuterung zu den Feldern und Tabellen für eine Hilfe sehr zweckmäßig ;D

Gruß Oma
nichts ist fertig!

KODAN

Hallo,
sicherlich gibt es bessere Datenbankstrukturen.
Lieder muß ich auf einen "Altbestand" zurückgreifen.

Es geht um Produktionsmittel die für verschiedenen Produkte genutzt werden können.

So kann mit Maschine 1 das Produkt A, B oder C gefertigt werden und mit Maschine 2 Produkte B und C.
Die zu fertigenden Produkte stehen in den Spalten 2 bis 5 (könnten auch noch mehr Spalten werden daher dachte ich an eine Mehrfachfeld). Die Maschine mit der gefertigt wird steht in Spalte 1.

Ich benötige nun eine Abfrage mit der ich sehen kann was alles mit Machine 1 gefertigt werden kann UND umgekehrt welches Produkt mit welchen Maschinen gefertigt werden kann.

Denke es ist ein wenig verständlicher erklärt.

MFG Kodan




MzKlMu

#3
Hallo,
ich würde Dir dringend raten, das Datenmodell zu ändern. Gerade im Hinblick auf diesen Satz von Dir:
Zitatkönnten auch noch mehr Spalten werden daher dachte ich an eine Mehrfachfeld
Und vergiss Mehrfachfelder, die sind in einer Datenbank unbrauchbar.
Lege eine korrekte n:m Beziehung an zwischen Maschine und Produkt mit einer Zwischentabelle welche Maschine welches Produkt fertigt. Je Zuordnung ein Datensatz. Alles andere ist Krampf, den Du über kurz oder lang über den Haufen werfen musst.

Bei der vorgeschlagenen Strukturänderung wäre die gewünschte Darstellung mit einer Kreuztabellenabfrage problemlos möglich.
Gruß Klaus

KODAN

Hallo MzKlMu,

du hast vollkommen recht.
Leider ist es wie gesagt Altbestand.
Würde mir aber die Mühe machen das mit einer Zwischentabelle zu lösen..Aber..Ich weiss leider nicht wie ich Beziehung aus 4 Spalten (Produkten) zu einer Maschine herstellen soll?
Gehr das nur händisch?

Gruß Kodan

oma

Hallo Kodak,

wenn du die Sache effektiv mit einer DB gestalten willst, kommst du um einen Tabellenumbau nicht herum. Für das befragte Problem muss es etwa so gestaltet werden:

tblMaschine: M_ID_P (Primärschlüssel),   BezeichnungMaschine, ...
tblProdukte: P_ID_P (Primärschlüssel),  BezeichnungProdukt, ...
tblMaschineProdukt:  ID_MP (Primärschlüssel), M_ID_F (Fremdschlüssel Maschine), P_ID_F(FremdschlüsselProdukt), Bemerkung, ....


Gruß Oma
nichts ist fertig!

Beaker s.a.

Hallo,
@oma
Ich glaube seine letzte Frage zielte eher in die Richtung:
Wie bekomme ich die alten Daten in die neue Struktur?

@Kodan
Falls obige Vermutung richtig ist, müsste es etwa folgendermassen
ablaufen:
1. Du erstellst das neue Modell, wie von oma angerissen
2. mit entsprechenden Anfügeabfragen verteilst Du die alten
Daten in die neue Struktur. Falls das nicht geht, könnte man
bei so einer, wohl eher einmaligen, Aktion es auch in VBA per
Recordsets erledigen.
hth
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

Hallo,
und noch ein Hinweis zu seinem Zitat:
ZitatIch weiss leider nicht wie ich Beziehung aus 4 Spalten (Produkten) zu einer Maschine herstellen soll?
Bei der geänderten Struktur gibt es nur eine Beziehung über die Produktid und eine Beziehung über die MaschinenID, es gibt also keine 4 Beziehungen zu den Produkten, da es nur eine Produktspalte gibt.
Gruß Klaus

KODAN

Frage hierzu noch...

Warum müssen die Beziehungen über die Id gehen und können nicht direkt über die Maschinennummern und Produktnummern gehen?

Gibt es das einen Grund? Wäre halt einfacher handzuhaben...Gleich mit Nummern zu arbeiten statt mit ID!

Grup Kodan.

DF6GL

Hallo,

es hindert Dich niemand daran, eindeutige Nummern(felder) als Primärschlüssel- , bzw. Fremdschlüsselfelder zu benutzen. In diesem Fall sind reine, bzw. zusätzliche ID-Felder (Autowerte)  überflüssig.  Lediglich Textfelder als Schlüsselfelder zu benutzen, hat gewisse Nachteile, weil mitunter eine Eindeutigkeit nicht gewährleistet ist und auch die Performance (in bezug auf Datenbank-Operationen) leidet.

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