MS Access formulier sluiten verplicht veld nog niet ingevuld

Status
Niet open voor verdere reacties.

MJJBROEKHUI

Gebruiker
Lid geworden
6 jun 2001
Berichten
175
Ik heb formulier met diverse velden. Enkele van deze velden zijn verplicht om in de toekomst selecties mee te maken. Indien deze verplichte velden nog niet zijn ingevuld mag niet de mogelijkheid bestaan om het formulier te sluiten. Ik kan hier alleen een goede code voor vinden. In de tabel eigenschappen kan je aangeven dat een veld Vereist (required) moet zijn. Echter, als ik dit toepas in een formulier krijg ik de volgende pop up melding.

"You must enter a value in the 'tabelnaw.bedrijf' field".

Vervolgens moet ik kiezen uit "OK" of "Help".

Als ik op OK druk verschijnt de volgende melding

"You can't save this record at this time".
Database may have encountered an error while trying to save a record. If you close this object now, the data changes you made will be lost. Do you ant to close the database object anyway?

Ik kan dan kiezen uit "Yes" or "No".

Zoals jullie zullen begrijpen wil ik niet de optie hebben om voor Yes te kiezen, maar dat de cursor direct gaat naar het veld dat niet gevuld is. Dit gebeurt wel als je op No klikt, maar mijn gebruikers zullen deze lap met tekst niet begrijpen en wellicht kiezen voor Yes. Vervolgens is alle data verdwenen. Een voorbeeld database heb ik toegevoegd.

Ik heb ook op internet volgende code gevonden bij het sluiten van een formulier, maar deze werkt ook niet.
Private Sub Form_Close()
If IsNull([Naam]) Then
MsgBox "U moet dit veld invullen ."
DoCmd.GoToControl "Naam"
Else
DoCmd.GoToControl "Naam"
End If
End Sub​

Wie kan mij helpen?
Dank!!
Marco


Bekijk bijlage Database1.zip
 
Wat doet de code dan wel? Normaal gesproken zou deze toch een msgbox moeten laten zien als je niks invult.
Overigens kun je veel beter een Sluitknop maken op je formulier, en de ingebouwde sluitknop met het kruisje niet laten zien. Dan blijf je op het formulier, waar je de controle kunt uitvoeren tot je de velden hebt ingevuld.
 
De msgbox ziet er alsvolgt uit.

"You must enter a value in the 'tabelnaw.bedrijf' field".
Vervolgens moet ik kiezen uit "OK" of "Help".
 
Overigens kun je veel beter een Sluitknop maken op je formulier, en de ingebouwde sluitknop met het kruisje niet laten zien. Dan blijf je op het formulier, waar je de controle kunt uitvoeren tot je de velden hebt ingevuld
.

Om deze reden hoef je eigen 'sluitknop' niet te gebruiken!
Code om bij sluiten te controleren of een verplicht veld wel of niet is ingevuld doe je bij de gebeurtenis 'unload'
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan