MultiPage

L

LaDdIe

Hi, i've got a multipage box with tabs that are labelled with years:-
2009;2010;2011.

I'm trying to hide those tabs that are greater than the current year, I've
started on the code below, but this hides all tabs, unless I change
'If .Pages(i).Caption > Year(Now) Then' To
'If .Pages(i).Caption > 2010'

With Me.MultiPage1
For i = 0 To .Count - 1
If .Pages(i).Caption > Year(Now) Then
.Pages(i).Visible = False
End If
Next i

End With

Any ideas are welcome
 
B

Barb Reinhardt

I'm not sure what you mean by a multipage box, but I think I'd try changing
this

If .Pages(i).Caption > Year(Now) Then

to

If .Pages(i).Caption > format(date,"yyyy") Then
 
L

LaDdIe

Thanks Barb, it did the trick.

Barb Reinhardt said:
I'm not sure what you mean by a multipage box, but I think I'd try changing
this

If .Pages(i).Caption > Year(Now) Then

to

If .Pages(i).Caption > format(date,"yyyy") Then
 
O

OssieMac

Hi,

The tab name is a string; not a numeric. Try the following.
Note that a space and underscore at the end of a line is a line break in an
otherwise single line of code.

Dim i As Long
With Me.MultiPage1
For i = 0 To .Count - 1
If .Pages(i).Caption > _
Format(Year(Now), "0") Then

.Pages(i).Visible = False
End If
Next i

End With
 
J

JLGWhiz

Just for clarification, the constants Year(Now) equates to numeric and it
was being compared to text which is always greater than numeric. So your If
statement would be true in every case and therefor would hide each page.
The Format function that Barb suggested changes the year to text so that
apples are being compared to apples and it works.
 
Top