PDA

Vollständige Version anzeigen : UForm aktualisieren 2 (Muster-DB?)


MSchmidgall
23.01.2001, 08:15
Hallo,
ich versuchs doch noch mal:
Ich habe eine DB in der ich Koch-Rezepte verwalte.
Nun habe ich ein Form, in dem ich die Rezeptinformationen und auch die Zutaten eingebe. Das habe ich derart gestaltet, daß ich ein UForm (UFrmRez1) benutze, um alle zutaten dieses Rezeptes anzuzeigen -Datenherkunft: Abfrage -Ansicht: Endlosformular.
Und dann habe ich noch ein UFrmRez2, in dem ich die Zutaten hinzufüge, bzw. bearbeite-Datenherkunft: Tabelle -Ansicht: Einzelnes Formular.

Diese beiden UFrm sind gleichartig ins Hauptformular eingebunden.
Wenn ich in UFrmRez1 eine Zutat auswähle, wird genau dieser DS in UFrmRez2 angezeigt(Synchronisiert).
Doch wenn ich nun in UFrmRez2 einen DS aktualisiere wird diese Veränderung im UFrmRez1 nicht aktualisiert.
Bzw es springt der Datenstzmarkierer in UFrmRez1 wieder auf den ersten DS und synchron wird auch der erste DS im UFrm2 angezeigt, doch die zuvor getätigten Änderungen werden nicht sichtbar.

Bei meiner ersten Anfrage zu diesem Thema hatte ich von Karl Donaubauer folgenden Code erhalten: Me.Parent.UFrmRez1.Requery
Hier auch nochmal ein recht herzliches Dankeschön.

Da ich im Moment ncicht mehr zu 100% einen kleinen Fehler meinerseits ausschließen kann, wollte ich mal Fragen ob vielleicht irgendwer eine Muster-DB hat, in der ich mir das einmal anschauen kann.

Bin auch für weitere Tips jederzeit Dankbar.

Meine EMail-Adresse: MSchmidgall@t-online.de

Wolfgang
23.01.2001, 18:57
Hallo MSchmidgall
Requery löst eine Neuabfrage des Recordsets der Datenherkunft deas Unterformulars1 aus. Es wird wie beim öffnen des Formulars der erste Datensatz angezeigt. Nach der Aktion Requery muss man wieder zurück zum aktualisierten Datensatz dies geht z.B. mit der Eigenschaft Bookmark
In dem Modul muss vor Requery eine Variable deklariert werden z.B. Dim VRezeptnr as long
VRezeptnr = Me!Rezeptnr (=Verknüpfungsfeld)
Das folgende Beispiel muss noch auf die Syntax für das Unterformular umgeschrieben werden
Me.RecordsetClone.FindFirst "[RezeptNr] = " & VRezeptnr
Me.Bookmark = Me.RecordsetClone.Bookmark

Ich hoffe, das ist verständlich.

Grüße Wolfgang

MSchmidgall
23.01.2001, 21:10
Hallo Wolfgang,
ich habs mal So versucht, doch ich glaub ich hab´s falsch verstanden.

Private Sub ZutCode_AfterUpdate()
Dim ZutID As Long
ZutID = Me!ZutID
Me.RecordsetClone.FindFirst "[ZutID] = " & ZutID
Me.Bookmark = Me.RecordsetClone.Bookmark
Me.Parent.UFrmRez1.Requery
End Sub

es geht noch nich so.

Was mich allerdings immer überrascht, wenn requery ja quasi das Formular neu startet, warum ändern sich da die Daten nicht. denn wenn ich das Formular schließe und wieder öffne habe ich die veränderten Daten, oder eben durch das Refresh, wie schon beschrieben, doch das ist nicht befriedigend,