Evaluating Expressions with Variable Field Names

  • Thread starter Thread starter Pascal.H
  • Start date Start date
P

Pascal.H

I have: a report with 36 fields with similar names. e.g., PCT01, PCT02,
PCT03, ...

I want: to loop through the fields, changing the format to bold if the value
of the field < .5.

Code snipet:
For i = 0 To 36
strField = PCT & IIf(i < 10, "0" & i, i)
If Me.strField / 100 < 0.5 Then
Me.strField.FontWeight = 900
Else
Me.strField.FontWeight = 400
End If
Next i
 
You can use:
Me(strField)
which is a shortcut for:
Me.Controls(strField)

But could be point out that whenever you have repeating fields (such as
Pct01, Pct02, ...) it always means you have designed a spreadsheet and not a
database? In a relational database, you would use many *records* in a
related table, rather than many repeating fields in one table. Post back if
you need more info about that.
 
For i = 0 To 36
'Change the line below
strField = "PCT" & Format(i,"00")
If Me.strField / 100 < 0.5 Then
Me.strField.FontWeight = 900
Else
Me.strField.FontWeight = 400
End If
Next i


John Spencer
Access MVP 2002-2005, 2007-2008
The Hilltop Institute
University of Maryland Baltimore County
 
Back
Top