Frage zu Verknüpfungen zwischen Tabellen

26/06/2008 - 09:27 von pewi | Report spam
Hallo,

Eine Verstàndnisfrage.

Ich habe 2 Tabellen erstellt, die 1:1 über den Primàrschlüssel verknüpft
sind und die Basis für je ein Formular bilden.(Beides sind HFO). Jetzt
habe ich gedacht, wenn ich aus der Form 1, die Form 2 aufrufe, werden
die Datensàtze der Form 2 genau so behandelt wie die in Form 1 - Neuer
Datensatz in HFO 1 = neuer Datensatz in HFO 2, 2. Datensatz in HFO1 = 2.
Datensatz in HFO2, ... (ich hàtte das auch alles in einer Tabelle
zusammengefassen können, die Tabelle würde dann aber ca. 40 Felder
umfassen). Das funktioniert aber nicht. Form 2 zeigt immer nur den 1.
Datensatz an. Ist sowas mit einer Verknüpfung lösbar oder muss ich
programmieren?

Wenn ja, wie soll der Code aussehen?


Besten Dank

Hans-Peter Wilker
 

Lesen sie die antworten

#1 Stefan Hoffmann
26/06/2008 - 10:28 | Warnen spam
hallo Hans-Peter,

pewi schrieb:
... (ich hàtte das auch alles in einer Tabelle
zusammengefassen können, die Tabelle würde dann aber ca. 40 Felder
umfassen).


Das macht man in der Regel so, das die erste Tabelle die jenigen Felder
enthàlt, welche immer besetzt sind und die zweite Tabelle enthàlt die
Felder, welche selten besetzt sind.

Das funktioniert aber nicht. Form 2 zeigt immer nur den 1.
Datensatz an. Ist sowas mit einer Verknüpfung lösbar oder muss ich
programmieren?


Referenzielle Integritàt heißt nur, das in der zweiten Tabelle
Datensàtze erzeugt werden können, zu denen es in der ersten Tabelle
schon einen Datensatz gibt.

Es ist im Grunde eine Master-Child-Beziehung, lediglich mit einer
anderen Kardinalitàt. Eben 1:1 statt 1:n.

Daher mußt hier genauso arbeiten. Z.B.:

Im HFO1:

Private Sub cmdOpenHFO2_Click()

DoCmd.OpenForm FormName := "HFO2", OpenArgs := Me![ID]

End Sub

Und im HFO2:

Private Sub Form_Load()

Me.Filter = "ID = " & Me.OpenArgs
Me.FilterOn = True
' oder
' Me.RecordSource = "SELECT * FROM tabelle2 WHERE id = " & Me.OpenArgs

End Sub

Private Sub Form_BeforeUpdate()

Me![ID] = Me.OpenArgs

End Sub


In den Fàllen, in denen ich es nutze, habe ich immer ein PageControl.
Auf der ersten Seite sind die Daten aus der Haupttabelle und auf den
weiteren Seiten habe ich Unterformulare für die Untertabellen.


mfG

Access-FAQ http://www.donkarl.com/
KnowHow.mdb http://www.freeaccess.de
Newbie-Info http://www.doerbandt.de/Access/Newbie.htm

Ähnliche fragen