Neuigkeiten:

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

Mobiles Hauptmenü

Kombifeld Problem mit nicht in Liste

Begonnen von MrB, Februar 04, 2020, 14:15:39

⏪ vorheriges - nächstes ⏩

DF6GL

#30
Hallo,


die Abfragen brauchst Du nicht, wenn das Form "frmAllParts" gebunden ist/wird (Datenherkunft "tblAllParts") .

Das Feld "ID_WS-F" entfällt und somit auch die Beziehung zu "tblWorkshop_1". Diese Tabelle ist auch aus dem Beziehungfenster zu löschen.

Die Beziehung "ID_Teile" zu "ID-Teile_F" ist mit ref. Integrität zu versehen.

Und ja, die Tabelle "tblWorkShopParts" entspricht der "tbl_Stueckliste"  . Diese Benennung sorgt für mehr Transparenz, weil sie  die Bedeutung der Tabelle erklärt. (Feldnamen anpassen nicht vergessen!).


Nachdem diese Änderungen nun gemacht sind, erklär bitte nochmal, was es sich mit dem Feld  "InternerCode" in tblAllParts" auf sich hat. Das Feld gehört m. E. dort nicht hin, eher muss es in tblWorkshopParts aufgenommen werden, sofern es nicht aus vorhandenen Daten berechnet werden kann und von "Workshops" abhängig ist.


Du merkst sicher, dass wir hier noch nicht um Abläufe , bzw. Formularablaufsteuerung reden, nur über Datenbeziehungen.
Formulare kommen später dran, wenn die Datenkonstellation (Tabellenaufbau) stimmig ist.

PS:

Ändere in den Tabellenfeldnamen das Minus-Zeichen (bzw. alle Sonder- und Leerzeichen) in den Unterstrich!

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

MrB

Ja mir ist aufgefallen, das wir eher mit den Grundlagen arbeiten wie mit dem was ich glaubte zu brauchen  8)

Zitatdie Abfragen brauchst Du nicht, wenn das Form "frmAllParts" gebunden ist/wird (Datenherkunft "tblAllParts") .
Abfragen habe ich gelöscht, wobei das in 2 Tabellen muss aus dem frm_Neuteil_anlegen.

ZitatDie Beziehung "ID_Teile" zu "ID-Teile_F" ist mit ref. Integrität zu versehen.
Ist mit der gekürzten tblAllParts nicht möglich, weil Werte fehlen in meinem Original ist das so. Siehe neues Bild der Beziehungen.
ZitatUnd ja, die Tabelle "tblWorkShopParts" entspricht der "tbl_Stueckliste"  . Diese Benennung sorgt für mehr Transparenz, weil sie  die Bedeutung der Tabelle erklärt.
Denke ist ok so ? Wie im Bild sichtbar

ZitatNachdem diese Änderungen nun gemacht sind, erklär bitte nochmal, was es sich mit dem Feld  "InternerCode" in tblAllParts" auf sich hat.
Der ergibt eine Zahlenkombination in dem Format XXX-XXX.
Meine Idee war eigendlich:
Ich nehme die Workshop ID(2 Stellen)
                 die Material ID   (2 Stellen)
                 G_Item_German(3 Stellen)
                SG_Item_German(3Stellen)
sodass sich eine Nummernkombination ergibt aus der ich erkennen kann, was habe ich vor mir und wohin muss ich damit.
Von der Speicherung der ersten beiden habe ich mich verabschiedet, weil sind ja berechenbar.
Die beiden 3er Blöcke kann man nicht berechnen, so wie ich angefangen habe.
Mein Ansatz war , das jede Kombination von Workshop und Materialgruppe(zB 07-01) mit 001-001 anfängt.(07-01-001-001)
Inzwischen denke ich das war nicht der beste Ansatz. Einfaches hochzählen ohne die ersten beiden zu beachten wäre besser gewesen.
Wichtig für mich ist nur, das wenn G_Item_German mehrfach vorhanden ist auch immer die gleichen Stellen verwendet werden.
ZitatG_Item_German          SG_Item_Germ
           001 Satz Laborglas       001  Laborflasche,  250 ml
           001 Satz Laborglas       002  Laborflasche, 500 ml
und aufsteigend dann die Einzel- oder Ersatzteile vernummert werden mit SG_Item_German.
Hier im Beispiel halt die unterschiedlichen Flaschen, kann aber ja ebenso das Ersatzspannfutter für eine Bohrmaschiene sein.
Ich sehe den Internen Code als zusätzliche Beschreibung.



DF6GL

Hallo,

nochmal: die Beziehung von Workshop zu AllParts ist falsch!
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

MrB

Hallo Franz
Verdammt vergessen zu schreiben warum die da sein muss.
Die Bezeichnung Workshop wird zweimal verwendet einmal für die Liste tblWorkshopParts um die Teile einem Workshop zuzuordnen und um das Teil zu Vernummern über die tblAllParts

ZitatID_Workshop und ID_Materialgruppe        G_Item_German          SG_Item_German
          8                            29                      001 Satz Laborglas       001  Laborflasche,  250 ml

Entschuldige bitte

Cord

DF6GL

#34
Hallo,

also, ich und Du verstehen das nicht....

in Tbl_allParts stehen alle Einzel-Teile, die in dieser insgesamten Konstellation zu betrachten sind.
Also irgendein Bohrfutter, irgend eine Flasche oder sonstwas, was durch eben die Tabellenfelder (Teile-Eigenschaften) definiert wird.

Soweit ich verstanden habe, sollen gewisse Teile zu einem Workshop (Abteilung, Arbeitszimmer, Maschine oder sonstwas zugeordnet werden. Ein solches Teil (ein bestimmtes Bohrfutter mit bestimmten Eigenschaften) soll dabei in/bei einem Workshop (Vielleicht ist das besser mit "WorkPlace" oder "Arbeitsplatz" zu benennen, spielt aber jetzt keine Rolle) mit einer gewissen Anzahl ("qty", z. B. 3 Stück ) vorhanden sein. 

Mit der jetzigen Tabellenaufbau sind die einzelnen (3 Stück) "tblWorkShopTeil" nicht auflösbar, heißt, es kann keine "Seriennummer" für jedes einzelne Bohrfutter erfasst werden. Wenn das sein muss/soll, dann ist eine weitere Tabelle "tblWorkshopTeilSeriennummer" erforderlich, in der für die gegebene Anzahl Teile (3 Stück) deren Seriennummer (oder wegen mir auch laufende Nummer) festgehalten wird. Wenn es nur auf die Anzahl (Qty) ankommt, kann diese Tabelle natürlich entfallen.

Andererseits ist vorstellbar, das es in "tblAllParts" für jede Seriennummer eines Teiles einen eigenen Datensatz gibt. Somit müssten bei unserem Beispiel die 3 (bis auf die Seriennummer identischen) Bohrfutter einzeln "in tblWorkshopTeile" erfasst werden.

ZitatDie Bezeichnung Workshop wird zweimal verwendet einmal für die Liste tblWorkshopParts um die Teile einem Workshop zuzuordnen und um das Teil zu Vernummern über die tblAllParts

Das ist -sorry- Quatsch... Wie oben erläutert, gibt es keine "Vernummerung" in tblAllParts..

Wenn Du "anders" angefangen hast, dann bleibt nichts Anderes übrig, als nochmal neu anzufangen, sonst drehen wir uns nächstes Jahr immer noch im Kreis.

Wenn Du eine Interne Nummer aus einzelnen Kennzahlen zusammensetzen willst, dann braucht es in den einzelnen 1-Tabellen jeweils ein Feld, das eben diese "Kennzahl" darstellt und das für die Zusammensetzung ("Berechnung") der internen Nummer dient.

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

MrB

Hallo Franz
irgenwie reden wir immer wieder aneinander vorbei, aber wir werden uns treffen.
Zitatin Tbl_allParts stehen alle Einzel-Teile, die in dieser insgesamten Konstellation zu betrachten sind.
Also irgendein Bohrfutter, irgend eine Flasche oder sonstwas, was durch eben die Tabellenfelder (Teile-Eigenschaften) definiert wird.
Genau so
ZitatSoweit ich verstanden habe, sollen gewisse Teile zu einem Workshop (Abteilung, Arbeitszimmer, Maschine oder sonstwas zugeordnet werden.
auch richtig
ZitatEin solches Teil mit einer gewissen Anzahl ("qty", z. B. 3 Stück ) vorhanden sein.
ja

ZitatMit der jetzigen Tabellenaufbau sind die einzelnen (3 Stück) "tblWorkShopTeil" nicht auflösbar, heißt, es kann keine "Seriennummer" für jedes einzelne Bohrfutter erfasst werden. Wenn das sein muss/soll, dann ist eine weitere Tabelle "tblWorkshopTeilSeriennummer" erforderlich, in der für die gegebene Anzahl Teile (3 Stück) deren Seriennummer (oder wegen mir auch laufende Nummer) festgehalten wird. Wenn es nur auf die Anzahl (Qty) ankommt, kann diese Tabelle natürlich entfallen.
Nicht jedes "Bohrfutter" soll eine Seriennummer bekommen sondern das Bohrfutter immer die gleiche wieder(Vorausgesetzt der gleiche Typ). Aber die Nummer soll mit der dazugehörenden Bohrmaschine "gekoppelt" sein.
G_Item_German  = Bohrmaschine mit Zubehör = 001
SG_Item_German= Bohrmaschine Bosch 4711  = 001
Ergibt den InternenCode   001-001

G_Item_German  = Bohrmaschine mit Zubehör = 001
SG_Item_German= Bohrfutter für Bohrmaschine Bosch 4711  = 002

Ergibt den InternenCode   = 001-002

das meine ich mit Koppeln an den dazugehörigen Oberbegriff (Bohrmaschine mit Zubehör) also bekommen alle Bohrmaschinen egal ob Bosch Makita oder Nivea immer die 001-XXX.

ZitatDas ist -sorry- Quatsch... Wie oben erläutert, gibt es keine "Vernummerung" in tblAllParts..

Das habe ich verstanden, aber ich brauche doch die Kennzahl für den Workshop
ZitatWenn Du eine Interne Nummer aus einzelnen Kennzahlen zusammensetzen willst, dann braucht es in den einzelnen 1-Tabellen jeweils ein Feld, das eben diese "Kennzahl" darstellt und das für die Zusammensetzung ("Berechnung") der internen Nummer dient.
in der tblAllParts, da sich meine Nummer auch aus der Workshopkennung ergeben soll.
Oder muss diese zusammengesetzte Nummer aus einer neuen Tabelle entstehen ?

Wenn ich in der Nummer, die ich erstellen will den Workshopcode weglasse wird diese um 2 Stellen gekürzt(XX-XXX-XXX), da mir grade bewusst wird, das viele Teile in mehreren Workshops zusammenkommen(Bohrmaschine ist hier ein gutes Beispiel) also eigendlich die Zuordnung über die tblWorkshopParts ausreichen sollte damit alles in die richtige Bahn gelenkt wird.
Das würde heissen die Kennzahl für Materialgruppe ist in tblAllParts vorhanden und mit der tblMAT_Gruppe in Beziehung gesetzt.
Als zweites Feld nehme ich den internen Code der dann ja nur eine zusätzliche Beschreibung des Teiles ist.

Ich denke das reicht aus um die Teile für uns zu Identifizieren.
Den internen Code würde ich am besten neu erstellen, um die vielen doppelten zu löschen und einfach aufsteigend machen.
Ich weiss, das ich ja die ID_Teile habe, aber die schafft ja keine Verbindung der Teile zueinander wie der 6 Stellige Code.

ZitatWenn Du "anders" angefangen hast, dann bleibt nichts Anderes übrig, als nochmal neu anzufangen, sonst drehen wir uns nächstes Jahr immer noch im Kreis.
das möchte ich vermeiden mir wird so schnell schwindelig  ;D

Muss ich die tblAllParts noch weiter aufbrechen, oder kann ich die so nutzen wie sie ist? Habe ein Bild mit Beschreibungen angehängt.

Ich schlage 3 Kreuze wenn ich mann erstmal die Tabellen hinhabe mit deiner Hilfe und du mir meine Vorstellungen auf das machbare und richtige zurechtgestutzt hast.

Cord

DF6GL

Hallo,

eieieiei...

Ich mach Dir folgenden Vorschlag:

schreib mir eine Email (d f 6 g l ( ä t ) g m  x  .  de . Wir reden dann mal kurz am Telefon ....
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

MrB


MrB

So nach einigen Tage Arbeit an anderen Dingen habe ich hoffentlich hinbekommen was Franz mir empfohlen hat.
Ich hänge hier mal ein Bild der neuen Beziehungen an und bitte euch bzw dich Franz einen Blick draufzuwerfen, ob das so in Ordnung geht.
Wenn ja werde ich mich wieder an die Formulare und Abfragen machen.
Cord

DF6GL

Hallo,

ruf mich nochmal an... Es sind noch ein paar Worte dazu zu sagen. (Normalisierung, Beziehungen, Feld-Bedeutungen)
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

MrB