Neuigkeiten:

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

Mobiles Hauptmenü

Mehrere Gruppen abhängiger Kombifelder in einem Frm wollen nicht funktionieren!!

Begonnen von Kei-Koo, Februar 13, 2011, 12:27:52

⏪ vorheriges - nächstes ⏩

Kei-Koo

Hallo Forum,

Ich habe ein Problem, wenn ich mehrere Gruppen von abhängigen Kombifelder in einem Formular benutzen möchte.

Ich fange einfach mal an und erkläre kurz was ich realisieren möchte:

Ich habe mehrere Tabellen (tblKategorie, tblHersteller, tblArtikelKatalog).
In einem Formular frmEquipment, möchte ich abhängige Kombinationsfelder mit Daten aus den obigen Tabellen füttern.
Diese Datensätze werden in einer weiteren Tabelle (tblEquipments) eingetragen. Hier werden jeweils nur die ID´s eingetragen, so wie es ja auch sein sollte.
Im Formular sind auch noch zusätzliche Textfelder vorhanden, die bei der Auswahl eines Artikels dann automatisch ausgefüllt werden, mit den Daten aus der tblArtikel.
Das alles habe ich bis hierhin auch gut hinbekommen und funktioniert.

Und jetzt zum Problem:
Jetzt habe ich versucht im gleichen Formular eine weitere Gruppe abhängiger Kombinationsfelder hinzuzufügen, und ein paar dazugehörige Textfelder für weitere Detailinformationen. Hier sollte wiederum aus den oben genannten Tabellen ein weiterer Artikel ausgewählt und automatich die dazugehörige Textfelder ausgefüllt werden können.
Zweck ist hier dass zu einem ausgewählten Artikel (z.B. eine Leuchte) auch noch ein Zubehör ausgewählt werden kann (z.B. Leuchtmittel). Auch diese Daten sollen im tblEquipment gespeichert werden.

Ich habe versucht den enstprechenden Code für die abhängige Kombifelder zu erweitern, aber nicht wirklich erfolgreich.Ich kriege es einfach nicht hin.
Ich kann jetzt wohl in der 2. Kombifeldgruppe ein Artikel auswählen, jedoch werden die dazugehörigen Textfelder mit den weiteren Infos zum Artikel nicht mit aktualisiert.
Irgendwie sind die Zubehör-Textfelder an das Equipment gebunden, denn diese ändern immer mit wenn ein Equipment geändert wird und nicht wenn ein Zubehör geändert wird.

Ich hoffe es einigermassen verständlich erklärt zu haben. Eine Kopie der DB ist im Anhang.

Gibt es vielleicht hier eine Beispiel DB mit mehreren abhängigen Kombifeldgruppen, woran ich mich inspirieren könnte?

Ich bitte um Hilfe

Vielen Dank im Voraus
Gruss
Kei-Koo

[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

ich denke mal, dass die Tabellenstrukur Mängel besitzt.



Wenn ein Equipment irgend eine Zusammenstellung aus einem (Haupt-) Artikel und evtl. mehreren (Zubehör-) Artikeln besteht, dann fehlt die Tabelle "tblEquipmentZubehöre", die 1:n mit tblEquipment in Beziehung stehen muß.

Die Felder KategorieID, HerstellerID, ZubehörartukelID, ZubehörKategorieID, ZubehörHerstelleID in Tabelle tblEquipments sind falsch/überflüssig und müssen entfernt werden,


Abhängige  Kombifelder sind m. E. nur für die Auswahl des (Haupt-) Artikels  (Artikel_ID in tblEquipments) sinnvoll, (desgl. für den ZubehörArtikel in tblEquipmentZubehöre)


Weiterhin sollte (muss) tblArtikelkatalog von den Feldern "Zubehör...." befreit werden, dafür aber ein Feld ("ArtikelTyp") eingebaut werden, das einen Artikel als Haupt- oder Zubehör-Artikel einstuft.


Dieses Feld wird als Kriterium für das gebundene Auswahlkombi "ArtikelID" in tblArtikelkatalog und für das (angenommene) Auswahlkombi "ZubArtikelID" in tblEquipmentZubehöre herangezogen.



Wenn es immer nur max einen Zubehörartikel gibt (aber auch NUR dann) , ist die Tabelle  tblEquipmentZubehöre überflüssig und (nur) das Feld ZubehörArtikelID kann in tblArtikelkatalog verbleiben.


database

Hallo,

habe mir die DB mal schnell ohne besonders in die Tiefe zu gehen angeschaut...

Die Datenherkunft des frmEquipment beruhtr auf einer Abfrage, damit das Ganze Sinn macht muss das Recordset aber aktualisierbar sein - ist es das?

Die Datenherkünfte ALLER Kombis bauen auf UNION - Abfragen auf ----  WOZU? Ein einfaches SELECT mit ID und Bezeichnung als Felder genügt doch.

Bei dem Aufgbau wäre es nur möglich ein einziges Zubehör je Artikel zu definieren - ist das wirklich so gewünscht?

ZITATE von DF6GL
ZitatAbhängige  Kombifelder sind m. E. nur für die Auswahl ....
.... ich denke mal, dass die Tabellenstrukur Mängel besitzt ...

Was im allgemeinen interessant wäre:  Was soll die DB leisten, welche Aussage soll aus den gesammelten Daten gezogen werden können - also grob gesagt wozu dient sie?

Kei-Koo

Hallo,
und schon mal vielen Dank für die ersten Beiträge hier.

Ich muss auch mal nachreichen dass ich relativ unbefleckt bin, was Access angeht.
Arbeite seit Jahre mit Datenbanken, aber nur als Frontend User. Dies ist mein erster Versuch
eine eigene DB aufzusetzen. Deshalb, bitte die Antworten auch entsprechend formulieren.

@DF6GL
Zu Punkt 1:
Das ist ja nur für den Fall dass mehr als 1 Zubehör pro Equipment möglich sein sollte!??
Bis jetzt bin ich immer von einem möglichen Zubehör ausgegangen (wäre schon froh gewesen das hinzubekommen). Bin noch nicht sicher ob aber auch mehrere Zubehör möglich sein müssen.
Wäre vielleicht sinnvoll es so zu programmieren das diese Möglichkeit besteht.

Zu Punkt 2:
Hmmm, warum sind die überflüssig. Kann ich im Moment leider nicht verstehen?

Zu Punkt 3:
Das verstehe ich jetzt auch nicht. Soll das heissen dass es immer nur eine Gruppe abhängiger Kombifelder pro Formular gibt. Oder wie soll ich das verstehen?

Zu Punkt 4 & 5:
???, das wirft das ganze Konzept meiner DB jetzt um.....

Zu Punkt 6:
Siehe zu Punkt 1


@ Database

ZitatDie Datenherkunft des frmEquipment beruhtr auf einer Abfrage, damit das Ganze Sinn macht muss das Recordset aber aktualisierbar sein - ist es das?
Wenn ich die Frage richtig verstanden habe, denke ich schon dass es das ist.

ZitatDie Datenherkünfte ALLER Kombis bauen auf UNION - Abfragen auf ----  WOZU? Ein einfaches SELECT mit ID und Bezeichnung als Felder genügt doch.
Hmm, dazu muss ich sagen dass ich diesen Teil meiner DB aus Beispieldatenbanken aus dieser und anderen Internetseite habe. Daraus habe ich mir meine Kombifelder sozusagen angepasst.
Ob es nicht vielleicht anders und besser geht...., das weiss ich nicht.
Falls es aber eine bessere Lösung gibt, bin ich ganz Ohr.

ZitatBei dem Aufgbau wäre es nur möglich ein einziges Zubehör je Artikel zu definieren - ist das wirklich so gewünscht?
Wie bereits hier oben unter "zu Punkt 1:" geschrieben, wäre es sinnvoller es mal so zu Programmieren dass es flexibler benutzt werden kann.

ZitatWas im allgemeinen interessant wäre:  Was soll die DB leisten, welche Aussage soll aus den gesammelten Daten gezogen werden können - also grob gesagt wozu dient sie?
Ich denke auch dass es hilfreich ist, wenn ich mal erleutere was mit dieser DB gemacht werden soll:

Zweck dieser DB ist es eine elektrische Installation zu dokumentieren.
Es sollen alle eingebaute Equipments erfasst werden, mit deren Einbauort, z.B:
- Ein Gerät aus der Kategorie "Aktoren" z.B. ein Schaltaktor, vom Hersteller ABB, Typ xyz, Bestellnummer 2222,  ist eingebaut im Schaltschrank Nr1, im Obergeschoss, Raum1.
- Ein Gerät aus der Kategorie "Leuchten" z.B. eine Deckeneinbauleuchte, vom Hersteller EVN, Typ abc, Bestellnummer 1111, ist eingebaut in der abgehängten Decke, im Erdgeschoss, Raum2.
Zu dieser Leuchte gibt es noch ein Zubehör aus der Kategorie "Leuchtmittel", z.B. eine Halogen NV Lampe, vom Hersteller OSRAM, Typ 0815, Leistung 20W, Bestellnummer 12345
- usw.
Diese Informationen sollen alle in einer Tabelle tblEquipments gesammelt werden und über ein Formular frmEquipments eingegeben werden. Die abhängige Kombifelder dienen logischerweise dazu die Auswahl übersichtlicher zu gestalten.

In einem weiteren Schritt soll auch noch eine Tabelle erstellt werden, mit den vorhandenen Kabel dieser Installation. Hier soll es möglich sein in einem Formular mittels abhängigen Kombifelder den Kabeltyp aus dem ArtikelKatalog zu wählen und diesen Datensätze mit weiteren Informationen wie z.B. Kabellänge zu ergänzen.
Hier soll das Kabel dann auch an 2 Equipments gebunden werden, um sozusagen den Startpunkt und Endpunkt des Kabels zu definieren.
Im Formular frmKabel sollte man dann sehen dass ein Kabel ABC das Equipment XY mit dem Equipment NM verbindet.

Ich denke hiermit relativ genau beschrieben zu haben, was die DB jetzt abdecken sollte und hoffe auf eure Hilfe um es auch richtig umzusetzen zu können.

Falls der Ansatz den ich beim programmieren meiner DB nicht der richtige oder beste ist, wäre ich mit eurer Hilfe auch gerne bereit es so umzustellen wie ihr es mir empfehlen würdet.

Ich freue mich über jede Hilfe.

Gruss

Kei-Koo


database

Hallo,

kurz und gut eine Art Stückliste für durchgeführte oder durchzuführende Insatllationen.
Diese Stücklisten sollten einem bestimmten Projekt zugeordnet werden können - sonst machts ja keinen Sinn.
Wobei sich diese Projekte durch einen Standort, Projektort, Auftraggeber, Auftragsnummer etc. definieren können.

Zusätzlich soll nicht nur eine Stückliste mit Preisinformationen herauskommen sondern auch ersehen werden können wo und wozu das Equipment verwendet wurde.

Eine nicht uninteressante Geschichte!

So nun noch zu deinen Verständnisfragen ... 

ZitatWäre vielleicht sinnvoll es so zu programmieren das diese Möglichkeit besteht
JA

ZitatHmmm, warum sind die überflüssig. Kann ich im Moment leider nicht verstehen
Weil sie bereits in der Artikeltabelle enthalten sind.
Zudem werden einige (viele) Felder aus der Artikeltabelle verschwinden (vor allem die, die idente Informationen beinhalten)

Zitatdas wirft das ganze Konzept meiner DB jetzt um
Wenn du mit meiner obigen Definition einverstanden bist, wird es auch in Hinblick auf die Informationen, die du von DF6GL erhalten hast darauf hinauslaufen.  :-\

Wobei ich bemerken muss, dass du dich schon redlich bemüht hast - aber es geht ein bisschen richtiger auch noch ...   ;) ::)

Kei-Koo

Hallo,

Ja, genau so was soll die DB können :-)
Richtig bemerkt, die Projekte sollen auch anhand eines Projektname und paar weiteren Infos definiert werden.

- Ich werde jetzt auf jeden Fall die flexiblere Variante, was die Zubehöranzahl angeht, anstreben.

- Und jetzt habe ich es auch bemerkt, da hatte ich wohl nen Brett vorm Kopf.
Die aufgezählten Felder müssen in der Tat aus dem tblEquipment raus, da ja sonst redundante Informationen vorhanden sind. Eigentlich hatte ich diesen Punkt auch im Kopf, da ich aber Probleme mit der Anzeige einiger Informationen im Formular hatte, bin ich irgendwann diesen Weg gegangen ohne auf redundante Informationen zu achten.
Mea culpa

- Ich habe deiner Definition nichts entgegen zu bringen und bin auch bereit die entsprechende Änderungen an der DB vorzunehmen.
Ich habe nochmals Punkt 4 & 5 von DF6GL gelesen und da heisst es ja dass die Artikel im ArtikelKatalog einen ArtikelTyp zwecks Zuordnung bekommen sollen (Equipment oder Zubehör).
Kann in diesem Fall dann ein Artikel immer noch Equipment und Zubehör sein.
oder wird das ein weiteres Problem darstellen?

Jetzt muss ich nur mal sehen wo ich den Hebel richtig ansetzen tue.........

ZitatWobei ich bemerken muss, dass du dich schon redlich bemüht hast - aber es geht ein bisschen richtiger auch noch ...   Zwinkernd Augen rollen

richtiger gehts immer...... :D, und ich bin ja bereit was dazu zu lernen

Danke
Gruss
Kei-Koo

database

Hallo,

ZitatKann in diesem Fall dann ein Artikel immer noch Equipment und Zubehör sein.
Ist das denn bislang der Fall? Kann eine Leuchte denn Artikel und Zubehör zugleich sein?

Nur ... die Klassifizierung alleine wird nicht verhindern, dass ein Leuchtmittel OHNE Leuchte in die Stückliste aufgenommen werden kann  ;)

ZitatJetzt muss ich nur mal sehen wo ich den Hebel richtig ansetzen tue
Beginne am Besten ganz von Vorne
Überlege, wie ein Projekt definiert wird, welche Informationen benötigt werden um einen Artikel zu speichern,
Welche Informationen die Stückliste benötigt, wie die die Zusätzlichen Infos zusammenspielen (Einheiten, Preise, ...)

Beim Erstellen der Stückliste ist es z.B. unsinnig Informatioen zu erfassen, die sowieso schon in anderen Tabellen vorhanden sind.
Wie du richtig geschrieben hast 'redundante Daten' zu erfassen ist unsinnig.
Für die Stücklistenerstellung wird ein Artikel ausgewählt, zusätzliche Infos angezeigt und die benötigte Stückzahl eingegeben.

Zeichne dir mit deinen Vorstellungen ein Szenario, versuche dann dieses in ein ERM umzulegen und dann eine Tabellenstruktur zu schaffen,
die du mit Hilfe der Infos, die du unter Anderem auch aus den Links #1 und #2 aus der Signatur von DF6GL beziehen kannst, versuchst zu normalisieren.

Stell das Datenmodell dann hier wieder rein und wir werden es durchdiskutieren.
Erst danach solltest du daran gehen Formulare zur Erfassung zu erstellen.

HTH

Kei-Koo

Hallo,
ZitatIst das denn bislang der Fall? Kann eine Leuchte denn Artikel und Zubehör zugleich sein?
Ja, dans hängt ein wenig davon ab wie man die Instalation interpretiert.
- Eine Leuchte kann z.B. das Equipment sein, wenn es sich um eine herkömliche, direkt an 230V, angeschlossene Leuchte handelt. Dessen Zubehör dann logischerweise die gute alte Glühlampe wäre.
- Es kann aber auch sein dass die Leuchte an einem Schaltaktor betrieben wird, dann kann die Installation auch so gedeutet werden dass der Schaltaktor das Equipment ist und die Leuchte ist das Zubehör......

Dann werde ich nochmals versuchen meine Tabellenstruktur neu zu definieren.
Der erste Link ist mir schon längere Zeit bekannt und ist unter anderem auch die Seite woher meine Grundkenntnisse stammen....:-)
Danke aber für den bildenden Anstoss.....

Das ganze Thema zur Normalisierung ist das A&O eines DBprogrammierers, für mich als neuling auch logisch aber manchmal schwer vom Gedanken in die Realität umzusetzen.
Aber ich arbeite daran!

ZitatErst danach solltest du daran gehen Formulare zur Erfassung zu erstellen.
Ja eigentlich schon. Wenn aber so wie in meiner DB einige funktionen wie abhängige Kombifelder auf Formularebene erst programmiert werden können, ist das parallel Arbeiten an den Tabellen und dem Formular, für einen nicht erfahrenen Neuling wie mich, etwas hilfreicher. Ich denke so besser das Zusammenspiel und die mögliche Probleme zu erkennen.

Folgende Aussage aus deinem ersten Beitrag beschäftigt mich irgendwie im Hinterkopf:
ZitatDie Datenherkünfte ALLER Kombis bauen auf UNION - Abfragen auf ----  WOZU? Ein einfaches SELECT mit ID und Bezeichnung als Felder genügt doch.
Ohne wirklich den Grund zu erkennen...........
Da dies aber sowieso erst bei der Formularerstellung relevant sein wird, warte ich mal bis dahin mit weitere Fragen diesbezüglich.

Sobald ich was zusammen gestellt habe, werde ich mich wieder melden.

Vielen Dank
Gruss

Kei-Koo

Hallo,

Ich hoffe dass dieser lange Beitrag hier euch jetzt nicht entmutigt............. :)

So, jetzt habe ich meine Tabellen neu strukturiert und denke so ein funktionierendes
Datenmodel erstellt zu haben.
Die Querys und Formulare habe ich nur Zwecks Inspiration noch drin stehen lassen,
funktionieren jetzt aber natürlich nicht mehr.

Ich wäre froh wenn ihr euch meine Tabellen mal anschauen könntet. Falls da noch andere
Vorschläge sind, werde ich gerne noch nachbessern.
Falls das jetzt soweit ok ist, müsste ich jetzt an die Formulare ran, und da würde ich mich sehr über weitere Hilfe freuen. Wie ihr ja bereits in den ersten Beiträge erfahren habt, bin ich noch relativ unerfahren und habe meine bisherige Kenntnisse durch fleissiges Lesen im Netz und durch Beispieldatenbanken woraus ich meine bisherige Codes angepasst habe.

Im Anhang ist die aktuelle Datenbank in der Version Access2003, und eine PDF Datei mit dem Text der hier unten folgt.

Hier noch eine Erklärung zu den Tabellen, welche Formulare ich mir vorstelle
und wie die funktionieren sollen.

TABELLEN:

- tbl_Projekte:
  Hier werden Daten zum Projekt hinterlegt (Projektname, Adresse usw.),
  die anschliessend auch dazu dienen sollen die Equipments dem jeweiligen Projekt zuzuordnen

- tbl_Kategorie:
  Die Geräte der Installation werden Kategorien zugewiesen.
  Hier werden die Kategorien für sämtliche Hardware der Installation gelistet.
  (Beim erstellen neuer Datensätze im tbl_ArtikelKatalogEquipment und im
  tbl_ArtikelKatalogZubehör soll auf diese Kategorietabelle zurückgegriffen werden)

- tbl_Hersteller:
  Hier werden die Hersteller für sämtliche Hardware der Installation gelistet.
  (Beim erstellen neuer Datensätze im tbl_ArtikelKatalogEquipment und im
  tbl_ArtikelKatalogZubehör soll auf diese Herstellertabelle zurückgegriffen werden)

- tbl_ArtikelKatalogEquipment:
  Hier werden alle Equipments einmal erfasst, inklusive Informationen wie Leistung,
  Bestellnummer, Preis, usw., und an eine Kategorie und einem Hersteller
  aus den gleichnamigen Tabellen (tbl_Kategorie & tbl_Hersteller) gebunden.
  Der so erstellte Equipmentkatalog dient dann dazu ein neues Equipment
  in der tbl_Equipment aufzunehmen.

- tbl_ArtikelKatalogZubehör:
  Hier werden alle Zubehöre einmal erfasst, inklusive Informationen wie Leistung,
  Bestellnummer, Preis, usw., und an eine Kategorie und einem Hersteller
  aus den gleichnamigen Tabellen (tbl_Kategorie & tbl_Hersteller) gebunden.
  Der so erstellte Zubehörkatalog dient dann dazu ein neues Zubehör
  in der tbl_Equipment aufzunehmen.
  (Ein Equipment kann ein oder mehrere Zubehöre haben,
  Z.B. hat eine Leuchte ein oder mehrere Leuchtmittel als Zubehör)

- tbl_ArtikelKatalogKabel: 
  Hier werden alle Kabeltypen einmal erfasst, inklusive Informationen wie Kabeldurchmesser,
  Aderanzahl, Aderquerschnitt, usw., und an eine Kategorie und einem Hersteller
  aus den gleichnamigen Tabellen gebunden.
  Der so erstellte Kabelkatalog dient dann dazu ein neues Kabel in der tbl_Kabel
  aufzunehmen.

- tbl_Equipments:
  Hier werden alle in einer Elektroinstallation vorhandene Equipments,
  mit eventuel vorhandenem Zubehör, erfasst.
  Das Equipment und das dazugehörige Zubehör soll aus den entsprechenden
  Artikelkataloge stammen.
  Hier sollen auch Angaben zum Einbauort mit genauen Wand- und Deckenkoordinaten gelistet
  werden, dazu wird auf Informationen aus den Tabellen tbl_Stockwerke, tbl_Räume,
  tbl_Wände zurückgegriffen. 

- tbl_EquipmenZubehöre:
  Dies ist die Zwischentabelle um die n:m Beziehung zwischen der tbl_Equipments
  und der tbl_ArtikelKatalogZubehör zu erstellen.
  (Dadurch soll die Möglichkeit geschaffen werden dass einem Equipment
  mehr als nur ein Zubehör zugewiesen werden kann)

- tbl_Kabel:
  Hier werden alle Kabel der Elektroinstallation erfasst,
  mit Detailinfos zum Kabel wie Länge usw.
  Der Kabeltyp soll aus dem Kabelkatalog tbl_ArtikelKatalogKabel stammen.
  Hier wird auch jeweils ein (Start)-Equipment und ein (Ziel)-Equipment definiert,
  um zu zeigen woran das jeweilige Kabel angeschlossen ist.

- tbl_Stockwerke:
  Diese Tabelle enthält alle mögliche Bezeichnungen von Stockwerke,
  wo die Equipments eingebaut sein können.
  Diese Tabelle ist sozusagen ein Katalog mit Stockwerkbezeichnungen.

- tbl_Räume:
  Diese Tabelle enthält alle mögliche Bezeichnungen von Räume,
  wo die Equipments eingebaut sein können.
  Diese Tabelle ist sozusagen ein Katalog mit Raumbezeichnungen.

- tbl_Wände:
  Diese Tabelle enthält alle mögliche Bezeichnungen von Wände,
  wo die Equipments eingebaut sein können.
  Diese Tabelle ist sozusagen ein Katalog mit Wandbezeichnungen.

FORMULARE:

- frm_ArtikelKatalogEquipment:
  Dieses Formular soll dazu dienen neue Datensätze (Equipments) in der gleichnamigen
  Tabelle tbl_ArtikelKatalogEquipments einzugeben.
  Die Auswahl der Kategorie und des Herstellers soll jeweils in einem Kombinationsfeld
  möglich sein, und als Datenherkunft sollen die gleichnamigen Tabellen tbl_Kategorie
  und tbl_Hersteller dienen.
  Weitere Informationen zum Artikel sollen in entsprechende Textfelder eingegeben werden
  (Typenbezeichnung, Bestellnummer, Preis, usw.).
  (In diesem Formular soll man über eine Schaltfläche zum Formular frm_Equipments
  gelangen können)

- frm_ArtikelKatalogZubehör:
  Dieses Formular soll dazu dienen neue Datensätze (Zubehöre) in der gleichnamigen
  Tabelle einzugeben.
  Die Auswahl der Kategorie und des Herstellers soll jeweils in einem Kombinationsfeld
  möglich sein, und als Datenherkunft sollen die gleichnamigen Tabellen tbl_Kategorie
  und tbl_Hersteller dienen.
  Weitere Informationen zum Artikel sollen in entsprechende Textfelder eingegeben werden
  (Typenbezeichnung, Bestellnummer, Preis, usw.).
  (In diesem Formular soll man über eine Schaltfläche zum Formular frm_Equipments
  gelangen können)

- frm_ArtikelKatalogKabel:
  Dieses Formular soll dazu dienen neue Datensätze (Kabel) in der gleichnamigen
  Tabelle einzugeben.
  Die Auswahl der Kategorie und des Herstellers soll jeweils in einem Kombinationsfeld
  möglich sein, und als Datenherkunft sollen die gleichnamigen Tabellen tbl_Kategorie
  und tbl_Hersteller dienen.
  Weitere Informationen zum Artikel sollen in entsprechende Textfelder eingegeben werden
  (Typenbezeichnung, Bestellnummer, Preis, usw.).
  (In diesem Formular soll man über eine Schaltfläche zum Formular frm_Kabel
  gelangen können)

- frm_Equipments:
  Dieses Formular soll dazu dienen neue Datensätze (Equipments mit dazugehörigem Zubehör)
  in der gleichnamigen Tabelle tbl_Equipments einzugeben, sowie auch die genaue Angaben
  zum Einbauort.
  a) Die Auswahl des Equipments soll schrittweise, mit abhängigen Kombinationsfelder,
     geschehen. Zuerst soll eine Kategorie gewählt werden, anschliessend nur noch die
     für diese Kategorie möglichen Hersteller zur Auswahl stehen.
     Nach dem selektieren eines Herstellers, sollen nur noch Die für die ausgewählte
     Kategorie und Hersteller mögliche Artikeln aus dem tbl_ArtikelKatalogEquipment
     zur Auswahl stehen.
     Beim wählen eines Artikels, sollen die dazugehörigen Informationen
     (Leistung, Abmessung, Bestellnummer, usw.) in die entsprechenden Textfelder
     angezeigt werden.
  b) Für die Auswahl des Zubehör gilt die Beschreibung der Equipmentauswahl,
     ausser dass der Artikel aus dem tbl_ArtikelKatalogZubehör ausgewählt werden soll.
  c) Die Eingabe des Einbauortes soll mittels 3 Kombinationsfelder für "Stock", "Raum"
     und "Wand" geschehen. Datenherkunft ist hier jeweils die gleichnamige Tabelle.
     Weitere Informationen zur Einbaulage (Wandkoordinaten, Deckenkoordinaten und Höhe)
     sollen in entsprechenden Textfelder eingegeben werden.
     (In diesem Formular soll man über 3 Schaltflächen zu den jeweiligen Katalogformulare,
     frm_ArtikelKatalogEquipment, frm_EquipmentKatalogZubehör & frm_EquipmentKatalogKabel,
     gelangen können)
     Desweitere soll in einem Textfeld angezeigt werden an welchen Kabel (aus der tbl_Kabel)
     dieses Equipment angeschlossen ist.

- frm_Kabel:
  Dieses Formular soll dazu dienen neue Datensätze (Kabel) in der gleichnamigen Tabelle
  tbl_Kabel einzugeben, und diesen Kabel an 2 Equipments aus der tbl_Equipments zu binden.
  a) Die Auswahl des Kabels soll schrittweise, mit abhängigen Kombinationsfelder, geschehen.
     Zuerst soll eine Kategorie gewählt werden, anschliessend nur noch die für diese
     Kategorie möglichen Hersteller zur Auswahl stehen. Nach dem selektieren eines
     Herstellers, sollen nur noch die für die ausgewählte Kategorie und Hersteller mögliche
     Kabeln aus dem Tbl_ArtikelKatalogKabel zur Auswahl stehen.
     Beim wählen eines Kabels, sollen die dazugehörigen Informationen
     (Kabeldurchmesser, Aderanzahl, aderquerschnitt, usw., in die entsprechende Textfelder
     angezeigt werden.
  b) In einem Kombinationsfeld soll es möglich sein ein erstes Equipment, das
     Startequipment, Aus dem tbl_Equipment zu wählen dessen Datenfelder wie z.B.
     die Angaben zum Einbauort in entsprechenden Textfelder angezeigt werden.
     Ein zweites Equipment, das Zielequipment, soll genau so ausgewählt und angezeigt
     werden können.
     Um die Suche eines bestimmten Equipment hier erleichtern zu können,
     sollte die Auswahl eventuel auch mit abhängigen Kombinationsfelder geschehen.
     Es bleibt zu klären ob es sinnvoller ist hier auch nach Kategorie und Hersteller
     zu filtern, oder es von Vorteil wäre das Equipment nach dem Einbauort
     heraus zu filtern. z.B. Projekt->Stockwerk->Raum->Wand

VIELEN DANK
GRUSS
KEI-KOO

[Anhang gelöscht durch Administrator]

Kei-Koo

Hallo,

ZitatStell das Datenmodell dann hier wieder rein und wir werden es durchdiskutieren.
Erst danach solltest du daran gehen Formulare zur Erfassung zu erstellen.

Peter,
Konntest du dir meine Tabellen schon mal anschauen?
Ich würde mich sehr freuen wenn ich jetzt mit den Formulare voran käme, kann ich mit eurer Hilfe rechnen?

Vielen Dank
Gruss
Kei-Koo

database

Hallo,

bitte um etwas Geduld...
Hab im Moment nur ganz sporadisch Zeit herzukommen ...

Wochenende wird etwas leichter

;) ::)

Kei-Koo

ja, ok.
Man(n) hat ja auch noch andere Prioritäten  ;D
Danke für dein Antworten und vielleicht bekommen wir es dann bald hin

Gruss
Kei-Koo

database

Hallo,

so, habe nun Zeit gefunden deine Tabellen anzusehen.

Erst mal möchte ich ein großes Lob aussprechen - du scheinst das Ding wirklich genau zu planen - weiter so!

An deinen Tabellen habe ich ein paar kleine Änderungen vorgenommen. Einesrseits bei Feldbezeichnungen um Umlaute und Leerzeichen zu entfernen,
bei den Datentypen umd die Eingaben von Kommazahlen zu ermöglichen, wo diese benötigt werden.

Das Tabellenkonstrukt um die Kabelsache habe ich neu gestaltet, so kannst du nun unabhängig von der Equipment-Tabelle Kabel zusammenstellen.
Der Bezug zum Projekt ist jedoch in jedem Fall gegeben wodurch die richtige Zuordnung gewährleistet wird.
Die Gestaltung war im Hinblich auf die Auflösung mehrerer n:m Beziehungen notwendig.

Die Tabelle Stockwerke ist hinfällig, ich habe in der tblEquipment ein Feld 'Etage' als Textfeld eingeführt.
Die Behandlung mit der Tabelle tbl_Stockwerke hätte ergeben, dass du nur in Bauten mit einem OG arbeiten kannst.
So bist du flexibler.  ;)

Die Felder für die Artikelarten / Zuordnung ob Artikel oder Zubehör werden nicht gebraucht, habe sie daher aus den Tabllen Artikel und Zubehör entfernt.
Die Zwischentabelle Zubehör/Equipment habe ich geändert.
Wir hatten das schon mal angesprochen glaube ich - so wäre es theoretisch möglich, dass für einen Artikel mehrere Zubehörteile definiert werden können aber natürlich nicht zwangsweise müssen.
Jedenfalls aber ist es nun auch möglich einen Zubehörteil zu mehreren Artikeln zu erfassen. Im Endeffekt wird jedoch die richtige Kombination Artikel/Zubehör an die tbl_Equipment geliefert und durch die Erweiterung der tbl_Equipment um ein Stückzahlfeld - auch die Anzahl der verwendeten Zubehörteile. Die Angabe der Stückzahl beschränkt sich jedoch auf Zubehörteile, da Equipmentartikel per Einbaukoordinaten definiert werden und somit für Equipmentartikel immer die Stückzahl 1 pro Datensatz angenommen werden kann.


Zu den Formularen.

Nachdem sich nun ein paar Dinge in den Tabellen geändert haben, wird der Formularaufbau entsprechend angepasst werden müssen.
Zu Bedenken ist dabei bitte immer von Aussen nach Innen zu arbeiten - das heißt, nicht damit zu beginnen das umfangreichste Formular zuerst zu erstellen sondern die Erfassungsformulare,
welche dann die Auswahltabellen mit Daten versorgen.

Schau dir mal jetzt aber den Tabellenaufbau an ...




[Anhang gelöscht durch Administrator]

Kei-Koo

Guten Abend Peter,

ZitatErst mal möchte ich ein großes Lob aussprechen - du scheinst das Ding wirklich genau zu planen - weiter so!
Ja das mache ich.
Ich denke dass die Zeit die man für eine gute Planung investiert sich eigentlich immer rechnet, mit Zeitersparniss bei der Realisierung und in der Qualität.
Ich habe beruflich jeden Tag mit vielen Leute zu tun, bei denen ich genau diese Punkte oft vermisse und bemängle. Da will ich ja hier bei meinem ersten DB-Projekt nicht den gleichen Fehler machen.
Ich denke aber auch dass man aus Respekt gegenüber Leute von denen man Hilfe erwartet, man die Vorbereitungen die man durchführen kann, so weit und so gut es geht, selber in Angriff nehmen sollte.
Auch sollte mann sachlich bleiben und klare Vorstellungen haben, und das sauber zu presentieren kann auch nie schaden.

Ich danke dir für das Lob und die Anerkennung für meine Arbeit. :)
Ich muss aber sagen dass ich selber ein wenig erstaunt bin, wie weit man durch lesen im Netz und Forum sich ins Access einarbeiten kann. Mir macht es auf jeden Fall Spass und finde es sehr interessant.
Ich habe schon mal nachgeschaut wo Access Kurse abgehalten werden, was die kosten und wie der Inhalt aussieht.
Damit bin ich mir aber noch nicht so richtig sicher?

Und jetzt zu deinem letzten Beitrag:

Vielen Dank für deine Hilfe und die angepasste Tabellen die ich mir angeschaut habe.

Zu Umlaute und Leerzeichen:
Ist das grundsätzlich ein Problem oder kann mal dadurch ein Problem auftauchen. Ich habe schon gelesen dass einige Zeichen nie verwendet werden dürfen, von Leerzeichen und Umlaute aber noch nichts.

1) Zu tbl_ArtikelKatalogEquipment:
- Hatte auch vermutet dass der Artikel_Typ unnötig ist, wusste aber die richtige Lösung nicht.
- Typ wurde umbenannt in Artikelname (und in der tbl_ArtikelKatalogZubehör in Zubehoername).
Dadurch wird vermieden dass zweimal die Feldbezeichnung Typ benutzt wird und jetzt ist es auch möglich beides im tbl_Equioment aufzunehmen. Richtig?
- Mir ist aufgefallen dass die Kategorie_ID und Hersteller_ID mit den Buchstaben FK erweitert wurde.
Was ist hier der Hintergrund?

2) Zu tbl_ArtikelKatalogKabel:
- Mein Vorschlag (Wunsch) ist gewesen die Auswahl nach folgenden Filtern zu realisieren:
Kategorie -> Hersteller -> Kabeltyp
Mit deiner Änderung wird jetzt gefiltert nach:
Hersteller -> Kabel_Typ_ID_FK
Wie hast du dir das vorgestellt? Ich hatte unter TYP die genaue Typenbezeichnung des Kabels gemeint, also z.B. "NYM-J"
Bei deiner Änderung wähle ich einen Hersteller aus & dann sofort ein Kabeltyp (wenn du unter Kabeltyp auch wie ich die Typenbezeichnung gemeint hast).
In diesem Fall fehlt hier dann die Möglichkeit zuerst eine bestimmte Kabelkategorie zu wählen!?

Oder nein, ich glaube jetzt gesehen zu haben dass du über die neue Tabelle tbl_KabelTyp eine Kabelkategorie definierst und auswählst. Richtig ???
Dann fehlt hier aber der letzte Auswahlschritt nach Kabel Typenbezeichnung ???

3) Zu tbl_ArtikelKatalogZubehoer:
- Artikel_Typ entfernt und Typ umbenannt in Zubehoername. Habe ich bereits unter Punkt 1) kommentiert.

4) tbl_EquipmentKabel:
- Da hast du meine tbl_Kabel umbenannt in tbl_EquipmentKabel.
- Die Kabel wurden auch an die Projekt_ID gebunden. Das soll natürlich so sein  :-[
- Mir ist aufgefallen dass wegen der Start- und Zielequipments, um jeweils auf die Equipment_ID im Katalog verweisen zu können, bei den Tabellenbeziehungen die Tabelle tbl_ArtikelKatalogEquipment dupliziert wurde.
Das kannte ich bis jetzt so noch nicht.
Ist eine Beziehung für die Endpunkt_ID mit der originale Tabelle nicht möglich?

5) Zu tbl_Equipments:
- Die sache mit dem Textfeld "Etage" kommentiere ich unter dem Punkt 8 (tbl_Stockwerke).
- Du hast hier die Datenfelder für das Zubehör und die Zubehörstückzahl hinzugefügt.
Hier besteht jetzt die Möglichkeit eine grössere Anzahl eines Zubehörs an einen Equipment zu binden, aber leider immer nur das selbe Zubehör.
Möchte ich jetzt unterschiedliche Zubehöre an eine Equipment binden, z.B. eine Leuchte mit 3 unterschiedlichen Leuchtmitteln, dann müsste die Struktur hier nochmals anders aussehen!
Was wäre hier möglich?

6) zu tbl_Hersteller:
- Hier hast du das Datenfeld Kategorie_ID entfernt.
Die macht so in der Tabelle keinen Sinn, richtig. Ich hatte die aber wegen den abhängigen Kombinationsfelder im Formular drin.
Mal sehen wie deine Lösung im Formular aussehen wird  ;)

7) zu neuen Tabelle tbl_KabelTyp:
- Diese Tabelle hast du neu erstellt.
Werden hier die Kabeltypen, also die genaue Kabel Typenbezeichnung, oder die Kabelkategorien erfasst?
Unter Punkt 2) habe ich auch schon davon geschrieben.
Das konnte ich irgendwie noch nicht richtig herausfinden :-[

8.) zu tbl_Stockwerke:
- Diese Tabelle soll hinfällig sein.
Das heisst ich werde keine Stockwerke mehr auswählen können, sondern einen Klartext im Datenfeld "ETAGE" eingeben. Richtig?
Damit könnte ich eigentlich leben. Der Grund dieser Tabelle war aber die Eingabe hier zu standardisieren, also zu vermeiden dass der eine OG und der andere 2.G oder Obergeschoss eingibt.
Das Problem das du hier aber zum Vorschein gebracht hast ist natürlich richtig und hatte ich nicht erkannt :-[
Eine Möglichkeit wäre vieleicht eine Tbl_Stockwerke mit genügend Stockwerkbezeichnungen.
Z.B.     usw  <---  -3 , -2 , -1 , EG , 1OG , 2OG , 3OG , 4OG -->  usw , DG
Was hälst du davon?

Vielen Dank und bis bald
Gruss



database

Hallo, guten Morgen,

na dann ...

Benamsungen mit Leerzeichen und Umlauten etc.:
Leerzeichen und Umlaute KÖNNEN ser schnell zu Problemen führen, vor Allem im VBA-Umfeld, sie sind grundsätzlich in der deutschen Access-Version verwendbar, ich empfehle trotzdem KEINE Umlaute zu verwenden.
Gleiches gilt für Sonderzeichen und 'ß'. Reservierte Worte sind sowieso ausgeschlossen - dazu gibt es im Netz genug Seiten, welche die reservierten Worte für Access beschreiben.

1:
Umbenennung von Typ - da ich empfehle auch bei Feldnamen zumindest annähernd zu beschreiben was darunter gemeint ist. In dem Fall handelt es sich um den Namen des Artikels - daher...
FK oder F verwende ich für Fremschlüsselfelder um diese als solche zu kennzeichnen, verhindert Probleme durch gleichnamige Felder im SQL Umfeld in VBA und bei Abfragen allgemein.

2:
Dadurch, dass die Tabellen leer und ohne Beispieldaten zur Verfügung sind, kann ich nur Vermuten (bin auch kein Elektriker ;))
Wenn du bestimmte Kabeltypen in Kategorien einteilen willst dann fehlt jetzt eine Tabelle - 'tbl_KabelKategorie' was kein Problem sein sollte, erstell' sie und binde sie in die bestehende Struktur nach deiner Vorstellung ein.
Zitatwird jetzt gefiltert nach
.... gefiltert wird in Tabellen gar nicht sondern nur erfaßt  ;)

4:
Zitatdie Tabelle tbl_ArtikelKatalogEquipment dupliziert
Nein, das scheint nur so - es handelt sich dabei um die Aliastabelle der tbl_ArtikelKatalogEquipment ( _1 ) erfolgt dadurch, dass 2 unterschiedliche Felder mit dem Primärschlüssel der gleichen Tabelle in Beziehung stehen.
Die Beziehung wird dadurch IMMER mit der 'Original-Tabelle' hergestellt, das ist lediglich eine Form der Darstellung - wenn du willst - ein graphisches Feature

5:
ZitatWas wäre hier möglich
Ja, dazu braucht es eine Zwischentabelle tbl_EquipmentZubehoerStk  mit EZS_ID (primärschlüssel), EquipmentZubehoer_ID_FK (Zahl, Long), Equipment_ID_FK (Zahl, Long) und Anzahl (Zahl, Long)
Die Tabelle muss dann zwischen tbl_Equipment und tbl_EquipmentZubehoer rein, die Felder EquipmentZubehoerStk und EquipmentZubehoer_ID_FK dann aus der tbl_Equipment wieder raus.

6:
Habe eine Möglichkeit geschaffen die m:n Beziehung zwischen Herstellern und Kategorien aufzulösen.
Die bereits eingtragenen Daten habe ich entsprechend angepasst.

7:
Auch kein Problem, da du ja die Kabelgeschichte anders defiert hast - stell mal um und lass dann sehen

8:
OK, dann lass die tbl_Stokwerke, gib darin aber nur Bezeichnungen an - also EG, OG, UG, DG hänge die per Stockwerk_ID_FK in die tbl_Equipment, ändere das Feld Etage von Text auf Zahl und es passt wieder.
So kannst du nun aus einer Liste die Bezeichnung wählen und gibst manuell daneben ein welche Etage das ist 1,2,3,4, ... n - so gehts auch.
Mit einer vollständigen Liste wirst du nicht glücklich werden, da du ja nie weißt wann die Liste wirklich vollständig ist - immer dann wenn das annimmst kommt sicher ein Baumeister auf die Idee eine Etage tiefer und dazu 2 Etagen höher zu bauen ...  :-\
Nö, bleib dabei die Bezeichnungen zu standardisieren und die Zahl einzugeben.

Ich habe die Zubehörsache geändert und gleich wieder hier angehängt, damit du die Datei für deine Kabelgeschichte bereits mit Zubehöränderung zur Verfügung hast.
Ebenfall integriert ist die Änderung mit den Stockwerken und den Herstellern samt deren Kategorien

Eine wichtige Sache noch:
Wenn du die Änderung der Kabelkonfiguration durchgeführt hast, sollten wir DIESEN Thread abschließen um nicht einen neuen OT-Rekord zu riskieren  :D :D ;D
Weitere Fragen oder neue Fragen danach bitte in einem eigenen Beiträgen, die das angefragte Problem im Titel haben, reinstellen.
Das hilft bei der Forumssuche thematisch richtige Suchergebnisse zu erlangen ungemein.  ;)

[Anhang gelöscht durch Administrator]