PDA

Vollständige Version anzeigen : Schließen eines Formulars kontrollieren


OlliU
10.02.2001, 23:32
Hallo!

Wenn ein Formular geschlossen wird, möchte ich verschiedene Bedingungen überprüfen.
Sind einige nicht erfüllt, soll das Schließen abgebrochen werden.

Die Bedingungen habe ich - aber was muß ich tun (und wo?), damit ich das Schließen kontrollieren kann?

Vielen Dank schon mal.

OlliU

Karl-Heinz
11.02.2001, 08:22
Hallo,
vieleicht hilft dir das füge eine Schaltfläche ein die erst deine Bedingungen überprüft, und wenn alles ok ist das formular schließt.

Dim Pruef as Integer
If [Test]=1 ten
Prüf= 1
end if
If [Betrag] >100 then
Pruef = Pruef + 1
end if
...
if Pruef = 2 then
DoCmd.Close acForm, "Formular", _
acSaveYes
else
MsgBox "es fehlen noch Eingaben"
must aber die Schließen Schaltfläche in Eigenschaften auf Nein setzen

Karl-Heinz

OlliU
11.02.2001, 09:56
Hallo, Karl-Heinz!

>vieleicht hilft dir das füge eine >Schaltfläche ein die erst deine Bedingungen >überprüft, und wenn alles ok ist das >formular schließt.

Das habe ich probiert und es funktioniert auch. Das Problem ist das kleine X am oberen rechten Bildschirmrand; wenn jemand hier das Formular schließt, werden meine Bedingungen bei ONCLOSE() zwar auch abgearbeitet, aber das Formular trotzdem geschlossen - egal, was im Code steht...

Immer noch ratlos...
(trotzdem danke!)

OlliU

Karl-Heinz
11.02.2001, 10:45
Du musst beim Formular im Entwurfansicht
Schließen Schalztfläche auf Nein Setzten
dann wird das kleine X deaktivert.
karl-heinz

OlliU
11.02.2001, 17:30
Hallo, Karl-Heinz!

Habe ich schon versucht - aber dabei passiert gar nichts. Das klappt nur, wenn ich dem Formular die Eigenschaft Dialog gebe - aber das ist nicht erwünscht.

So ein M...

Was nu?

Gruss

OlliU

I.STAUSS
21.02.2001, 15:37
Hi,

Versuch es doch einfach mal mit dieser Prozedur:

' FORM ist der Name des Formulars, wenn Dein
' Formular DEINFORMULAR heißt so heißt die Prozedur: DEINFORMULAR_UNLOAD(CANCEL as INTEGER)
Private Sub Form_Unload(Cancel As Integer)
' Wenn Bedingung nicht erfüllt
If cbo_fenster = True Then
' Fenster nicht schließen
Exit Sub
Else
' ansonsten schließen
Cancel = True
End If
End Sub

Gruß Ingmar