Jürgen Welz
jwelz at hotmail.com
Tue Jan 31 10:58:14 CST 2006
Reference the controls: Me("Chk" & n) or create a form reference: Set frm = Forms("frmAnyName") For n = 1 to 21 frm("Chk" & n) = bWhichWay Next Or create an array of controls in the form open or load Dim chkCtl(21) As CheckBox 'at form module level scope For n = 1 to 21 Set chkCtl(n) = Me.("Chk" & n) Next Thereafter, you can reference the controls as members of the array of controls For n = 1 to 21 chkCtl(n) = bWhichWay Next Ciao Jürgen Welz Edmonton, Alberta jwelz at hotmail.com >From: jeff.embury at mac.com > >I have a form I'm constructing that has twenty one check boxes on it... >twenty one labels, twenty one of a lot of things... and I'm trying to alter >there values in a simplified way by hopefully using the Eval function - but >it's not working as advertised. > >The Scene: Microsoft Access 2003 in vba code... > >Check box names: Check1, Check2, Check-etc. > >Function to turn all check's 'on' or 'off': > >Function TurnMeOn(bWhichWay as boolean) > Dim n as integer > Dim s as string > > n = 1 > Do While n < 21 > s = "form!formname.check" & trim(str(n)) & " = bWhichWay" > Eval (s) > n = n + 1 > loop >End Function > >================This doesn't' work=============== (sigh!) > >...if fact hardly nothing works with the Eval function as I see it... > >Microsoft plainly states that the Eval function can call a user defined >function - but if I create a function called... let's say "TESTIT()" and >then use Eval("TESTIT()") it pukes... > > >Any help or is there a much more brilliant solution I'm unaware of?