Neuigkeiten:

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

Mobiles Hauptmenü

Hauptformular um in zwei unterformularen je einen neuen Datensat einzugeben

Begonnen von GSt, November 08, 2019, 12:35:43

⏪ vorheriges - nächstes ⏩

GSt



Hallo,
ich arbeite in einer gemeinützigen Organisation und wir müssen eien DB seblst bauen. Meine aktuelle Aufgabenstellung habe ich versucht zu skizzieren:
Per Telefon werden  in einem ersten Schritt (um den es hier geht) von Eltern, Ämtern oder sonstigen Sorgeberechtigten (derzeitiger Arbeitstitel) Klienten, vorwiegend Kinder, bei uns angemeldet.

Meine Überlegung: Je ein Unterformular für Sorgeberechtigte und Klienten zu entwerfen und diese dann mit einem Hauptformular (für die Anmeldung) zusammen zu bringen, um bei einem Anruf, zunächst die Daten des Anrufers/Anmelders und des Klienten erfassen.

Es gelingt mir auch (Testweise) ein Hauptformular zu entwerfen, in dem ich zwei Unterformulare ( KLienten und Anmelder) habe und über das Hauptformular die schon eingegeben Daten über die Unterformulare abrufe.

Aber!
Ich möchte ja hier jeweils einen neuen Datensatz für Klienten und Anmelder eingeben und diese dann in der gemeinsamen Verknüpfung "Anmeldung" speichern.

Ich finde einfach keinen Lösungsansatz...

Will ich etwas, was nicht geht oder ist es am Ende doch ganz einfach?

Ich freu mich auf Unterstützung. Danke.

DF6GL

Hallo,

es geht nicht nicht und einfach ist auch... :D

Erstelle ein Formular auf Basis (Datenherkunft) zu tbl_Anmeldung

Die beiden Fremdschlüsselfelder werden als Kombifelder ausgeführt, die Ihre Daten (Datensatzherkunft) von tblKriterien und tblSorgeberechtigte respektive erhalten.

Wenn ein neuer Klient oder neuer Sorgeberechtigter erfasst werden soll (Eingabe eines neuen Namens in das Kombifeld), erstelle jeweils eine Ereignisprozedur für das Kombifeld-Ereignis "Bei nicht in Liste", in der ein (Eingabe-)Formular geöffnet wird, um die neuen Daten einzugeben.  Das "Response"-Argument der Ereignisprozedur ist auf den passenden Wert (acDataErrAdded) zu setzen.


PS: poste besser einen Screenshot des Beziehungsfensters, dann braucht es keinen weiteren Aufwand wie das Bearbeiten eines Excel-Sheets.
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

GSt

danke.
(zu Deinem PS: Mein Beziehungsfenster sieht aus wie mein Schreibtisch...ich versuche seit drei Tagen die Fragen zu finden, die sich mir stellen und experimentiere nach dem Ausschlussverfahrenherum - also alles etwas chaotisch und über mehrere "Test-DB" verteilt... Exel ist der Versuch, zwischendrin die Gedanken wieder zu ordnen und aud neue Bahnen zu lenken)

"Ereignisprozedur" bedeutet Makro? Werde ich mal reinschauen...
ZitatDas "Response"-Argument der Ereignisprozedur ist auf den passenden Wert (acDataErrAdded) zu setzen.
das verstehe ich ehrlich gar nicht. Erschließt sich das wenn man sich mit Ereignisprozeduren beschäftigt?

Hast Du in dem Zusammenhang eine Link für einen schnellen Einstieg in das Thema?

nochmal danke!

DF6GL

Hallo,

vermutlich wäre es angebracht, Du beschäftigstes Dich zunächst mit den Grundlagen von Access und VBA.


"Ereignisprozedur" ist kein "Makro" (was es in Access aber auch gibt, es aber eher aus verschiedenen Gründen verpönt ist). Eine Ereignisprozedur (als Programm-Code) wird ausgeführt, wenn ein dazu gehörendes Ereignis in einem Formular (oder teilweise auch einem Bericht) auftritt ( "feuert"). Beispiel wäre das Klick-Ereignis einer Schaltfläche, wenn eben auf diese Schaltfläche geklickt wird.
Das "Nicht in Liste"-Ereignis tritt auf, wenn ein Wert in ein Kombifeldfeld eingegeben wird, der nicht im Kombilistenfeld enthalten ist.

VBA ist eine (hier) an Access angepasste Programmiersprache (Visual Basic for Applications).


Jede Prozedur hat eine Argumentenliste (auch wenn die leer sein sollte), die als "Eingangstür" für zu übergebene Werte (Parameter) fungiert. Damit können jeweils die richtigen Daten beim Aufruf an die Prozedur übergeben werden.
Das "Response"_Argument gehört der "NotInList"-Prozedur an und dient als "Rückmeldung" an Access (VBA), was weiterhin passieren soll, nachdem die Ereignis-Prozedur  abgearbeitet wurde. acDataErradded teilt mit, dass ein neuer DS in die entspr. Tabelle eingegeben wurde und das Listenfeld diesen auch anzeigen soll, womit er auch auswählbar wird.


Siehe u. St. Link Nr. 4  oder andere Access-spezifische Tutorials.

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

GSt

Danke. Das verstehe ich. Ich habe ja auch schon versucht Dinge zu vertiefen. Sieht in den Übungen alles so einfach aus und klappt im Nachbau auch meistens aber die Probleme des (meines) "echten Lebens" stehen nirgends als Blaupause. :)
Deine Linksammlung habe ich durch Deinen Hinweis jetzt auch gesehen...
werde ich mich durchklicken.
Was ich nicht weiß, woher man die Zeit für`s lernen nimmt...dabei macht`s ja Spaß.
Nochmal Danke.

Beaker s.a.

@GSt
ZitatWas ich nicht weiß, woher man die Zeit für`s lernen nimmt
Die bekommst du später beim Entwickeln zurück.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)