Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: zillo09 am November 29, 2016, 22:18:44

Titel: Anfänger braucht Hilfe. Danke
Beitrag von: zillo09 am November 29, 2016, 22:18:44
Hallo Zusammen,
und schon mal vielen Dank im Voraus.

bin neu hier im Forum  und benötige Hilfe bei der Erstellung einer Access Datenbank. Die Datenbank soll für die Aufnahme diverser Eigensicherer Stromkreise in diversen Gas-Stationen verwendet werden. In einer Station gibt es mehrere Stromkreise. Die Stromkreise bestehen aus einer Stromquelle und einem Verbraucher. Die zwei im Stromkreis verbauten Geräte haben verschiedene Angaben wie z.B. Hersteller, Typenbezeichnung, Zündschutzart. Der Hersteller wird in einer eigenen Tabelle gespeichert, da diverse Betriebsmittel vom selben Hersteller sein können.


Gebt mir doch bitte ein feedback über die Beziehungen, ob diese so sinnvoll gelöst sind. :-[

Jetzt zum Problem:

Ich bekomme im Formular Stromkreis in einem Kombinationsfeld in dem der Typ des Gerätes und der Hersteller angezeit werden sollen, immer nur den Fremdschlüssel vom (Hersteller_FK) angezeigt (also eine Zahl) und nicht den Eigentlichen Namen des Herstellers. Wobei der Typ des Gerätes (Text) angezeigt wird.
habe ich vielleicht schon ein Fehler beim Entwurf der Beziehungen gemacht?

vielleicht hat jemand eine Idee. ???

Danke!




Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: MzKlMu am November 29, 2016, 23:50:22
Hallo,
die Anzeige des Fremdschlüssels ist richtig, es ist ja das Schlüsselfeld.
Wenn Du ein Kombi hast, kannst Du über die Spaltenbreiten einstellen was das Kombi zeigt.
Zitatimmer nur den Fremdschlüssel vom (Hersteller_FK) angezeigt (also eine Zahl) und nicht den Eigentlichen Namen des Herstellers. Wobei der Typ des Gerätes (Text) angezeigt wird.
Das mit dem Typ verstehe ich jetzt nicht ganz.


Meiner Meinung nach sollten die Betriebsmittel Quelle und Senke in einer Tabelle zusammengefasst werden. Mit einem Kennzeichen für die Art (Quelle oder Senke).
Für die 5 Werte für U, I, P, L, C würde ich einfach nur den 1.Buchstaben nehmen (oder ausschreiben). Um welche Art des Werte es sich handelt geht aus der Art hervor. In die Tabelle für den Stromkreis wird dann die eine Tabelle mit den Betriebsmitteln 2x aufgenommen.
Das geht problemlos. Es entsteht eine virtuelle Tabelle an die Access hinten ein _1 anhängt.

Und noch weitere Auffälligkeiten:
Was soll der FK für die Stromkreisbezeichnung bei den Betriebsmitteln ?
Es gibt einen FK für die Zündschutzart, wo ist die Tabelle dazu ?


Was sind denn das für 5 Kenngrößen (Spannung, Strom, Leistung, Induktivität, Kapazität) ?
Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: edgar.basler am Dezember 01, 2016, 11:31:19
Das ist richtig. Im Kombinationsfeld wird immer (!!!) das erste Feld angezeigt. Somit muß man nur die Reihenfolge beim Erstellen entsprechend seinen Wünschen ändern.

Tip
Vielmals will man mehr Infos anzeigen / sehen .... Ich erstelle hierzu in einer Abfrage ein entsprechend zusammengesetztes Feld ....
Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: MzKlMu am Dezember 01, 2016, 12:14:06
Hallo,
ZitatSomit muß man nur die Reihenfolge beim Erstellen entsprechend seinen Wünschen ändern.
Das ist keine gute Idee, einfach vertauschen. Es kommt auch auf den Steuerelementinhalt an und welche die gebunden Spalte ist. Das muss zusammenpassen.
Im Regelfall nimmt man den Primärschlüssel als 1.Spalte, in der 2.Spalte der Klartext.
Das Kombi wird an das Fremdschlüsselfeld gebunden und die gebundene Spalte ist die 1.Spalte. Diese blendet man mit Spaltenbreite 0cm aus.
Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: zillo09 am Dezember 01, 2016, 20:56:00
Hallo, und vielen Dank für die schnelle Antwort.
ZitatEs gibt einen FK für die Zündschutzart, wo ist die Tabelle dazu ?
hab leider nich gemerkt das die Tabelle augeblendet war.
ZitatWas soll der FK für die Stromkreisbezeichnung bei den Betriebsmitteln ?
Ich hatte zuerst vor den Stromkreisbezeichnung FK in der Tabelle Betriebsmittel Quelle und in der Tabelle Betriebsmittel Senk unterzubringen. Hab mich dann aber dafür entschieden, den Fremdschlüssel Stromkreisbezeichnung in der Tabelle Stromkreis zu platzieren. Ist sozusagen eine Tabellenleiche. Muss ich noch entfernen.
Titel: Anfänger braucht Hilfe. Danke
Beitrag von: zillo09 am Dezember 01, 2016, 21:39:47
Um noch mal auf mein Problem zurück zu kommen,
ich würde gerne bei einem Kombinationsfeld (mit Hilfe des Assis) die Typenbezeichnung und den Hersteller in einem Kombinationsfeld angezeigt bekommen. Der Assisten fragt mich dann von welcher Tabelle er die Werte beziehen soll. Hier gebe ich dann die Tabelle Betriebsmittel Quelle an.  In dieser Tabelle habe ich dann die Spalte Typenbezeichnung und den Hersteller FK zur verfügung. Die Typenbezeichnung liegt in der Tabelle Betriebsmittel Quelle als Klartext vor. Der Hersteller FK aber nur als Zahl, (ist ja logisch, da es sich um einen FK handelt). da der Klartext in der Tabelle Hersteller hinterlegt ist (siehe Anhang Beziehungen).  Was muss ich jetzt tun, damit ich im Kombinationsfeld den Klartext aus der Tbl Hersteller angezeigt bekomme.

Das Problem ist, das die beiden Einträge Typenbezeichnung und Hersteller miteinander zusammenhängen und aus verschiedenen Tabellen stammen. 



Ich hoffe Ihr könnt mir folgen.  :o



Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: MzKlMu am Dezember 01, 2016, 21:51:02
Hallo,
wie bereits gesagt, die Betriebsmittel sollten in eine Tabelle.
Das würde das alles vereinfachen.
Warum ignorierst Du meine diesbezüglichen Hinweise ?
Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: zillo09 am Dezember 04, 2016, 13:01:17
Hi MzKlMu,

wollte deine Hinweise nicht ignorieren, wollte mein Problem etwas genauer beschreiben. Wenn das falsch angekommen ist tut es mir leid.

Habe jetzt die Betriebmittel in einer Tabelle untergebracht. (siehe Anhang) leider bleibt mein unten beschriebenes Problem denoch bestehen.
Ich nehme an, das ich bei den zwei Einträgen  im Kombinationsfeld, beim Eintrag des Herstellers dem Kombi Feld mitteilen muss, das es den Wert nicht aus der Tabelle Betriebsmittel, sondern aus der Tabelle Hersteller anzeigen soll.  Wie funktioniert das? Der Fremdschlüssel zeigt ja den richtigen Hersteller indirekt an.
Ich habe immer nur die Möglichkeit den Fremdschlüssel ,,Hersteller_FK"aus der Tabelle Betriebsmittel zu wählen.

ZitatWas sind denn das für 5 Kenngrößen (Spannung, Strom, Leistung, Induktivität, Kapazität) ?

Wie schon richtig vermutet handelt es sich bei den Größen um Spannung, Strom etc. Diese müssen dann in einem späteren Schritt miteinnder verrechnet werden, um zu bestätigen das es sich um einen Eigensicheren Stromkreis handelt.

Hier ein Link der die Eigensicherheit beschreibt.
http://www.pepperl-fuchs.de/germany/downloads_GER/PR-2010-1133PA-ger-Eigensicherheit.pdf
Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: crystal am Dezember 04, 2016, 14:48:04
Lieber Zillo,

Ich glaube, dein Problem ist einfach, dass du nicht weißt, wie man eine Abfrage mit verküpften Tabellen (sog. Joins) erstellt.

Du hast ja schon ein Datenmodell, in dem solche Verküpfungen definiert sind.

Erstelle einfach mal eine neue leere Abfrage.
Dir werden die Tabellen angezeigt.
Nun doppelklickst du z.B. auf tbl_Betriebsmittel UND danach auf tbl_Hersteller sowie die anderen Tabellen ...Zünd... und ..Gerätebez...
Im oberen Bereich des Abfrage-Editors siehst du nun alle vier Tabellen und deren Verküpfung.
Mache nur Doppelklicks auf Felder der Tabelle BM, z.B. Typenbez. und Prüfbesch. Die FK-Felder brauchst du nicht auszuwählen.
Jetzt mache Doppelklicks auf die Klartext-Felder in den anderen 3 Tabellen (auch hier brauchst du die ID-Felder nicht).

Gehst du jetzt auf Datenblatt-Ansicht, siehst du alles, was du brauchst, und zwar ohne die Fremdschlüssel selbst.
Access weiß nämlich, wie die Tebellen intern verküpft sind.

Du kannst dann mal die SQL-Ansicht auswählen und siehst dann mehrere "Join"-Anweisungen, in denen steht, mit Hilfe welcher Felder die Tabellen verküpft sind.

So einfach geht's, wenn man es weiß.

Übrigens:
1. du benutzt in jeder Tab. als PK das Wort "Id". Das ist schlecht. Wähle ID_Stromkreis und ID_Betriebsmittel oder StromKreisID, BetriebsMittelID.
2. Als Namen für FKs benutzt du den vollen Tabellen-Namen. Besser: FK_<tabellenname>, also FK_Betriebsmittel (ohne tbl_) oder BetriebsMittelFK
3. Es hat sich als sinnvoll erwiesen, Namen je Wort mit einem Großbuchstaben zu beginnen, also z.B.
tblStromKreise... Das verbessert die Lesbarkeit und du kannst auf "_" verzichten.
4. Vermeide Feldnamen, die nur aus einem Buchstaben bestehen. Besser also Strom statt I, Spannung statt U usw.
5. vermeide Umlaute (äöüß).
6. die Tabelle Stromkreisbezeichnung ist überflüssig, die SKBez. kann auch in der Tab. StromKreis stehen. Wenn ein StromKreis mehrere Bezeichnungen hätte, müsstest du das anders lösen, mit einer Zwischentabelle, in der zu jedem StromKreisFK (Verweis auf StromKreisID) mehrere Datensätze mit einem BezeichnungsFK (Verweis auf SKBezID) vorhanden sind.
7. In der Tab. tbl_Betriebsmittel_1 müsstest du (glaube ich) die Verknüpungen mit den anderen 3 Tabellen nachdefinieren.

Also spiele etwas mit gejointen Abfragen und passe die Bezeichnungen deiner Objekte an gängige Konventionen an.

lg
crystal

Nachtrag: weitere Anmerkungen
1. sind die Datenfelder der zwei BM-Tabellen wirklich "identisch"? Ist es nicht so, dass "Quell"-BM z.B. eine Leistung liefern, während "Senke"-BM diese verbrauchen?
2. Wäre es möglich, dass eine Quelle mehrere Senken versorgt (z.B. einfache Lampen)?
(Ich bin kein Elektriker, besonders nicht für Ex-gefährdete Bereiche.)
3. Wäre es nicht besser, von vornherein zwei Tabellen "Quellen" und "Senken" zu benutzen, zumal eine Quelle wohl kaum jemals auch Senke sein kann? Wäre es nicht sinnvoll, für eine Quelle den max. Strom angeben zu können, die sie liefern kann und für eine Senke den max. oder nominellen Strom-Verbrauch? Solche Unterschiede sprechen m.E. eher für zwei unterschiedliche Tabellen, auch wenn sie sehr ähnliche Felder haben.
Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: MzKlMu am Dezember 04, 2016, 19:06:28
Hallo,
In der Tabelle mit den Betriebsmittel würde ich das Feld Quelle als Fremdschlüsselfeld (BetrmArtID_F) anlegen und eine extra Tabelle (Tbl_BetrmArt) erstellen mit 2 Feldern: BetrmArtID und Betriebsmittelart (Quelle/Senke). Mit einer Optionsgruppe lässt sich dann auswählen ob Quelle oder Senke und ggf. dann auch im Klartext anzeigen.
Zu Deinem Problem:
Das wird entweder über eine Abfrage gemacht wie von Crystal vorschlagen oder über Einstellungen des Kombis.
Datenherkunft für das Kombi die Herstellertabelle mit HertellerID und Kurzbez_Hersteller (in dieser Reihenfolge). Das Kombi an das Feld tbl_Hersteller_FK binden.
Spaltenbreiten 0cm;5cm. Dann ist die Kurzbezeichnung zu sehen, aber die ID wird gespeichert. Für weitere Spalten der Tabelle Hersteller wäre dann aber eine Abfrage notwendig (wie vorgeschlagen).
Ansonsten folge dem Vorschlägen von Crystal bis auf folgende Punkte:
Zitat6. die Tabelle Stromkreisbezeichnung ist überflüssig,
Da wäre ich mal vorsichtig. Ich denke die Stromkreisbezeichnung können sich wiederholen. Dann ist die Tabelle notwendig. Der Stromkreis hat aber immer nur eine Bezeichnung, sodass das aber keine n:m wäre. Aber das weis ich nicht. Da musst Du (zillo09) was dazu sagen.
Zitat7. In der Tab. tbl_Betriebsmittel_1 müsstest du (glaube ich) die Verknüpungen mit den anderen 3 Tabellen nachdefinieren.
Nein, hier werden keine Beziehungen definiert. Es funktioniert auch nicht. Man kann diese zwar anlegen, die werden aber von Access nicht wirklich erstellt. Beim nächsten Öffnen des Beziehungsfensters sind sie wieder weg. Die Tabelle tbl_Betriebsmittel_1 ist ja eine virtuelle Tabelle die ja in der DB gar nicht vorhanden ist, nur das Original (tbl_Betriebsmittel).
Zitat1. sind die Datenfelder der zwei BM-Tabellen wirklich "identisch"? Ist es nicht so, dass "Quell"-BM z.B. eine Leistung liefern, während "Senke"-BM diese verbrauchen?
Verbrauch und Leistung ist elektrotechnisch das Gleiche. Als Formel "Spannung*Strom", bei ohmschen Verbrauchern Watt und bei induktiven und kapazitiven Quellen/Senken als VA.
Zitat2. Wäre es möglich, dass eine Quelle mehrere Senken versorgt (z.B. einfache Lampen)?
Wenn ich mich recht erinnere nein. Ein eigensicherer Stromkreis besteht aus einer Quelle und einer Senke und wird als eine Einheit betrachtet.
Zitat3. Wäre es nicht besser, von vornherein zwei Tabellen "Quellen" und "Senken" zu benutzen, zumal eine Quelle wohl kaum jemals auch Senke sein kann? Wäre es nicht sinnvoll, für eine Quelle den max. Strom angeben zu können,
Das halte ich ganz und gar nicht für sinnvoll. Über die Art des Betriebsmittels kann ja jederzeit nach Quelle und Senke unterschieden werden. In einem Formular kann ich dann alle Betriebsmittel pflegen.
Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: crystal am Dezember 04, 2016, 19:24:41
Danke Klaus
für deine guten Ergänzungen und Richtigstellungen!
lg
crystal

PS: meine Idee, zwei Tabellen zu benutzen, beruht schlicht auf der Annahme, dass es einfacher wäre, in Formeln "gleich" das richtige Vorzeichen benutzen zu können , wenn man sich auf "Senke" bezieht, statt jedesmal ein Attribut "Q/S" berücksichtigen zu müssen und auf der Überlegung, dass sich die Eigenschaften von Q und S sonstwie unterscheiden (könnten).
Vielleicht wäe es für den Anwender auch einleuchtender, entweder Quellen oder Senken zu bearbeiten bzw. neu zu erfassen, statt ein Attribut "Q/S" richtig zu setzen. Aber das ist reine Ansichtssache.
Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: MzKlMu am Dezember 04, 2016, 19:35:15
Hallo,
ZitatVielleicht wäe es für den Anwender auch einleuchtender, entweder Quellen oder Senken zu bearbeiten bzw. neu zu erfassen, statt ein Attribut "Q/S" richtig zu setzen. Aber das ist reine Ansichtssache.
Auch mit 2 Tabellen wird der Anwender nicht von seiner Aufgabe entbunden das Richtige auszuwählen. Mit 2 Tabellen muss er sich für die richtige Tabelle entscheiden. Mit einer Tabelle ist das nur ein Mausklick. Und wenn die Optionsgruppe als Standardwert leer ist, kann man den Anwender noch gezielt zu einem Mausklick zwingen der dann bewusster gemacht wird.
Zitatin Formeln "gleich" das richtige Vorzeichen benutzen zu können
Wenn das Vorzeichen in der Berechnung benötigt wird, kann man in der Tabelle für die Art auch noch ein Multiplikatorfeld einfügen (1, -1) das dann das Vorzeichen automatisch setzt bzw. verwendet.
Titel: Re: Anfänger braucht Hilfe. Danke
Beitrag von: zillo09 am Dezember 06, 2016, 22:42:42
Hallo,
und vielen Dank an euch.
Habe eben gerade eine Abfrage erstellt und sehe da es funktioniert. Es ist wirklich nicht so schwierig wenn man weiß wie es geht.   ;)

Ich werde auch noch  die restlichen Vorschläge/Anregungen  von euch in meiner Datenbank umsetzen.

Bis aufs weitere habt Ihr mir sehr geholfen.

Vielen Vielen Dank.

Bei weiteren Fragen werde ich mich natürlich wieder vertrauensvoll ans Forum wenden.  ;D Super Hilfe!!!!

Danke