Form Fielt before update

Status
Niet open voor verdere reacties.

RonaldRoenhorst

Gebruiker
Lid geworden
25 dec 2008
Berichten
188
Is er een mogelijkheid om before update een veld te checken of er uberhaubt iets gevuld is ?
Wanneer ik het veld leeg laat gaat de cursor bij enter gewoon naar het volgende veld.
 
Niet zozeer bij <Voor bijwerken>, want dat kan natuurlijk niet; voordat je een veld bijwerkt staat er nog niks. En je wilt voorkomen dat men met de muis een heel ander veld aanklikt. Dus je kunt dit proberen:
Code:
Private Sub JouwVeld_Exit(Cancel As Integer)
    If Me.JouwVeld.Text = "" Then
        MsgBox "Veld is nog leeg", vbCritical
        Cancel = True
    Else
        MsgBox "Veld is keurig gevuld", vbOKOnly
    End If
End Sub
 
Iemand kan het formulierveld ook gewoon overslaan.
Een betere gebeurtenis is dan ook de Voor Bijwerken gebeurtenis van je formulier.

Code:

Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)

If IsNull(Me.naamvanjeformulierveld) Then
    MsgBox "Voer naamvanjeformulierveld in"
    Cancel = True
    Me.afdnaam.SetFocus
End If

End Sub

Tardis
 
Ik zou sowieso van het betreffende veld een verplicht veld maken; dan is het per definitie onmogelijk om het record op te slaan zonder dat de waarde is ingevuld.
 
De optie van Octafish werkt eigenlijk perfect, punt is wel dat het heel erg streng is omdat je er nooit meer uitkomt zonder wat in te vullen als je klaar bent. :D
 
Dat is ook de grap, als je wilt voorkomen dat men het veld leeg laat :). Overigens kun je zelf nog een melding instellen die wat minder cryptisch is als de standaard melding.
 
In de praktijk vullen de gebruikers dan overal een punt in :)
 
Ook in een numeriek veld of een datumveld? Jij maakt inderdaad andere databases dan ik :).
 
In een numeriek veld 0, een datumveld de datum van vandaag, ik gaf het voorbeeld van een tekstveld naar analogie met jou code voorbeeld. Om een beetje hetzelfde te blijven :p
 
Met zulke gebruikers doe je ofwel een slechte instructie, ofwel heb je de db te slecht dichtgetimmerd :)
 
Dag Octafish,

Een database kan je in de productie niet echt "dicht timmeren". Op de grootste site passeren er 2 vrachtwagens per minuut. Dan moet je een evenwicht zoeken tussen databescherming en nog vlot werkzaam zijn. De instructie van de gebruikers is trouwens een andere afdeling en hebben wij weinig mee te maken.

Vriendelijke groeten
Noëlla
 
Een database kan je in de productie niet echt "dicht timmeren".
Ik zou dit niet zo strak durven beweren voor 'elke' database (dat is namelijk wat je impliceert). Ik snap ook niet helemaal wat die 2 vrachtwagens met de vraag van TS te maken hebben :).
 
Dag Octafish,

aangezien jij een vraag aan mij hebt gesteld die niets met de oorspronkelijke vraag te maken had, heb ik gewoon op jou vraag geantwoord. Dit kan je merken doordat ik specifiek in de aanspreektitel de boodschap naar jou had gericht. Als dit niet duidelijk was voor jou, dan mijn excuses en kan je me misschien een paar tips geven hoe ik dit in het vervolg duidelijker kan aanpakken.

Vriendelijke groeten
Noëlla
 
Ik bedoelde slechts dat we wat aan het afdwalen zijn van de oorspronkelijke vraag. :D.
 
Geachte Octafish en NoellaG,

Ik begrijp dat jullie niet voor elkaar onder will doen aangaande kennis van databases in het algemeen en Access in het bijzonder. Ik zie jullie de laatste tijd veel wedijveren in verschillende topics aangaande dit onderwerp. Ik geniet er van, maar kan mij ook voorstellen dat vragenstellers en meelezers dit niet appreciëren. Dus graag blijven bij de kern van de vraag van een TS.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan