Forums Neueste Beiträge
 

"Kein Aktueller Datensatz" beim Schließen eines Forms über eingebaute Schließenschaltfläche

09/08/2008 - 21:03 von Josef Poetzl | Report spam
Hallo!

Ich bemerkte ein ungewöhnliches Verhalten beim Schließen eines
Formulars.
DoCmd.Close acForm, me.Name => Form schließt ohne Probleme
Beim Schließen über die Schließenschaltflàche kommt ein Form-Fehler
des Unterformulars: "Kein aktueller Datensatz"

Beispiel-mdb: http://access.joposol.com/download/...aetsel.zip

Die Fehlerquelle:
| Public Property Let AllowDataEdits(ByVal allowEdit As Boolean)
|
| Me.AllowEdits = allowEdit
| Me.AllowAdditions = allowEdit
|
| ' If (Not IsNull(Me!idA)) Or allowEdit Then ' diese Prüfung würde keinen Fehler beim Schließen (!!!) auslösen
| ' Me.sfrNochEinUF.Form.AllowDataEdits = allowEdit
| ' End If
|
| If allowEdit Or Me.Recordset.RecordCount <> 0 Then 'damit wird der Fehler "Kein aktueller DS" ausgelöst
| 'vermutlich weil Recordset nicht mehr angesprochen werden kann wenn Form.Unload làuft
| 'nur: wer ruft diese Eigenschaft bei Unload auf?
| Me.sfrNochEinUF.Form.AllowDataEdits = allowEdit
| End If
|
| End Property

Anm.: Das ist ein Code des UF, der wiederum ein weiteres UF einstellen
soll.

Und jetzt kommts: diese Property wird von mir in keiner einzigem
Eventhandler der Events Close, Unload benutzt.
Das Problem tritt nur auf, wenn die Property vom HF aus eingestellt
und der DS im HF gewechselt wird. Als weitere Bedingung für die
Fehlermeldung darf im UF kein DS enthalten sein.

Hat jemand eine Erklàrung dafür? Eine Problemumgehung ist mir bekannt,
ich wüsste nur gerne den Grund für die Fehlermeldung. ;-)
Da mir das heute zum ersten mal auffàllt könnte es auch sein, dass ich
etwas übersehe.
Die oben gezeigte Variante zum Einstellen von AllowEdits nutze ich in
fast jedem Bearbeitungsformular und hatte damit noch nie Probleme. Ich
filtere allerdings diese Bearbeitungsfomrulare normalerweise immer auf
einen einzigen DS. Dann würde auch mit der Beispiel-mdb kein Problem
auftreten.


mfg
Josef


EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/
 

Lesen sie die antworten

#1 Josef Poetzl
09/08/2008 - 21:06 | Warnen spam
Nachtrag:
Getestet habe ich diese Verhalten unter Ac2002 und Ac2007.

mfg
Josef

EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/

Ähnliche fragen