Verplichte invoer van gerelateerde velden

Status
Niet open voor verdere reacties.

tonp60

Gebruiker
Lid geworden
29 jul 2009
Berichten
136
Beste forumleden,

Is het mogelijk om in een formulier gerelateerde velden verplicht in te laten vullen als de waarde van het hoofdveld de waarde Ja bevat of groter is dan 0.
Voorbeeld:
1) Ik heb een veld Stofborstel. Als de waarde van dit veld Nee is dan is het klaar. Als de waarde Ja is dan moet het veld KleurStofborstel verplicht ingevuld worden.
2) Ik heb een veld genaamd AantalOpsluitwand. Als de waarde van dit veld 0 is dan is dit ook klaar. Als de waarde echter groter is dan 0 dan moeten de velden
DikteInmm, HoogteInmm, BreedteInmm en OpsluitwandKleur verplicht ingevuld worden.

Is het dan ook nog mogelijk dat als de gebruiker het formulier af wilt sluiten en er is niet voldaan aan deze voorwaarden er een waarschuwing (MessageBox) getoond wordt welke velden niet voldoen aan de voorwaarden. Dit moet zo doorgaan tot aan alle voorwaarden is voldaan.
Alle genoemde velden bevinden zich in één en dezelfde tabel.

Groet,
Ton
 
in de beforeUpdate en BeforeInsert events van her formulier kan je een zelfgeschreven check procedure oproepen als

dim strMessage as string
if me.Stofborstel > 0 then
if NZ(me.kleur,0) = 0 then strmessage = strmessage & "Je moet de kleur invullen" & vblf
….

Dit doe je voor elk hoofdveld en de daarbij horende subvelden
Als de lengte van strmessage op het einde > 0 dan toon je de strmessage in een messagebox en cancel je de update/insert
 
Hallo NoellaG,

Ik heb je code in het beforeUpdate event van het formulier gezet. De code werkt niet. Er staat nu:
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strMessage As String
If Me.AantalStofborstel > 0 Then
If Nz(Me.KleurStofborstel, 0) = 0 Then strMessage = strMessage & "Je moet de kleur invullen" & vbLf
End If
End Sub
Wat doe ik niet goed?
 
Je moet de boodschap ook nog tonen, dus voor de end sub nog een
if len(strmessage) > 0 then msgbox strmessage

en ook de actie ongedaan maken

cancel = true

en de
 
Het is me gelukt. Weet nog niet hoe het zich gaat verhouden met alle velden, maar het werkt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan