Neuigkeiten:

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

Mobiles Hauptmenü

Bei Datenneuanlage "Vorschlagswerte" im Unterformular anzeigen lassen

Begonnen von walstad, Januar 12, 2014, 15:39:05

⏪ vorheriges - nächstes ⏩

walstad

Hallo,

ich erstelle mit Access eine Kursdatenbank. Für die Neuanlage von Teilnehmern habe ich ein Haupt-Formular (Tabelle: tblTeilnehmer) mit Unterformularen (Tabellen: tblKontakt, tblZusatzinfo und tblHandycap) in Verwendung. Die Tabellen der Unterformulare stehen mit der Tabelle des Hauptformulares in einer n:1 Beziehung.
Ich möchte nun das bei der Neuanlage eines Teilnehmer im Unterformular "tblKontakt" die wichtigsten Kontakttypen (Straße, Hausnummer, PLZ, Wohnort) schon aufgelistet sind und mit den dazu eingegebenen Daten (oder auch Leereingaben) abgespeichert werden.
Ich komme irgendwie auf keine vernünftige Lösung (beschäftige mich erst seit Kurzem mit Access).
Bin über gute Vorschläge sehr dankbar.

LG Walter

DF6GL

Hallo,

versteh die Bedeutung die Frage nicht...

Im Unterformular sind die Felder vorhanden, die bei dessen (richtiger) Erstellung dort eingesetzt wurden. Bei der Neuanlage eines Teilnehmers sind die solange leer, bis ein Eintrag erfolgt (Von einer Vorbesetzung über den Standardwert oder Zuweisung durch VBA-Code mal abgesehen).
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

walstad

Hallo,

im UF werden z.b. die Kontaktdaten (Straße, Nr, .... usw.) eingegeben. (Bild im Anhang)Standardmäßig werden die Kontaktarten Straße, Hausnummer, PLZ und Wohnort immer eingegeben. Daher wäre es schön wenn über eine Funktion diese vier Kontaktarten bei der Anlage im UF schon dortstehen. Ob die Daten zum Anlagezeitpunkt schon vorliegen ist dabei nebensächlich - ich kann sie ja bei Nachreichung fertig eintragen.
Möglicherweise war es eh´ nicht ideal die Kontaktdaten über ein UF zu erfassen sondern einfach als normale Felddefinition im HF.

ich hoffe das war einigermaßen verständlich dargestellt.

Danke für Tips!

lg Walter

walstad

zur Ergänzung!!!

im UF sind nur die Daten des KontaktTyps (als verknüpfte tblKontaktTyp) vorhanden (über das KOmbinationsfeld).
Die genauen Angaben (z.B. "Weidengasse") werden erst bei der Neuanlage erstellt.
Aber ich denke, dass ist soweit eh´ schon klar - ist nur als Klarstellung gedacht.

Hondo

Hallo,
Kontakttyp Wohnort, da sträuben sich mir die Nackenhaare.
Mal eine Frage, hast du Teilnehmer die mehrere Wohnorte haben?
Und falls doch, spielt es eine Rolle ob jemand einen 2. Wohnsitz hat?

Ergo nein. Wohnort muss definitiv in die Tabelle der Kunden stehen.
Gültige Kontakttypen imo sind Telefon, Fax, Email etc.
Und der Typ vorbelegen und "leere" Datensätze damit produzieren ist m.E. unsinnig, und wird auf Dauer nur doppelte und leere Datensätze erzeugen.

Gruß Andreas

walstad

Hallo Andreas,
mittlerweile bin ich da auch schon zu der Erkenntnis gekommen, dass der Wohnort möglicherweise nicht über die Kontakttabelle gesammelt werden sollte. Datensätze wären nur solange leer bis die erforderlichen Daten eingegeben werden - speziell die angesprochenen kommen eigentlich immer. Aber trotzdem bin ich bzgl. Wohnort Deiner Meinung. Grundsätzlich würde mich der Kern meiner Frage trotzdem interessieren - ob Datentypen in UF zum jeweiligen Neuteilnehmer vorgelegt od. vorgespeichert werden können.

Danke und lg

Hondo

Hallo,
Angenommen, du erstellst 3 "leere" Datensätze im Unterformular. Telefon, Fax und Email.
Wie sehen die aus? ID, IDausHFo, KontaktTypID, ..... mehr nicht.
Wie schnell hat man aus versehen nochmal eine Telefonnummer angelegt etc. und der leere Datensatz "gammelt" vor sich hin.

Was hast du denn davon dass die angelegt werden wenn im HFo ein DS angelegt wird? Ich sag mal pro Kunde sparst du dir vieleicht 5-10 Sekunden ein weil du nicht mit der Maus den Kontakttyp auswählen muss.

Macht für mich wirklich keinen großen Sinn.
Aber machbar ist das natürlich. After Update Ereignis im Hauptformular auswerten, den ID des zuletzt eingefügten Datensatzes ermitteln, per db.Execute 3 Datensätze in der Tabelle des Unterformulars anlegen. Beispiel KontaktTypID 1 bis 3:
Dim db AS DAO.Database
Dim rs As DAO.Recordset
set db = Currentdb
set rs = db.openRecordset("Select Top 1 ID From TabelleausHauptformular Order By ID DESC")
db.execute "Insert into TabelleausUnterformular (KundenID, KontaktTypID) Values (rs!ID, 1)"
db.execute "Insert into TabelleausUnterformular (KundenID, KontaktTypID) Values (rs!ID, 2)"
db.execute "Insert into TabelleausUnterformular (KundenID, KontaktTypID) Values (rs!ID, 3)"
rs.close
set rs = Nothing
set db = nothing


Funktioniert aber nur Stabil im Ein-Benutzer-Modus.
Hast du mehrere Benutzer die gleichzeitig arbeiten kann nicht 100% sichergestellt werden dass der ermittelte ID aus der Tabelle stimmt.

Gruß Andreas

walstad

Hallo Andreas,

danke für Deine Antwort. Habe bei Gott nicht vor leere Datensätze zu produzieren. Grundsätzlich haben wir standardmäßig diese Stammdaten. Es war vom Benutzer als Erleichterung gedacht das die Kontakttypen schon drinnen stehen - aber ich bin mittlerweile schon soweit, die wichtigsten Daten als Grunddaten zur Teilnehmertabelle anzufügen.
Danke nochmals und Lg