Neuigkeiten:

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

Mobiles Hauptmenü

Bilder im Formular

Begonnen von chemist, Oktober 28, 2019, 10:58:44

⏪ vorheriges - nächstes ⏩

MzKlMu

#15
Hallo,
die Datenbank ist vom Grundaufbau bereits falsch angelegt. Die Zuordnung der H-Sätze und der Piktogramme zur Chemikalie sind in einer extra Tabelle auszulagern. Das nennt sich dann n:m Beziehung.
Du verwendest auch Textfelder als Primärschlüssel, Texte sind als PS eher ungeeignet, hier sind Autowerte zu bevorzugen, wenn es kein geeignetes Zahlenfeld gibt. Auch Nachschlagefelder sind in Tabellen unbedingt zu vermeiden. Im Zusammenhang mit Abfragen machen die nur Probleme.
Nachschlagefelder sind ausschließlich in Formularen sinnvoll.
Wenn Du das korrekt (und zukunftssicher) aufbauen willst, musst Du die DB umstrukturieren. Du wirst dann allerdings das Meiste was Du jetzt hast in die Tonne treten können.

Hängen die Piktogramme auch mit den H-Sätzen zusammen ?
Mit anderen Worten, gibt es zu den H-Sätzen jeweils ein oder mehrere passende Piktogramme ?

Anmerkung:
Ich hatte Dir oben geschrieben, dass die Datenbank vor dem Zippen komprimiert werden sollte.
ZitatVor dem Zippen der DB diese noch Komprimieren/Reparieren (Access Dienstprogramm, bei den Datenbanktools).
Das hast Du nicht gemacht, was eine ziemliche Verschwendung von Speicherplatz im Forum ist.
Nur mal zum Größenvergleich:
Datenbank vor dem Komprimieren: 56064 KB danach 7556 KB
Dein Zip File 2636 KB Zip nach Komprimierung: 383 KB
Die kleinere Version habe ich oben in Deinem Beitrag angehängt.

Das Komprimieren ist aber nicht nur für das Forum wichtig. Eine Datenbank muss regelmäßig (besonders in der Entwicklungsphase) komprimiert werden.
Nur dann werden gelöschte Datensätze auch wirklich gelöscht. Auch gelöschte Entwürfe von Formularen und Berichten werden erst nach dem Komprimieren wirklich gelöscht.
Gruß Klaus

chemist

Hallo MzKlMu,
vielen Dank erstmal allgemein für deine Hinweise.

Also könnte ich vielleicht eine weitere Tabelle anlegen in denen ich CAS, H-Sätze, Piktogramme eintrage statt das mit in die t_CAS reinzupacken?

Hängen die Piktogramme auch mit den H-Sätzen zusammen ?
Mit anderen Worten, gibt es zu den H-Sätzen jeweils ein oder mehrere passende Piktogramme ?


Die Piktogramme hängen nicht direkt mit den H-Sätzen zusammen. Es gibt zwar verschiedene Kriterien nach denen verschienene H-Sätze bzw. Kombinationen daraus dann das Piktogramm ergeben, in meinem Fall soll allerdings lediglich die Information von dem Sicherheitsdatenblatt so wie es der Hersteller vorgibt in der Datenbank erfasst werden. Also Hersteller gibt vor H201 und H202 und GHS8 und GHS9 dass trage ich dann als (bevorzugt als DropDown) in das Formular der Datenbank ein. Beim auswählen des GHS soll mir dann daneben das passende Symbol angezeigt werden. Und eingaben sollen mir in einem Anderen Formular über eine Suchabfrage auch wieder angezeigt werden.

MzKlMu

Hallo,
im Anhang findest Du die DB mit den umstrukturierten Tabellen.
In der DB sind jetzt nur die Tabellen mit Zahlen (Autowert als Primärschlüssel).
Zur Darstellung und Bearbeitung der Daten legt man ein Hauptformular für die Tabelle t_CAS an und darin auf 3 Registerseiten je ein Unterformular zur Zuordnung der Chemikalien, der HSätze und der Piktogramme.
Auswahl jeweils mit einem Kombifeld.

Was ist den die Bedeutung der Tabellen t_CAS und t_Chemikalien ?
Die Beziehung zwischen den beiden ist mir noch etwas suspekt.
Gruß Klaus

chemist

Hallo,

das sind 2 Tabellen, weil die CAS immer eindeutig zugeordnet werden kann, der Chemikalienname aber nicht. Es gibt für die Chemikalien verschiedene Nomenklaturvarienten. So kann also eine CAS mehrere Chemikaliennamen haben.

Aber so wie ich das jetzt in der DB sehe kann dort immer nur ein Piktogramm pro CAS hinterlegt werden oder?

MzKlMu

Hallo,
Du kannst beliebig viele Piktogramme zuordnen, jedes Piktogramm ist ein Datensatz mit der gleichen CasID. Das gilt sinngemäß auch für die HSatz Zuordnung. Das ist das gleiche Prinzip.
Gruß Klaus

chemist

Ok, MzKlMu.

Vielen Dank erstmal für deine Hilfe. Ich werde es erstmal so versuchen und hoffe es hinzubekommen  ;D

emmoticon

#21
/edit: Bitte ignorieren. Ich hab die zweite Seite uebersehen und den Loesungsvorschlag von MzKIMu ueberlesen. Schade, dass man den Beitrag nicht im Spoiler verstecken kann :-[ :-[ :-[ :P


Zitat von: chemist am Oktober 28, 2019, 15:18:00
Das mit den H-Sätzen fuktioniert so wie es soll. Ich habe nur Probleme mit den Piktogrammen.

Ich habe mir mal deine Datenbank näher angeschaut. Du willst in deinem Formular ein weiteres Auswahlfeld mit Piktogramm einfügen. Das Problem ist, dass in deiner Tabelle t_CAS das Feld "Piktogramm 1" nur mit der Tabelle t_Piktogramme verknüpft ist. Und funktioniert das fuer alles weitere nicht mehr.
Wenn du im Formular "f_CAS_Abfragen" ein weiteres Piktogramm-Feld mit Bild wie für "Piktogramm 1" einfügen willst, musst du wohl die Tabelle "t_Piktogramme" duplizieren und mit mit dem Tabellenfeld  t_CAS - Piktogramm 2 verknüpfen. <-- Das ist totaler Quatsch! Hab das erwaehnt, weil ich frueher als erstes drauf gekommen waere.

Ich empfehle dir, dass du dich lieber mit der Neustrukturierung der Datenbank bezueglich n:m Beziehungen befasst und in deinem Formular mit Unterformularen arbeitest .

Ich habe dir mal deine Datenbank bisschen umgebaut. Schaus dir mal an.
Ich habe nur das umgesetzt was ich dir oben bereits schon im Ansatz angedeutet hatte. Konkret siehst du das im Screenshot.
Gruß, Smiley mit Rechtschreibfehler

chemist

Hallo nochmal,

ich habe das mal versucht so zu ändern, aber so richtig klappt es noch nicht. Wenn ich in der Abfrage die CAS z.B. AAAA eingebe wird mir nichts angezeigt. Wie ich das in dem Formular dann richtig mache weiß ich auch nicht wirklich. Muss ich für die Auswahl der H-Sätze im KombiFeld Datensatzherkunft t_HSatz und als Steuerelementinhalt HSatzID_F nehmen bzw. für die Auswahl der Piktogramme t_Piktogramme als Datensatzherkunft und als Steuerelementinhalt PiktogrammID_F mit dem gebundenen Objektfeld das Bild dazu einfügen? Ich habe da irgendwo noch einen ganz großen Denkfehler drin, entschuldigt. Ich habe mal eine Abfrage und ein Formular mit in die DB gepackt. Könnt ihr euch das vielleicht nochmal ansehen?

VG

emmoticon

Hi chemist,

Auf die Schnelle konnte ich feststellen, dass du die Beziehungen zwischen den Tabellen zwar hergestellt hast, aber damit etwas angezeigt werden kann brauchst du konkret Werte in der verknüpften Tabelle.
Die Abfrage kann ja nur Daten aus den verknüpften Tabellen anzeigen wenn da auch entsprechend Daten hinterlegt sind.

Deine Tabelle "t_Chemikalien" hat Verknüpfungen zu den Tabellen "t_CAS", "t_Lagerort" und "t_Supplier". Damit deine Abfrage überhaupt Daten anzeigen kann, brauchst du in "t_Chemikalien" unbedingt die Fremdschlüssel, sonst wird da garnix angezeigt. Wenn du also in die o.g. Felder in der Tabelle ausfüllst, solltest du was angezeigt bekommen.

Aber Daten kannst so nicht bearbeiten.
Gruß, Smiley mit Rechtschreibfehler

chemist

Hallo emmoticon,

ok vielen Dank,  ;D also angezeigt wird jetzt was, aber die Sache mit den H-Sätzen und Piktogrammen funktioniert leider noch nicht.

emmoticon

Hi chemist,

Ich würde dir echt empfehlen das ganze Thema mit H-Sätzen, Piktogramme und die Supplier mit Unterformularen zu lösen. Dann ist das ganze auch so flexibel bearbeitbar wie du dir das auch vorstellst.
Gruß, Smiley mit Rechtschreibfehler

MzKlMu

Hallo,
das geht so nicht. Dein Formular ist falsch. Die H-Sätze und Piktogramme müssen als Unterformular eingefügt werden. Da wird auch nur jeweils ein Kombi benötigt.
Je H-Satz und Piktogramm gibt es ein Datensatz.
Gruß Klaus

chemist

Hallo zusammen,

ich wollte mich nur nochmal bei euch für eure Hilfe bedankem. Ich habe es mittlerweile hinbekommen  ;D

VG