Messagebox probleem

Status
Niet open voor verdere reacties.

JeroenMioch

Gebruiker
Lid geworden
1 dec 2007
Berichten
215
hey allemaal !

Ik probeer onze medewerkers te verplichten bepaalde velden van een formulier in te laten vullen. Zo mag het veld achternaam, kenteken, en vergunning nummer nooit leeg zijn. Ze krijgen een messagebox te zien en de focus komt terug bij het veld waar een waarde voor verplicht is.
De code hiervoor was makkelijk te vinden echter er doemt één probleempje op;

Als de medewerker per ongeluk iets invuld in het nog lege formulier dan maakt access automatisch een record aan, ook al haalt die medewerker de ingevulde waarde weer weg.
Ze blijven dan hangen in een messagebox die maar roept dat er iets ingevuld moet worden, ondanks dat het de bedoeling is dat het record leeg blijft (en niet opgeslagen word).
Ook op het "verwijder record" knop clicken heeft geen nut, ik blijf die messagebox krijgen totdat er A) een waarde word ingevuld, of B) het formulier met "geweld" word afgesloten.

Hoe laat ik het formulier weten dat hij records waar niets instaat kan negeren ?

Mvg : Jeroen
 
Dat kan alleen als je een andere aanpak neemt. Je huidige formulier is blijkbaar gebaseerd op een tabel of een query, met als gevolg dat je bij het toevoegen van een nieuw record automatisch gegevens wegzet in dat record.
Om te voorkomen dat je dus al gelijk een record aanmaakt als je op Nieuw klikt, moet je het formulier onafhankelijk maken, dus niet koppelen aan een tabel. De gebruiker kan dan alle velden invullen, met de checks die je wilt laten uitvoeren. Met een knop <Opslaan> zorg je er vervolgens voor dat het complete record in één keer wordt toegevoegd aan de tabel. Je kunt bijvoorbeeld een Toevoegquery maken die je koppelt aan de knop, als je het niet te ingewikkeld wilt maken met VBA.
 
Hoi Michel, dank voor je reactie.

Ik weet niet of dat mogelijk is in mijn geval. Maar ik zal het eens onderzoeken.

groet : Jeroen
 
Je zou ook nog een Undo actie aan de messagebox kunnen hangen, die het nieuwe record weer ongedaan maakt. Dit dan in het geval je het eerste veld ongedaan maakt, en daarmee dus eigenlijk het nieuwe record wilt verwijderen. Je raakt dan wel een record nummer kwijt als je een Autonummer gebruikt voor je ID, maar dat zal wel overkomelijk zijn...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan