Neuigkeiten:

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

Mobiles Hauptmenü

Anfängerfrage: Formular Kontaktverwaltung und Zuordnung Rundbrief-Verteiler

Begonnen von nbux, Dezember 07, 2016, 11:42:21

⏪ vorheriges - nächstes ⏩

MzKlMu

Hallo,
ZitatSchade, dass Klaus sich hier völlig raushält.
ich bin im Moment nicht so gut drauf und muss mich da erst wieder reindenken. Kannst Du mir mal eine kurze Zusammenfassung geben, was das Problem ist, sonst muss ich das alles noch mal lesen. Ich habe auch den Fortgang hier nicht so richtig mitbekommen.
Gruß Klaus

Beaker s.a.

Hallo Klaus,
Zitatich bin im Moment nicht so gut drauf
Tut mit leid zu hören. Falls gesundheitlich, - gute Besserung.
Zitatmuss mich da erst wieder reindenken
Kenn' ich.
Ich versuche Mal das zusammen zu fassen.

Folgendes soll abgebildet werden:
Es gibt Kontakte (tblKontakte)
dazu gibt es n (Post)Adressen (tblAdresse_Kontakte)
dazu wieder n Komm-Adressen (Tel., Fax usw., tblKontakt_Komm), die, da sie auch
mehrfach verwendet werden sollen, n:m über tblKon_Adr_Komm mit tblKontakt_Komm
verknüpft sind.

Ziele:
1. Aufbau einer Verteilerliste (tblKonAdr_Liste, die sowohl (Post)- als auch Komm-Adressen
aufnehmen können soll (auch gleichzeitig)

2. Darstellung bzw. Erfassung auf einem HFo mit DS-Herkunft tblKontakte, und
entsprechenden UFon.

Und da kommen wir nicht weiter. UFo für die Adressen, kein Problem; - das lässt
sich ja über die KontaktID/KontaktID_F verknüpfen.
Bei den anderen UFon geht das aber logischerweise nicht (kein FK zu Kontakte).
Habe es mit verschiedenen Abfragen versucht diese ID da rein zu bekommen, was
allerdings nicht geklappt hat. Entweder war die Abfrage nicht aktualisierbar oder die
Zuordnung funzte nicht.

Meine Vermutung bzw. was ich als nächstes probieren würde:
Das UFo für die Komm-Adressen als UFo ins UFo-Adressen (da hängen die ja 1:n
dran). Für die Verteilerlisten vielleicht was mit VBA.
Vielleicht ist das auch ganz einfach und ich hab' nur einen Knoten im Hirn.

Meinen letzten Stand habe ich angehängt.
gruss ekkehard
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)

nbux

Hallo! Zuerst noch einmal: vielen Dank für eure Bereitschaft mir zu helfen!!

ekkehards Zusammenfassung würde ich größtenteils so unterschreiben, aber noch ein-zwei Sachen klarstellen bzw. ergänzen wollen:

1. Zum Datenmodell:
Es wird häufig vorkommen, dass wir von Kontaktpersonen keine Anschrift, sondern nur eine Email-Adresse aufnehmen und diese dann Verteilerlisten zuordnen wollen. In Ekkehards DM-Vorschlag, den er jetzt in seinem letzten Stand wieder aufgegriffen hat, sind aber die Email-Adressen (die ja neben Tel., Webseite, Fax in tblKontakt_Komm stehen) an eine Anschrift (tblKontakt_Adressen) geknüpft.
Da wiederhole ich meine Fragen:
1. kann ich so für eine Kontaktperson eine Email (oder Telefon, ...) ohne Postanschrift aufnehmen?
2. Wird so nicht schon das UfO für die Kommunikationseinträge (soll auf eine weitere Registerkarte des Formulars, analog zum "_ufoAdressen") unnötig kompliziert, weil so ja schon tblKontakt_Komm keinen FK zu tblKontakte hat?
Mein DM-Vorschlag hierzu sind zwei parallele Tabellen (Adressen und Komm.einträge), beide mit der Listenzuordnungstabelle verknüpft - siehe letzter Post von mir von vorgestern..

Zusammenfassend: Wichtig ist, dass die Email-Adressen von den Anschriften unabhängig sind. Zudem gibt es Verteiler mit Postadressen UND Emails, aber auch reine Email- und reine Postverteiler.

2. Zum Formular

Das Grundproblem bleibt, wie von ekkehard beschrieben, dass zwischen Kontakt und Verteilerliste noch die n Adressen pro Kontakt stehen, das Formular aber natürlich von den Kontakten ausgehen muss, dann letztendlich sollen die ja über die Verteiler erreicht werden.

Ekkehards Vorschlag, ein UFo ans UFo Adressen zu knüpfen, ist von den Beziehungen im DM her vielleicht logisch, aber zur Bedienung muss die Listenzuordnung natürlich auf einer separaten Registerkarte stattfinden. Allerdings könnte/müsste man dort wahrscheinlich ein ähnliches UFoAdressen mit UUFo-Listen-Konstrukt bauen!?

Ich werde mich da natürlich auch dran versuchen (mangels Erfahrung kann das aber dauern..), aber wäre weiterhin sehr dankbar für eure Ideen!!


Danke und beste Grüße

Beaker s.a.

Hallo nbux,
Sorry, haben mich heute mal wieder andere Dinge abgehalten.
Deshalb erstmal nur eine Idee, die mir da so nebenbei eingefallen ist (s. Anlage).
Hier bildet jetzt die tblKon_Adr_Komm eine "doppelte" n:m ab. Das sollte uns
weiterbringen.
Formularmässig wird's ohne etwas VBA nicht funzen; - da auch hier keine direkte
Verknüpfung mit der kon_id möglich ist.
Problem dabei ist, das man so zuerst eine Adresse (Post oder Komm) eingeben muss,
um diese anschliessend in tblKon_Adr_Komm aufnehmen zu können. Da lässt sich das
UFo, dass dann an diese  Tabelle gebunden ist, nicht gleichzeitig zur Eingabe verwenden.
Habe ich jetzt bei ersten Versuchen bemerkt.
Würde ich mit Popups lösen. Versuche da so schnell wie möglich was zu basteln.
gruss ekkehard
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)

Beaker s.a.

Hallo nbux,
So, wie es scheint ist das letzte DM schon richtig (Beurteilung eines anderen Regulars
haben wir leider nicht).
Und, wie vermutet geht es nicht mit zusätzlichen Formularen.
In angehängtem Beispiel habe ich es für die Adressen folgendermassen eingerichtet.
Das ursprüngliche UFo ist jetzt an eine Abfrage gebunden die auch die kon_id_F aus
tblKon_Adr_Komm zur Verfügung stellt; - es werden also alle erfassten Adressen zu
einem Kontakt automatisch angezeigt.
Darüber habe ich ein neues UFo für die Erfassung neuer Adressen gelegt. Dieses wird
beim Klick auf "neue Adresse" eingeblendet.
Der Button "Speichern" speichert die Adresse (logisch), schreibt einen neuen DS in
die tblKon_Adr_Komm mit dem FK Kon_Adr_ID_F, blendet das EingabeForm wieder
aus und aktualisiert das Adressen-UFo.
Das funzt soweit, und sollte dann auch so ähnlich mit den Komm-Adressen und letzt-
endlich auch mit den Verteilerlisten so funzen.
Im Moment ist da allerdings noch etwas Feinarbeit von Nöten um zu verhindern, dass
leere/unvollständige DS gespeichert werden. Das ist im Beispiel nämlich noch möglich.
Zum Testen habe ich jetzt erstmal beim Feld ans_zeile1_orga "Eingabe erforderlich"
auf JA und "Leere Zeichenfolge" auf NEIN eingestellt.
Am Rest und an Vorigem bleibe ich aber dran; - wenn's auch dauern kann  :(.
gruss ekkehard
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)

Beaker s.a.

Hallo nbux,
So Adressen und Kontakte funzen soweit, - wenn's dir so gefällt. Bis auf die
Fehlervermeidung/-Behandlung. Siehe dazu meine Kommentare im Code für
die Speichern-Buttons. Falls du dazu Hilfe brauchst, melde dich.

Womit ich nicht weiterkomme ist das UFo für die Listen-Zuordnung. Eigentlich
einfach hatte ich mir gedacht, doch leider Pustekuchen.
Das UFo ist an diese Abfrage gebunden
SELECT
    KAL.Kon_Adr_KommID_F,
    KAL.adr_Lis_id, KAL.lis_id_f,
    KAK.kon_id_F
FROM tblKon_Adr_Komm AS KAK
    INNER JOIN tblKonAdr_Liste AS KAL
    ON KAK.Kon_Adr_KommID = KAL.Kon_Adr_KommID_F

(KAK.kon_id_F wegen Verknüpfung zum HFo)

Auf dem UFo zwei Kombis zur Auswahl der KAL.lis_id_f (DS-Herkunft: tblListe)
und der KAL.Kon_Adr_KommID_F, DS-Herkunft:
SELECT
    KAK.Kon_Adr_KommID,
    KA.ans_zeile1_orga,
    KK.Komm_Eintrag
FROM tblKontakt_Komm AS KK
    INNER JOIN (tblKontakt_Adressen AS KA
        INNER JOIN tblKon_Adr_Komm AS KAK
        ON KA.kon_Adr_id = KAK.Kon_Adr_ID_F)
    ON KK.KonKommID = KAK.Kon_Komm_ID_F

(KA.ans_zeile1_orga und KK.Komm_Eintrag zur Anzeige im Kombi)

Leider passiert so Folgendes. Wähle ich eine Liste aus dem Listen-Kombi aus
schreibt Access in das Adressen-Kombi eine neue KAK.Kon_Adr_KommID  ???
und es erscheint die abgebildete Fehlermeldung (der JET?)
Ich komm' nicht drauf, was ich falsch gemacht habe oder wo mein Denkfehler
steckt. Vielleicht nur ein blöder Benamsungsfehler, den ich nicht finde.
Wäre nett, wenn jemand von den Regulars mal draufschauen könnte; - danke.

gruss ekkehard
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)

Beaker s.a.

Hallo,
Komischer Thread, seit Tagen keine Rückmeldung von niemandem  :'(
Nicht mal 'ne Watschen wegen verzapftem Mist. Womit ich allerdings,
im Gegensatz zu anderen hier  ;), bestens umgehen kann/könnte.
gruss ekkehard
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)

nbux

Hallo Ekkehard,
Entschuldige, ich liege seit ein paar Tagen krank im Bett, könnte deshalb nicht hier vorbeischauen.. bin überwältigt von deinem Einsatz, es kann aber noch etwas dauern bis ich dazu komme es mir näher anzusehen.
Dies nur als kurze Rückmeldung, damit du bescheid weißt..
Beste Grüße
nbux

Beaker s.a.

Hallo nbux,
Danke für Rückmeldung. Hatte mir so was schon gedacht, - gute Besserung.
Bei liegt es aber auch erstmal auf Eis, weil ich mit der Listenzuordnung (noch)
nicht zurechtgekommen bin. Hatte ich ja in #20 geschildert. Leider halten sich
alle Regulars, aus welchen Gründen auch immer, hier raus  :'(
Zur Not machen wir es da genauso wie auf den anderen UFon.
gruss ekkehard
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)

nbux

Hallo noch mal!

Erst mal nur eine kurze Rückmeldung: habe jetzt eine funktionierende Lösung mit "meinem" Datenmodell, das aus verschiedenen Gründen mehr den Zusammenhängen der realen Daten entspricht.

Kurzfassung:
1. Die Listenzuordnungstabelle hat jetzt einfach auch die Kontakt-ID als FK, um sie direkt als Unterformular am Kontakte-HF nutzen zu können - funktioniert super! (Formularumsetzung siehe unten). Außerdem je ein Feld für Anschriften und für Email-Adressen, die so unabhängig voneinander einer liste zugeordnet werden können.

2. Die Anschriften und Email-Adressen kommen jetzt aus einer einzigen Multipurpose-Kontaktdaten-Tabelle (entspricht vielleicht Klaus' Vorschlag vom Anfang?), die per FK zu weiterer Tabelle festlegt, ob Eintrag eine Anschrift, Email-Adresse, Telefonnummer usw. ist.

3. Die Unterformulare zum Eintragen und Anzeigen der Anschriften bzw. der Emails/Tel./Webseiten filtern jeweils nach diesem FK, so dass nur das gewünschte angezeigt wird

4. Das Unterformular für die Listenzuordnung hat ein nicht angezeigtes Kombo, das automatisch den im HF aktuellen Kontakt anzeigt/auswählt und so die entsprechende kontakt-id als FK in die Listenzuordnung mit reinschreibt.

ich plane, auch noch mal Screenshot/Beispieldatenbank hochzuladen, zwecks Dokumentation und um euren Senf zu hören, aber jetzt muss ich wg Zeitdruck erst mal an der weiteren Umsetzung arbeiten - und deshalb vorher eher noch mal einen neuen Thread mit anderen Fragen starten..

Hiermit sei schon mal sehr herzlich gedankt für die Hilfe und Unterstützung bisher!!

Beaker s.a.

Hallo nbux,
Schön, dass du eine Lösung gefunden hast. Würde ich mir gerne anschauen.
Allein aus Interesse, ob ich deine Lösung auch hätte finden können.
gruss ekkehard
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)