If I were you, I would set a variable that would hold the current page index of the tab control. That way, given the page that is being displayed, you can determine the action that needs to be done next. You should declare a variable at the form level, initialize it at onOpen event to the default index,(0). Each time the user changes the page the tabcontrol index should be set to the page index. When you Call the routine which does the next action you simply have to pass the tabControl's page index the determine what action needs to be done next.<br><br>Public sub MyAction(intPageIndex as integer) <br><br>Select Case intPageIndex<br> Case 0<br> Some action<br> Case 1<br> Some action<br> Case 2 <br> Some Action<br> Case Else<br><br>End Select<br><br>End function<br><br>From this you can determine what can be shown on your page or what the ensuing report would look like or whatever. I hope this helps.<br><br>Bob B.<br><br>