Neuigkeiten:

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

Mobiles Hauptmenü

Abfragewerte in VBA weiterverarbeiten

Begonnen von CadianKeyWarrior, März 28, 2024, 16:34:50

⏪ vorheriges - nächstes ⏩

CadianKeyWarrior


Verstehe, dann werde ich mich von dem Konzept der vier verschiedenen Tabellen verabschieden.

Der neue Aufbau wären dann quasi:
Ein Formular mit Kombinationsfeldern zur Auswahl von Produktgruppen und Produkten. Welches wiederum ein Unterformular mit der Tabelle zum Eintragen öffnet. Da diese mit den anderen Tabellen durch Schlüsseln in Verbindung steht, werden mir nur noch die benötigten Spezifikationen angezeigt.

Zitat von: MzKlMu am März 31, 2024, 13:59:12Dann brauchst eine weitere Tabelle in der die zutreffenden Spezifikationen einem Produkt zugeordnet werden.

Wie würdest du diese Tabelle aufbauen? Angenommen Produkt A hat Spezifikation 1,2,3. Bisher hatte die Tabelle dann 3 Datensätze. Jeweils mit Produkt + Spezifikation. Ist das so Korrekt oder lege ich einen Datensatz immer mit dem Produkt und allen Spezifikationen an?

Zitat von: MzKlMu am März 31, 2024, 13:59:12Von dem was Du bis jetzt hast wirst Du nichts verwenden können, Du musst noch mal von vorn anfangen.

Schade, dann kommt da morgen wohl eine Nachtschicht auf mich zu.

Zitat von: MzKlMu am März 31, 2024, 13:59:12Bevor Du weitermachst, beschäftige Dich damit.


Danke, darin hab ich schon ein paar mal gelesen, anscheinend nicht gründlich genug.


MzKlMu

Hallo,
ZitatEin Formular mit Kombinationsfeldern zur Auswahl von Produktgruppen und Produkten.
Nein, es wird nur das Produkt ausgewählt, die Produktgruppe ergibt sich automatisch da es beim Produkt einen Fremdschlüssel (FS) zur Gruppe gibt und die Gruppe somit automatisch bestimmt ist.
ZitatAngenommen Produkt A hat Spezifikation 1,2,3
Dazu ist wie gesagt diese Zuordnungstabelle notwendig.
Dort gibt es ein FS zum Produkt und ein FS zur zutreffenden Spezi.

Kannst Du bitte mal diese Spezi beschreiben ?
Müssen da Werte erfasst werden die für Produkt A unterschiedlich sein können ?
Gruß Klaus

CadianKeyWarrior

Zitat von: MzKlMu am März 31, 2024, 18:03:05Nein, es wird nur das Produkt ausgewählt, die Produktgruppe ergibt sich automatisch da es beim Produkt einen Fremdschlüssel (FS) zur Gruppe gibt und die Gruppe somit automatisch bestimmt ist

Achso, ich dachte dass man vielleicht durch die vorherige Auswahl der Produktgruppe die Auswahl an Produkten einschränken könnte.

Zitat von: MzKlMu am März 31, 2024, 18:03:05Dazu ist wie gesagt diese Zuordnungstabelle notwendig.
Dort gibt es ein FS zum Produkt und ein FS zur zutreffenden Spezi

Genau das mit der Zuordnungstabelle und FS hab ich verstanden. Nur weiß ich nicht wie ich die Tabelle an sich aufbaue. Um Beim Beispiel von vorhin mit Produkt A und Spezifikation 1,2,3 zu bleiben:

A / 1
A / 2
A / 3

oder:

A/ 1 / 2 / 3

Zitat von: MzKlMu am März 31, 2024, 18:03:05Müssen da Werte erfasst werden die für Produkt A unterschiedlich sein können ?

Ja und nein Spezifikation kann z.B. Farbe sein, dann sind die Werte für alle Produkte A gleich. Es kann aber auch sowas wie Viskosität mit sehr genauer Messung sein, dann unterscheidet es sich.


MzKlMu

#18
Hallo,
die Version 1 des Tabellenentwurfs ist die Richtige.
ZitatAchso, ich dachte dass man vielleicht durch die vorherige Auswahl der Produktgruppe die Auswahl an Produkten einschränken könnte.
Ja, das geht, aber dann muss das Feld für die Gruppe ungebunden auf dem Formular sein.

Das mit den Spezifikationen ist mir noch nicht klar.

Du hast ProduktA mit der Farbe und Viskoität, das eine ist Grün und die Visko z.B. 2

Bleibt das dann gleich, oder, wenn das ProduktA wieder hergestellt wird kann das Rot als Farbe sein und 3 als Visko ?

Oder wie muss man sich das vorstellen ?
Gruß Klaus

Beaker s.a.

@klaus
ZitatHallo,
Zitat
Ein Formular mit Kombinationsfeldern zur Auswahl von Produktgruppen und Produkten.
Nein, es wird nur das Produkt ausgewählt, die Produktgruppe ergibt sich automatisch da es beim Produkt einen Fremdschlüssel (FS) zur Gruppe gibt und die Gruppe somit automatisch bestimmt ist.
Na ja, zur Erfassung neuer Produkte brauchst man es schon, und auch gebunden.
Zum Filtern muss dann ein zweites, gleiches und ungebundenes her.
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)

CadianKeyWarrior

Zitat von: MzKlMu am März 31, 2024, 19:41:39Du hast ProduktA mit der Farbe und Viskoität, das eine ist Grün und die Visko z.B. 2

Bleibt das dann gleich, oder, wenn das ProduktA wieder hergestellt wird kann das Rot als Farbe sein und 3 als Visko ?

Oder wie muss man sich das vorstellen ?

So in etwa. ProduktA wird zwar immer Grün sein, aber eine Charge hat eine Viskosität von 2,123456 und die nächste eine von 2,123455.

MzKlMu

Hallo,
jetzt kommt auch eine Charge vom Himmel gefallen. Das muss auch im Datenmodell berücksichtigt werden.

Damit sind wir doch aber wieder genau bei Deinem ursprünglichen Thema, mit dem Du nicht weiter gemacht hast..

https://www.access-o-mania.de/forum/index.php?topic=26958

Zitat aus dem obigen Thema:

ich sehe hier folgende Tabellen.

Zitat von: Klausich sehe hier folgende Tabellen.
1. Produkte
2. Chargen (mit FS zum Produkt)
3. Spezifikationen (alle die es gibt)
4. ProduktSpezi (FS zum Produkt, FS zur Spezi)
5. ChargeSpezi (FS zur Charge, FS zur Spezi, Feld für Messwert, ggf. Datum/Zeit)
Gruß Klaus

CadianKeyWarrior

#22
Zitat von: MzKlMu am April 01, 2024, 13:54:19Damit sind wir doch aber wieder genau bei Deinem ursprünglichen Thema, mit dem Du nicht weiter gemacht hast..

Da hast du absolut recht. Ich dachte zu Beginn dieses Themas noch, ich wäre schon einen Schritt weiter als, was sich nun jedoch als falsch herausgestellt hat. Aber dann mache ich mich jetzt mal ans Werk und setze die neuen/alten Erkenntnisse um.

Mit Folgender Tabelle habe ich meine Probleme:
5. ChargeSpezi (FS zur Charge, FS zur Spezi, Feld für Messwert, ggf. Datum/Zeit)

Das heißt der Aufbau mit Eintrag ProduktA sähe wie folgt aus:
FSCharge/FSSpezi/Messwert
10/1/grün
10/2/2,5
10/3/5,5

Also für jede Spezifikation die ein Produkt hat, wird ein neuer Datensatz hinzugefügt?

Beaker s.a.

Und für jede Charge auch. Da würde ich dann auch den Wert
der Viskosität unterbringen.
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)

CadianKeyWarrior

Alles klar, Danke. Das ist ja noch einiges an Arbeit die vor mir liegt^^

CadianKeyWarrior

Hallo zusammen,

ich wollte mich mal wieder melden und sicher gehen, dass meine Arbeit nicht umsonst ist. Deswegen anbei ein Bild meiner aktuellen Tabellen/Beziehungen. Ist das so korrekt?

Josef P.

Hallo!

Im gezeigten Datenmodell ist über die Beziehungen nicht abgesichert, dass nur Spezifikationen vom Produkt in der jeweiligen Charge vorkommen dürfen.

Du könntest z. B. zum Produkt nur Viskosität und Farbe definiert haben und in der ChargenSpezi steht zur Charge nur die Dichte.
Falls das über das Datenmodell abgesichert sein soll, müsste man mit Doppelschlüssel arbeiten, was in der Bedienung etwas lästiger wird, als nur den Surrogat-Schlüssel zu verwenden.

Eine Kompromisslösung könnte sein, in der ChargenSpezi statt FSSpezifikation den Fremschlüssel auf 4ProduktSpezi.Schlüssel zu legen. Wobei dass dann nicht verhindert, dass eine Satz aus ProuktSpezi von einem anderen Produkt in der ChargenSpezi landet.

Du könntest aber auch einfach für dich festlegen: "Ich pfeiff auf die Absicherung im Datenmodell und sichere das im Programcode ab, dass keine nicht passenden Spezifikationseinträge gemacht werden."
Wichtig ist dabei nur, dass du weißt, dass im Datenmodell nicht alles abgesichert ist, falls es einmal zu Falscheinträgen kommt. ;)

BTW:
Schlüssel würde ich nicht als Namen für den Primärschlüssel verwenden.
Ich nehme dafür gerne id... gefolgt von der Tabellenkennung z. B.: "idChargenSpezi"
Genauso würde ich die Zahlen aus den Tabellennamen entfernen. Wenn du eine Abhängigkeit darstellen willst, könntest du das auch so umsetzen:

Spezifikationen
Produkte
Produkte_Spezi (=4ProduktSpezi)
Produkte_Chargen (=2ChargenFSPRodukt)
Produkte_Chargen_Spezi (=5ChargenSpezi=

Dann hast du die Namen passend gruppiert.
"_" steht als Symbol für 1:n-Tabelle/untergeordnete Tabelle


Gruß
Josef


CadianKeyWarrior

Hallo Josef viele Dank für deine Antwort. In dem Fall werde ich wohl auf die Absicherung pfeiffen.

Aktuell erschließt sich mir noch nicht ganz, wie es weiter geht. Ich habe ja ein Formular mit den entsprechenden Kombinationsfeldern um nach dem Produkt zu Filtern, sowie ein Unterformular, welches dann gefiltert wird. Nur welche Tabelle nehme ich als Datenherkunft für das Unterformular?

Josef P.

ZitatNur welche Tabelle nehme ich als Datenherkunft für das Unterformular?
Die zu Aufgabe des Unterformulars passt. ;)

Wenn du eine neue Charge anlegen willst, wird die Tabelle, in der die Chargen-Nummern verwaltet werden, nicht falsch sein.
Vielleicht nimmt du dann in das Chargen-Formular wieder ein Unterformular zur Eingabe der Spezifikationswerte usw.

Gruß
Josef