November 25, 2020, 05:29:31

Neuigkeiten:

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


Inhalt von Feldern vergleichen und Ergebnis in einem Textfeld ausgeben

Begonnen von P.Hennig, Oktober 30, 2020, 08:24:17

⏪ vorheriges - nächstes ⏩

P.Hennig

Hallo alle zusammen,

ich stehe hier vor einer, für mich unlösbaren Aufgabe:

ich habe vier Dropdownfelder, in der ich einen Unterstützungsbedarf für Kinder feststellen kann.
In diesen Feldern werden nur die Werte 0-7 gespeichert, die Bedeutung steht in einer speraraten Tabelle.

Die Festgestellten Unterstützungsbedarfe lasse ich mir in einem Textfeld (UB1, UB2, UB3, UB4) als Zusammenfassung ausgeben. Dies ist für mich einfacher, da ich dann nur dieses eine Feld als Serienbrieffeld ansprechen muss und nicht alle vier Bedarfe einzeln.

Nun kann es vorkommen, dass nicht alle vier Bedarfe der Kinder von Anfang an festgestellt werden, sodass im Laufe der Zeit bis zu drei weitere Bedarfe hinzukommen kann (Felder Plus1, Plus2, Plus3). Auch dieses lasse ich mir in diesem separaten Textfeld ausgeben.
Das funktioniert alles gut.

Nun kann es vorkommen, dass auch bis zu drei Bedarfe aufgehoben werden müssen.
Hierfür gibt es wieder drei Dropdownfelder (Minus1, minus2, Minus3) mit den Werten 0-7.

Nun zu dem Problem:
Ich möchte den Wert aus Minus 1 mit den 4 Dropdownfelder UB1 -UB4 und die drei nachträglichen Bedarfe Plus1 - Plus3 vergleichen.
Ist nun ein Wert identisch, dann sollen mir alle Inhalte von UB1-UB4 und Plus1 - Plus3 in einem weiteren separaten Textfeld angezeigt werden, es sei denn diese Felder haben den Wert 0.

Wenn ich nur Minus1 habe, ist dies für mich unproblematisch und konnte ich mit verschachtelter Wenn-Dann-Funktion regeln.

Problematisch wird es, wenn Minus 1, Minus 2 und Minus 3 jeweils einen Bedarf aufheben sollen.
Dann muss Minus 1 alle Bedarfe vergleichen, dann Minus2 alle Bedarfe vergleichen (unter der Berücksichtigung, dass Minus1 schon ein Bedarf eliminiert hat) und dann Minus 3 alle Bedarfe vergleichen unter Berücksichtigung, dass Minus 1 und Minus 2 auch schon zwei Bedarfe eliminiert haben...

Also hier komme ich mit einer If-Anweisung definitiv nicht weiter. Hab ich schon probiert.
Sorry für den langen Text.
Vielleicht kann mir hier jemand helfen und hat einen Lösungsansatz für mich?!

LG Patrick

MzKlMu

Hallo,

Zitat von: undefinedkonnte ich mit verschachtelter Wenn-Dann-Funktion regeln
es gibt eine einfache Betrachtungsweise für eine Datenbank, wer über verschachtelte Wenn/Dann Konstrukte nachdenken muss, hat einen Fehler im Datenmodell gemacht.

Daher würde ich als erstes die Struktur mal auf datenbankkonforme Füße stellen.
Die 4 Textfelder (UB1, UB2, UB3, UB4) müssen in eine extra Tabelle mit einem Fremdschlüsssel zur Person/Kind.
Aber nicht als 4 Felder, sondern in einem Feld aber dann 4 Datensätze. Demzufolge brauchst Du auch nur 1 Dropdownfeld zur Auswahl um welche UB Art es sich handelt und ein Feld für den Zahlenwert.
In die Tabelle kannst Du dann ein Hakenfeld einfügen, aktive Bedarfe erhalten dann einen Haken, wird ein Bedarf aufgehoben kommt der Haken weg. Ggf. könnte es sinnvoll sein noch ein Datumsfeld anzulegen, dann kannst Du auch nachvollziehen, wann ein Bedarf angelegt oder aufgehoben wurde. Die Plus und Minusfelder entfallen dann ersatzlos.

Bitte erkläre mal diese Bedarfsgeschichte genauer, dann könnte man da konkreter werden.

Zeige mal ein Bild des Beziehungsfensters, auf dem man alle Tabellen mit allen Feldern sieht.
Gruß
Klaus

P.Hennig

Hallo,

vielen Dank für die Antwort.

Hintergrund der Bedarfsgeschichte ist, dass für Kinder mit einem sonderpädagogischen Unterstützungsbedarf Verfügungen geschrieben werden müssen.

Dies wurde jahrelang mit einer Excel-Tabelle realisiert.

Mein Chef bat mich nun darum, die Tabelle abzulösen. Access und VBA ist mir nicht völlig fremd. Aber hier komme ich echt nicht weiter! Da mir hier in unserem Haus mit Access keiner weiterhelfen kann, habe ich mich hilfesuchend an das Forum hier gewendet.

Auf die Idee, die Bedarfe in eine extra Tabelle zu erfassen, hatte ich auch schon. In der Tat hab ich bisher für jeden einzelnen UB ein eigenes Feld. Auch für Plus1- Plus3  und Minus1 - Minus3.

Nur auf die Idee mit dem Hakenfeld bin ich nicht gekommen. So wusste ich auch nicht, dass ich eben alle Felder dann in dem Subfeld im Hauptformular anzeigen kann.

Blöde Frage: wie meinst du das mit dem Beziehungsfenster?!

LG


MzKlMu

Hallo,

Zitat von: undefinedSo wusste ich auch nicht, dass ich eben alle Felder dann in dem Subfeld im Hauptformular anzeigen kann.
Nein, das geht nicht im Hafo sind nur die Daten des kindes anzuzeigen. In einem verknüpften Unterformular dann die Bedarfe als je ein Datensatz.


Zitat von: undefinedwie meinst du das mit dem Beziehungsfenster?!
Access erfordert (wie jede Datenbank) das Anlegen von Beziehungen. Dies wird im Beziehungsfenster gemacht. Mit einem Dropdownfeld hast Du schon mal eine 1:n Beziehung die abder definiert sein muss.

Man kann ohne Beziehungen eigentlich keine Datenbank anlegen. Das ist der 1. Schritt nach dem Anlegen der Tabellen. Über die Beziehungen (und die dort einzustellende referentielle Integrität) wird die Konsistenz der Daten sichergestellt.
Und wenn sich ein Fremder mit einer Datenbank beschäftigt, wird dieses Beziehungsbild benötigt.

Und vergiss alles, was Du von Exceltabellen weißt, Access Tabellen erfordern einen völlig anderen Aufbau als Excel. Du wirst so gut wie nix was Du von Excel weißt bei Access verwenden können.

Zitatals Serienbrieffeld ansprechen muss
Ich denke Du wirst auch keinen Serienbrief (Word) mehr benötigen. Access verfügt über einen leistungsfähigen (und relativ einfach zu bedienenden) Berichtsgenerator über den sich dann auch ein Serienbrief realisieren lässt. Da braucht es nicht noch Word.

Du musst Dir die Grundlagen zu Access aneignen.
Siehe hierzu:
https://www.hdm-stuttgart.de/~riekert/lehre/db-kelz/
und
https://www.access-tutorial.de/

Werden auf die Datenbank mehrere Personen zugreifen (Mehrbenutzerbetrieb) ?
Gruß
Klaus

Beaker s.a.

Hallo,
ZitatUnd vergiss alles, was Du von Exceltabellen weißt,
Vor Allem, dass es überhaupt Tabellen sind.
In Excel gibt es keine Tabellen, nur Arbeitsblätter in tabellarischer
Ansicht. Sollte eigentlich auch klar sein, wenn man die englischen
Begriffe gegenüber stellt
Excel"tabelle" = Sheet
Accesstabelle = Table
Dies ist m.E. der Hauptgrund für die Schwierigkeiten beim Umstieg.

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

P.Hennig

Hallo alle zusammen,

mir ist sehrwohl bewusst, das in einer Datenbank Beziehungen zwischen einzelnen Tabellen/ Abfragen herrschen.
Es tut mir leid, ich wusste nur nicht, was mit den Beziehungsfenster gemeint ist.

Nur zur Aufklärung: ich halte ebenso wenig von Excel als Basis für Serienbriefe wie ihr.

Für die Sachbearbeiter sind Briefe einfacher zu nutzen, als Berichte von Access. Es müssen ab und an Texte an den Sachverhalt angepasst werden. Ich nutze Berichte in einer anderen Datenbank. Diese lasse ich mir dort als fertige PDF ausgeben.
Zitat von: MzKlMu am Oktober 30, 2020, 13:53:56Werden auf die Datenbank mehrere Personen zugreifen (Mehrbenutzerbetrieb) ?
Ja, ein Mehrnutzerbetrieb ist nötig. Warum?

Übrigens: ich habe nun die Unterstützungsbedarfe umbgestellt.
vorher hatte ich ja für jeden möglichen UB ein eigenes Feld im Datensatz des Kindes.
habe nun umgestellt, dass ich eine Tabelle Kind_UB habe, wo die Daten extra gespeichert werden.
Dieses als Unterformular habe ich nun in das Hauptformular eingebaut. Funktioniert super.
Dort kann dann ausgewählt werden, ob der UB festgestellt , ergänzt oder eben aufgehoben wurde. Es ist eben nur eine Auswahl zulässig.

Nun stehe ich nur vor der Herausforderung, dass ich die Bedarfe in einer weiteren Abfrage zusammenfasse und dann mit Komma trennen möchte, damit ich sie dann gebündelt verwenden kann...