Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

form niet afsluiten indien een of meer velden niet ingevuld

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wie kan me erbij helpen als ik in een formulier drie zaken heb staan waarvan minimaal een ingevuld moet worden.

Bijvoorbeeld: plaats, lokatie en zone

Ik wil dat het formulier niet afsluit als niet een van de drie is ingevuld en daarbij wil ik dat er een bericht op het scherm verschijnt.

Vond zelf zoiets in een begindatum en einddatum formulier maar hoe schrijf ik dit nu voor mijn voorbeeld
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
If IsNull([Begindatum]) Or IsNull([Einddat]) Then
MsgBox "U moet zowel begin- als einddatums opgeven."
DoCmd.GoToControl "Begindatum"
Else
If [Begindatum] > [Einddat] Then
MsgBox "De Einddatum moet na de Begindatum vallen."
DoCmd.GoToControl "Begindatum"
Else
Me.Visible = False
End If
End If

[ Voor 1% gewijzigd door Lustucru op 27-01-2015 23:45 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

1: Het zal wel Access zijn, maar mijn kristallen bolletje is beslagen. Vermeld dat even. Wij kunnen niet weten in welk programma je bezig bent.

2: Het voorbeeld is duidelijk genoeg. Snap je wat er staat? Zo niet, welke regel(s) begrijp je niet? Waar ondervind je moeilijkheden om het werkend te krijgen?

3: Gebruik [code][/code] tags om je code. Ik heb het nu voor je gedaan: ziet er meteen beter leesbaar uit.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Topicstarter
nou volgende code staat in formulier nabjiwerken.

if CheckVelden = True Then cmdSluiten.Enabled = True Else: cmdSluiten.Enabled = False

wat ik u zoek is dat in het formulier alle velden die ik aangeef ingevuld worden anders niet afsluiten.
Daarbij zijn drie velden nog waarvan maar een van de drie ingevuld mag worden. Heb een voorbeeld DB op mijn pc en indien mogelijk wil ik die ook wel plaatsen

Verwijderd

Topicstarter
Function CheckVelden()
Dim iTel1 As Integer, iTel2 As Integer
Dim msg As String

msg = "Je moet de volgende aanpassingen maken in je formuliergegevens:" & vbCrLf & vbCrLf
If Me.plaats = vbNullString Then
iTel1 = iTel1 + 1
End If
If Me.lokatie & "" = "" Then
iTel1 = iTel1 + 2
End If
If Me.gebied & "" = "" Then
iTel1 = iTel1 + 4
End If
If Not Me.zone1 = vbNullString Then iTel2 = iTel2 + 1
If Not Me.zone2 = vbNullString Then iTel2 = iTel2 + 2
If Not Me.zone3 = vbNullString Then iTel2 = iTel2 + 4

Select Case iTel1
Case 1
msg = msg & "Het veld [Plaats] is niet ingevuld." & vbCrLf
Case 2
msg = msg & "Het veld [Lokatie] is niet ingevuld." & vbCrLf
Case 3
msg = msg & "De velden [Plaats] en [Lokatie] zijn niet ingevuld." & vbCrLf
Case 4
msg = msg & "Het veld [Gebied] is niet ingevuld." & vbCrLf
Case 5
msg = msg & "De velden [Plaats] en [Gebied] zijn niet ingevuld." & vbCrLf
Case 6
msg = msg & "De velden [Lokatie] en [Gebied] zijn niet ingevuld." & vbCrLf
Case 7
msg = msg & "De velden [Plaats], [Lokatie] en [Gebied] zijn niet ingevuld." & vbCrLf
End Select

Select Case iTel2
Case 3
msg = msg & "Je hebt de velden [Zone1] en [Zone2] ingevuld. Je mag maar één zone invullen." & vbCrLf
Case 5
msg = msg & "Je hebt de velden [Zone1] en [Zone3] ingevuld. Je mag maar één zone invullen." & vbCrLf
Case 6
msg = msg & "Je hebt de velden [Zone2] en [Zone3] ingevuld. Je mag maar één zone invullen." & vbCrLf
Case 7
msg = msg & "Je hebt alle Zone velden ingevuld. Je mag maar één zone invullen." & vbCrLf
End Select

If msg <> "Je moet de volgende aanpassingen maken in je formuliergegevens:" & vbCrLf & vbCrLf Then
MsgBox msg
Me.cmdsluiten.Enabled = False
Else
Me.cmdsluiten.Enabled = True
End If

End Function


Private Sub plaats_AfterUpdate()
CheckVelden
End Sub
Code:
Private Sub zone1_AfterUpdate()
CheckVelden
End Sub enzovoorts


werkt dikke duim voor Octafish ander forum :)