Validatietekst bij leeglaten veld

Status
Niet open voor verdere reacties.

Merkie18

Gebruiker
Lid geworden
1 jan 2007
Berichten
134
Hoi allemaal,

Ik heb een formulier met daarin een veld kenmerk. Dit veld MOET worden ingevuld!! Alleen als ik het veld op vereist zet krijg je de melding This field cannot contain a null value... als je het veld leeglaat. Ik wil graag een andere melding laten weergeven. Hoe doe ik dat?

Thanks in advance!

Greetings Merkie18!
 
Volgens mij is het goed te doen in VB achter het formulier.
Je kan bijvoorbeeld het volgende doen:
Op het moment dat men het formulier opslaan af testen of alle verplichte velden zijn ingevuld.
Ik heb dat zelf als volgt gedaan;

If IsNull(Me.veldnaam1) Or IsNull(Me.veldnaam2) Then
MsgBox "LET OP : Niet alle verplichte velden zijn ingevuld", vbOKOnly

If IsNull(Me.veldnaam1) Then
Me.veldnaam1.SetFocus
ElseIf IsNull(Me.veldnaam2) Then
Me.veldnaam2.SetFocus
End If
Exit Sub
End If

Ik hoop dat je hier wat aan hebt.
 
Volgens mij is het goed te doen in VB achter het formulier.
Je kan bijvoorbeeld het volgende doen:
Op het moment dat men het formulier opslaan af testen of alle verplichte velden zijn ingevuld.
Ik heb dat zelf als volgt gedaan;

If IsNull(Me.veldnaam1) Or IsNull(Me.veldnaam2) Then
MsgBox "LET OP : Niet alle verplichte velden zijn ingevuld", vbOKOnly

If IsNull(Me.veldnaam1) Then
Me.veldnaam1.SetFocus
ElseIf IsNull(Me.veldnaam2) Then
Me.veldnaam2.SetFocus
End If
Exit Sub
End If

Ik hoop dat je hier wat aan hebt.

Heey Marco!

Bedankt voor jouw reactie! Waar precies in Visual Basic moet ik de bovenstaande tekst plakken? Ik heb nu al het volgende onder de knop waar ik het wil hebben:

Private Sub Knop30_Click()
On Error GoTo Err_Knop30_Click

Dim stDocName As String

stDocName = "Reparaties"
for X = 1 to 2

DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "Reparaties", , , "[ID]=" & Me.Id

Next X

Exit_Knop30_Click:
Exit Sub

Err_Knop30_Click:
MsgBox Err.Description
Resume Exit_Knop30_Click

End Sub


Alvast heel erg bedankt!!

Groetjes Merkie18!:D
 
ik zou hem bij de before insert doen dan krijgje niet bij elk veld een melding zodra je het veld verlaat maar kun je het record niet eerder wegschrijven dan dat alles is ingevuld
 
Volgens mij krijg je het zelfde, als wat zRowix zegt, als je het stukje code van mij gewoon plaatst net VOOR de "for x = 1 to 2". Dan wordt de controle elke keer gedaan als er op de knop wordt gedrukt (opslaan).
Pas als alles dan goed is dan wordt het rapport pas geopend, en alles opgeslagen.
Je kan dan eventueel ook gelijk een lijst van foute velden laten zien als je dat wilt.

Wat ik zelf heb gedaan is dat ik voor de verplichte velden de tekst hebt onderstreept en geef ik op het formulier aan dat alle onderstreepte velden moeten worden ingevuld. En daarnaast heb ik dan nog de controle, zoals eerder beschreven.
 
Laatst bewerkt:
Volgens mij krijg je het zelfde, als wat zRowix zegt, als je het stukje code van mij gewoon plaatst net VOOR de "for x = 1 to 2". Dan wordt de controle elke keer gedaan als er op de knop wordt gedrukt (opslaan).
Pas als alles dan goed is dan wordt het rapport pas geopend, en alles opgeslagen.
Je kan dan eventueel ook gelijk een lijst van foute velden laten zien als je dat wilt.

Wat ik zelf heb gedaan is dat ik voor de verplichte velden de tekst hebt onderstreept en geef ik op het formulier aan dat alle onderstreepte velden moeten worden ingevuld. En daarnaast heb ik dan nog de controle, zoals eerder beschreven.

Heey! Bedankt voor je reactie! Het werkt inderdaad wel als ik het voor de FOR X zet, alleen als ik alles invul en op de knop druk waar die code achter hangt krijg ik de melding "Parameterwaarde opgeven" van de twee velden en dan gaat hij pas printen:(. Iemand suggesties?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan