Deze functie geeft de waarde true als er nog lege tekstvakken of comboboxen in de detailsectie van een formulier staan.
Via de ParamArray kunnen de namen van de tekstvakken die leeg mogen zijn meegegeven worden.
Het is de bedoeling dat deze procedure vanuit verschillend formulieren kan opgeroepen worden.
Probleem:
De functie geeft nooit de waarde 'false' omdat de property 'Value' nooit voorkomt, bij het overlopen van de properties van de comboboxen en tekstvakken.
Vraag:
Kan de eigenschap 'Value' opgeroepen worden in een 'for each... next' lus in een module? zo nee->mss iemand een idee hoe dit dan wel opgelost kan worden
De code in het midden die als commentaar staat geeft het probleem
* TrickShot heeft gezocht op got en op msdn.microsoft.com, maar nix gevonden
Via de ParamArray kunnen de namen van de tekstvakken die leeg mogen zijn meegegeven worden.
Het is de bedoeling dat deze procedure vanuit verschillend formulieren kan opgeroepen worden.
Probleem:
De functie geeft nooit de waarde 'false' omdat de property 'Value' nooit voorkomt, bij het overlopen van de properties van de comboboxen en tekstvakken.
Vraag:
Kan de eigenschap 'Value' opgeroepen worden in een 'for each... next' lus in een module? zo nee->mss iemand een idee hoe dit dan wel opgelost kan worden
De code in het midden die als commentaar staat geeft het probleem
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| Public Function controleVelden(frmFormulier As Form, ParamArray vntArg() As Variant) As Boolean
'geeft waarde false als er geen lege velden zijn,
'true als er wel lege velden zijn die niet leeg moegen zijn
Dim vntArgument As Variant
Dim prp As Property
For Each gctl In frmFormulier.Section(acDetail).Controls
For Each gprp In gctl.Properties
If gprp.Name = "Name" Then
If Left(gprp.Value, 3) = "cbo" Or Left(gprp.Value, 3) = "txt" Then
For Each vntArgument In vntArg
If gprp.Value = vntArgument Then
GoTo volgendeControl
End If
Next vntArgument
'For Each prp In gctl.Properties
' If prp.Name = "Value" Then
' If prp.Value = "" Or IsNull(prp.Value) Then controleVelden = True
' Exit Function
' End If
'Next prp
End If
Exit For
End If
Next gprp
volgendeControl:
Next gctl
controleVelden = False
End Function |
* TrickShot heeft gezocht op got en op msdn.microsoft.com, maar nix gevonden
[ Voor 9% gewijzigd door TrickShot op 10-05-2003 15:02 ]
Athlon 2500+ @ 2230 MHz, 512 MB 3200 kingston, 2 x sata maxtor 120 GB, 1 WD 80 GB, Ti4200, Antec Sonata