Hallo Robert,
danke für die schnelle Antwort.
Ja, das Grundkonzept der Adressdatei ist auf
Firmen ausgelegt, da ja in Firmen oder Institutionen
immer mehrere Personen beschäftigt sind.
Die Haupttabelle/Hauptformular und Detailtabelle/Unterformular
sind über das Primärschlüsselfeld ADRESSNUMMER miteinander
verknüpft.
Da sich die Formulare über mehrere Seiten erstrecken
wollte ich beim jedem Seitenbeginn einige Felder
einblenden, damit ich mich zwecks Datensatzoriientierung
besser zurechtfinde.
Ich hatte vor einiger Zeit mal für eine Firma in ACCESS
eine relationale Adressdatei realisert und in ACCESS
war es möglich, ein Formular aus mehreren Tabellen zusammen-
zustellen und Daten einzugeben.
Ewald
Robert Großkopf schrieb:
Hallo Ewald,
ich stehe erneut vor einem Problem, bei dem ich nicht vorwärtskomme:
Vielleicht kann mir jemand dazu eine generelle Auskunft geben, ob
es eine Lösung gibt.
Vereinfachend angenommen, in Tabelle 1 habe ich die Datenfelder
Adressname/Firma, Postleitzahl, Ort, Straße, Internetadresse usw.
Daraus habe ich das Hauptformular Adressanschriften erstellt.
In der 2. Tabelle sind die Personen zu einer Adressanschrift enthalten
mit den Datenfeldern Namen, Vorname, Titel usw. Diese Tabelle ist
als Unterformular PERSONEN dem Hauptformular ADRESSEN zugeordnet.
Das heißt, dass Du davon ausgehst, viele Personen mit gleichen Adressen zu
haben - würde z.B. bei Firmen zutreffen.
Ich wollte aus Gründen der Übersichtlichkeit einige Datenfelder aus
der Tabelle 1 ind das Unterformular mit Status NUR LESEN einblenden.
Demzufolge konnte die Datenbasis für das Unterformular PERSONEN nicht
die Tabelle PERSONEN sondern eine Komination aus den beiden Tabellen.
Dies erfolgte mittes SQL-Befehl.
Zwei Anmerkungen dazu:
In dem Personen-Formular ist ja eine Adress-ID gespeichert, da sonst die
Verbindung gar nicht klappt. Eigentlich wird das Ganze über Hauptformular
(Adressen) und die Verknüpfung zum Subformular (Personen) mittels des
Primärschlüssels des Hauptformulars gelöst. Das heißt, dass die Daten des
Hauptformulars problemlos angezeigt werden und die des Subformulars um
beliebig viele Datensätze erweitert werden können. Die Datenfelder sind also
beständig da.
Eine Eingabe ist nur möglich, wenn sich Abfragen nicht auf untereinander
verknüpfte Tabellen beziehen. Das wäre aber bei Dir der Fall, wenn Du das
Ganze mit einer Abfrage realisierst und nicht über Hauptformular-Subformular.
Dies kannst Du direkt bei den Abfragen probieren - dazu brauchst Du kein
Formular. Sobald eine 2. Tabelle bei der Erstellung einer Abfrage hinzugezogen
wird (Abfrageerstellung im grafischen Modus) ist ein Editieren der Datensätze
nicht mehr möglich.
In den Formulareigenschaften im Register DATEN wählte ich bei Art des
Inhalts SQL-Befehl und im Feld INHALT selbst kam der SQL-Befehl mittels
SELECT zum Einsatz. Es wurden die entsprechenden in Frage kommenden
Datenfelder ausgewählt.
Leider ist es jedoch nun nicht möglich, in keines mittels SQL-Befehl
ausgewählten Datenfelder Werte einzugeben.
Daher wäre meine Frage, ob dies grundsätzlich über SQL nicht geht und
ich daher immer eine Tabelle als Datenbasis nehmen muss oder habe ich
etwas falsch gemacht?
Wenn die obige Annahme nicht stimmt (dass viele Personen mit gleicher Adresse
zu verzeichnen sind) frage ich mich, ob Du mit der Konstruktion der Tabellen
nicht falsch liegst. Ich würde da eher Nahezu alles in eine einzige Tabelle
fassen und lediglich solche Felder wie Anrede oder Postleitzahl und Ort in
separaten Tabellen verwalten, da diese sicher mehrfach vorkommen.
Gruß
Robert
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]