Formulier openen op specifiek tabblad

Status
Niet open voor verdere reacties.

bkneep

Gebruiker
Lid geworden
10 jul 2009
Berichten
7
Vanuit een formulier wil ik een ander formulier openen op een specifiek tabblad in Access 2003.
Hoe krijg ik dat voor elkaar met het commando DoCmd.OpenForm

bert
 
Laatst bewerkt:
Je kunt rechtstreeks naar de tabpagina verwijzen:

Zet in de gebeurtenis <Bij Aanwijzen> de volgende code:

Me.Pagina2.Setfocus.

Michel
 
Je kunt rechtstreeks naar de tabpagina verwijzen:

Zet in de gebeurtenis <Bij Aanwijzen> de volgende code:

Me.Pagina2.Setfocus.

Michel

Hi Michel,

het is niet de bedoeling dat dit tabblad bij het openen altijd als eerste wordt getoond maar alleen vanuit dit andere formulier. Ik gebruik het docmd.openform commando maar zie nergens waar ik kan aangeven dat ie een bepaald tabblad moet openen.

bert
 
Je kunt de code ook onder de opdracht Docmd.Openform zetten, met dan niet Me. als verwijzing, maar de naam van het formulier.

Michel
 
Je kunt de code ook onder de opdracht Docmd.Openform zetten, met dan niet Me. als verwijzing, maar de naam van het formulier.

Michel

Hi Michel,

dit is mijn opdracht
DoCmd.OpenForm "vertaler info", , , "[kontaktpersoon id]=Forms![Kennismatrix Tolk]![lstResultaat]", iMode, acDialog

waar zet ik jouw verwijzing dan?

Bert
 
Gebruik het "openArgs" argument bij DoCmd.Openform

Je krijgt dan iets als:
DoCmd.OpenForm "vertaler info", , , "[kontaktpersoon id]=Forms![Kennismatrix Tolk]![lstResultaat]", iMode, acDialog, 2

Bij de "on open" gebeurtenis van het formulier "vertaler info" zet je dan

Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Me!NaamVanTabBlad = Me.OpenArgs - 1
End If
End Sub

toelichting:
waarde van het tabblad is de actieve pagina, maar de 1ste pagina heeft waarde 0, daarom Me.OpenArgs-1 (Je kunt natuurlijk ook het getal aanpassen in DoCmd.OpenForm....)
 
Laatst bewerkt:
Gebruik het "openArgs" argument bij DoCmd.Openform

Je krijgt dan iets als:
DoCmd.OpenForm "vertaler info", , , "[kontaktpersoon id]=Forms![Kennismatrix Tolk]![lstResultaat]", iMode, acDialog, 2

Bij de "on open" gebeurtenis van het formulier "vertaler info" zet je dan

Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Me!NaamVanTabBlad = Me.OpenArgs - 1
End If
End Sub

toelichting:
waarde van het tabblad is de actieve pagina, maar de 1ste pagina heeft waarde 0, daarom Me.OpenArgs-1 (Je kunt natuurlijk ook het getal aanpassen in DoCmd.OpenForm....)

Die openargs begrijp ik maar ik krijg toch een foutmelding. wanneer het 2e formulier wordt geopend zegt ie dat hij het tabblad niet kan vinden. Formulier bestaat uit 4 tabbladen waarbij de vierde, dus waarde 3, "Tolk" moet worden geopend.

Bert
 
Voor "NaamVanTabBlad" zet je de naam van het tabbesturingselement zoals jij dat gebruikt. Het is dus NIET de naam van de pagina (blad)
 
Voor "NaamVanTabBlad" zet je de naam van het tabbesturingselement zoals jij dat gebruikt. Het is dus NIET de naam van de pagina (blad)

Hi harry,

klinkt waarschijnlijk zeer onnozel maar wat bedoel je met "de naam van het tabbesturingselement". Is dat dan 3?

Bert
 
Jij schrijft: Formulier bestaat uit 4 tabbladen
Die 4 tabbladen zijn onderdelen van één object, n.l. het tabbesturingselement. Dit object heeft een naam, en die naam bedoel ik.
 
Jij schrijft: Formulier bestaat uit 4 tabbladen
Die 4 tabbladen zijn onderdelen van één object, n.l. het tabbesturingselement. Dit object heeft een naam, en die naam bedoel ik.

Dus het is niet de naam van het tabblad maar van een veld waar je naartoe kunt op die pagina? Ik kanmelijk nergens de term tabbesturingselement terugvinden.
 
tabbesturingselement

Het tabbesturingselement is het geheel van de 4 tabbladen. :-)

Rechtermuisklik op blokje -> eigenschappen selecteren.
Nu opent eigenschappen scherm -> linksboven staat dan tabbesturingselement
En op tabblad Overig staat de Naam van het tabbesturingselement.

Zie screenprint!
 

Bijlagen

  • tab.jpg
    tab.jpg
    36 KB · Weergaven: 101
Hoi Bas,

Op deze manier moet het werken:
Onder de knop die het formulier opent:

Code:
    Dim stDocName As String
    Dim stLinkCriteria As String

    stLinkCriteria = "Pagina2"
    stDocName = "Formulier1"
    DoCmd.OpenForm stDocName, , , , , acDialog, stLinkCriteria
Op het formulier dat wordt geopend:


Code:
Private Sub Form_Load()

If Not IsNull(Me.OpenArgs) Then
    Me(OpenArgs).SetFocus
End If

End Sub

Hier wordt dus de naam van het te openen tabblad doorgegeven aan het tweede formulier, dat het vervolgens uitleest en de focus geeft.
Je hoeft daarvoor het tabelement dus niet te selecteren, je gaat gelijk naar de pagina.

Michel
 
Hoi Bas,

Op deze manier moet het werken:
Onder de knop die het formulier opent:

Code:
    Dim stDocName As String
    Dim stLinkCriteria As String

    stLinkCriteria = "Pagina2"
    stDocName = "Formulier1"
    DoCmd.OpenForm stDocName, , , , , acDialog, stLinkCriteria
Op het formulier dat wordt geopend:


Code:
Private Sub Form_Load()

If Not IsNull(Me.OpenArgs) Then
    Me(OpenArgs).SetFocus
End If

End Sub

Hier wordt dus de naam van het te openen tabblad doorgegeven aan het tweede formulier, dat het vervolgens uitleest en de focus geeft.
Je hoeft daarvoor het tabelement dus niet te selecteren, je gaat gelijk naar de pagina.

Michel

Uiteindelijk gelukt. Bedankt voor jullie moeite en vooral geduld.

Bert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan