Fehler mit zwei Formulare, die den gleichen Datensatz nutzen

25/06/2009 - 09:56 von Chris | Report spam
Hallo zusammen

ich habe die foglende Frage:

Ich habe ein Hauptformular, welches als Datenherkunft eine Tabelle
(keine Query) hat. Aus Layoutgründen muss ich 5 Felder der Tabelle
über ein Pop-Up, ein weiteres Formular welches ich im Modus acDialog
über das Hauptformular öffne, befüllen. Das Pop-Up hat also die
gleiche Datenherkunft wie das "Hauptformular". Die 5 Felder kann ich
dann im Pop-Up auch super befüllen, klappt alles ohne Probleme.
Schliesse ich das Pop-Up nun, sind auf dem Hauptformular die 5 Felder
nicht aktualisiert, haben also noch die alten Werte. Klicke ich nun
auf einen neuen Datensatz kommt logischerweise eine Fehlermeldung,
dass die Daten auf dem Hauptformular bearbeitet wurden und nicht mehr
aktuell sind.

Was muss ich nun machen, damit mein Hauptformular nach Schliessen des
Pop-Ups die gleichen Daten enthàlt? Hat da jemand eine Idee?

Versucht habe ich es schon mit DoCmd.Requery Forms!..., da kam aber
immer eine Fehlermeldung.

Danke für Eure Hilfe und Gruß
Christian
 

Lesen sie die antworten

#1 Henry Habermacher
25/06/2009 - 10:31 | Warnen spam
Hallo Chris

Chris wrote:
Ich habe ein Hauptformular, welches als Datenherkunft eine Tabelle
(keine Query) hat. Aus Layoutgründen muss ich 5 Felder der Tabelle
über ein Pop-Up, ein weiteres Formular welches ich im Modus acDialog
über das Hauptformular öffne, befüllen. Das Pop-Up hat also die
gleiche Datenherkunft wie das "Hauptformular". Die 5 Felder kann ich
dann im Pop-Up auch super befüllen, klappt alles ohne Probleme.
Schliesse ich das Pop-Up nun, sind auf dem Hauptformular die 5 Felder
nicht aktualisiert, haben also noch die alten Werte. Klicke ich nun
auf einen neuen Datensatz kommt logischerweise eine Fehlermeldung,
dass die Daten auf dem Hauptformular bearbeitet wurden und nicht mehr
aktuell sind.

Was muss ich nun machen, damit mein Hauptformular nach Schliessen des
Pop-Ups die gleichen Daten enthàlt? Hat da jemand eine Idee?



Zwei Möglichkeiten kommen mir auf Anhieb in den Sinn:
- Das Popup Formular ist nicht an die DAtenquelle gebunden und schreibt beim
Klick auf OK die Werte direkt in das aufrufende Fromular in die Felder rein:

Forms("DeinForm")!Feld1 = me!Feld1
..
Forms("DeinForm")!Feld5 = me!Feld5

Alternative:
Das aufrufende Formular macht vor dem Aufruf ein:

Me.Dirty = False

um alle Datenànderungen vorerst mal zu speichern. Wenn nun die Daten im
Popup Form weggeschrieben sind (Form_AfterUpdate), macht entweder das
Popupform ein

Forms("DeinForm").Refresh

oder das aufrufende Form macht nach dem Dialog-Modus Aufruf (da wird ja der
Code angehalten) selber ein:
Me.Refresh

Damit sollten die Felder neu eingelesen werden. FAlls Du einen Requery
machen willst, musst Du allenfalls vorher den Bookmark zwischenspeichern und
anschliessend den Bookmark des Fromulars wieder setzen. Wie's geht, steht in
der FAQ

Gruss
Henry


Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen