Kath Pelletti
kp at sdsonline.net
Tue Mar 11 00:00:07 CDT 2008
Darryl - you need the tab control's 'On Change' event. For each 'tab' on the
tab control, the tabs have a value starting from 0 (ie. the first tab is 0,
the second is 1 etc). So then you can say if on the first tab, load subform
a, if on 2nd tab, load subform b etc.
My code looks something like this:
'----------------------------------------------------------
Private Sub TabChosen_Change()
Dim strerrormsg As String
On Error GoTo Err_Handler
If Me.Dirty Then
DoCmd.RunCommand acCmdSaveRecord
End If
If Me.TabChosen.Value = 1 Then 'On borrowers subform.
'If subform not loaded then load it.
If IsNull(Me.FrmClientContractPrincipalSecuritiesSubform.SourceObject)
Or _
Me.FrmClientContractPrincipalSecuritiesSubform.SourceObject = "" Then
Me.FrmClientContractPrincipalSecuritiesSubform.SourceObject =
"FrmClientContractPrincipalSecuritiesSubform"
End If
Me.FrmClientContractPrincipalSecuritiesSubform![OfferedBy].Requery
ElseIf Me.TabChosen.Value = 2 Then 'On Collateral securities subform.
'If subform not loaded then load it.
If IsNull(Me.FrmClientContractCollateralSecuritiesSubform.SourceObject)
Or _
Me.FrmClientContractCollateralSecuritiesSubform.SourceObject = "" Then
Me.FrmClientContractCollateralSecuritiesSubform.SourceObject =
"FrmClientContractCollateralSecuritiesSubform"
End If
ElseIf Me.TabChosen.Value = 3 Then 'On IPF data tab subform
If IsNull(Me.FrmClientContractIPFData.SourceObject) Or _
Me.FrmClientContractIPFData.SourceObject = "" Then
Me.FrmClientContractIPFData.SourceObject =
"FrmClientContractIPFData"
End If
End If
Normal_exit:
Application.Echo True
Exit Sub
Err_Handler:
MsgBox "Error: [" & Err.Number & "] " & IIf(Len(strerrormsg) > 0,
strerrormsg, Err.Description), vbCritical, "Error Message"
Resume Normal_exit
End Sub
'----------------------------------------------------------
Kath
----- Original Message -----
From: "Darryl Collins" <Darryl.Collins at coles.com.au>
To: "Access Developers discussion and problem solving"
<accessd at databaseadvisors.com>
Sent: Tuesday, March 11, 2008 3:24 PM
Subject: [AccessD] TabControlSheet Page Event?
> Hey all,
>
> I am stuck on with this, It is probably easy but been up since 4am (it is
> now 3:20pm) so I am not the sharpest tool in the shed right now!
>
> I have a form with sheet tabs, currently when a user opens the form it is
> populating all the tabs with data, but this seems a lot of overhead as
> some users will only look at one or two of the Tab pages. I wanted to
> capture when a user click on the tab page so I can call some VBA that will
> load the sub forms for that page only. I have the code to populate the
> sheet tabs etc, but I cannot seem to capture the "click on page tab" event
> at all.
>
> I can get "Click on TabControlSheet" but that is for the whole sheet
> and/or other such unhelpful combos of events. I thought this would be
> simple, but maybe I am wrong?
>
>
> '------------------------------------------------
> ' Something like:
>
> Private Sub TabControlSheet.Pages(2)_Click()
>
> ' Then call the modules I want
>
> End sub
> '------------------------------------------------
>
> would be great, but that doesn't seem to be an option.
>
> Any advice?
>
> cheers
>
> Darryl.
>
> This email and any attachments may contain privileged and confidential
> information and are intended for the named addressee only. If you have
> received this e-mail in error, please notify the sender and delete this
> e-mail immediately. Any confidentiality, privilege or copyright is not
> waived or lost because this e-mail has been sent to you in error. It is
> your responsibility to check this e-mail and any attachments for viruses.
> No warranty is made that this material is free from computer virus or any
> other defect or error. Any loss/damage incurred by using this material is
> not the sender's responsibility. The sender's entire liability will be
> limited to resupplying the material.
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>