Bij formulier openen direct het juiste tabblad kiezen

Status
Niet open voor verdere reacties.

Friend

Verenigingslid
Lid geworden
31 jan 2009
Berichten
1.137
Beste Forummers,

Via een gebeurtenisprocedure, bij kiezen van de opdrachtknop wordt het volgende script uitgevoerd en het formulier AANW_AKTIEF geopend van de betreffende persoon:

Code:
Private Sub Knop23_Click()
On Error GoTo Err_Knop23_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "AANW_AKTIEF"
    
    stLinkCriteria = "[sofinummerhfd]=" & "'" & Me![sofinummer] & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Knop23_Click:
    Exit Sub

Err_Knop23_Click:
    MsgBox Err.Description
    Resume Exit_Knop23_Click

End Sub

Dit formulier kent echter verschillende tabbladen en ik zou graag direct het tabblad "zk" willen openen.

Hoe moet ik deze regel in het script dan aanpaasen?
Code:
stDocName = "AANW_AKTIEF"

Thanks

Friend
 
Die regel mag je niet aanpassen, want dat is de naam van je formulier. Als je het formulier altijd wilt openen op een specifiek tabblad, zou ik het tabblad met SetFocus instellen in het formulier. Bijvoorbeeld bij de gebeurtenis <Bij Aanwijzen>.
 
Michel, dank je wel voor je reactie::thumb: Jammer :( het formulier wil ik namelijk niet altijd standaard op dit bewuste tabblad openen. Dan maar een keer extra klikken op de manuer zoals het nu gaat. Ik neem aan dat als jij geen oplossing weet het ook niet mogelijk is. Thanks, Friend
 
Die oplossing is er uiteraard wel, want als een formulier geopend is, kun je daar acties uitvoeren. Alleen moet je dan het volledige object verwijzen in de opdracht. Voor het gemak zou je het geopende formulier aan een objectvariabele kunnen toewijzen met SET zodat je dan alleen het object maar hoeft te bewerken.
 
Michel, En dat gaat nu mijn kennis te boven :o Is het voor jou mogelijk om dat concreet te maken als voorbeeld? Als ik het een keer zie dan weet ik het altijd wel weer toe te passen. Mocht je zo vriendelijk willen zijn dan is mijn dank weer groot !!
 
De code is vrij simpel (als je het weet ;) )
Code:
Dim obj As Object
Dim sDoc As String

    sDoc = "Formulier1"
    DoCmd.OpenForm sDoc
    Set obj = Forms(sDoc)
    DoCmd.Close acForm, Me.Form.Name
    obj.Pagina2.SetFocus
 
Michel, geweldig :thumb::thumb: werkt prima :) Mag ik nog een fine tuning vraagje stellen? kan ik ook nog sturen op pagina 2 dat de cursur op veld "naam" staat? Thanks Friend
 
Daar heb je het tabelement niet voor nodig, want dat 'bestaat' niet in verwijzingsland. De code is dus precies hetzelfde:
Code:
    obj.tekst7.SetFocus
 
Michel, Subliem :thumb::thumb::thumb:. Wat is het mooi als je weet hoe het moet :) Bedankt voor je hulp weer :thumb: Friend
 
Michel, excuus maar ik heb nog een keer je hulp nodig met deze vraag. Ik probeer nu de eerste code

Code:
Private Sub Knop23_Click()
On Error GoTo Err_Knop23_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "AANW_AKTIEF"
    
    stLinkCriteria = "[sofinummerhfd]=" & "'" & Me![sofinummer] & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Knop23_Click:
    Exit Sub

Err_Knop23_Click:
    MsgBox Err.Description
    Resume Exit_Knop23_Click

End Sub
te combineren met jouw laatste code

Code:
Dim obj As Object
Dim sDoc As String

    sDoc = "Formulier1"
    DoCmd.OpenForm sDoc
    Set obj = Forms(sDoc)
    DoCmd.Close acForm, Me.Form.Name
    obj.Pagina2.SetFocus

(veldnamen pas ik natuurlijk aan).

Waar het mij omgaat is dat het record geopend wordt waarbij de velden van de sofinummers (ja ik weet het BSN nummer) overeenkomen.

De eerste code werkt, de tweede code werkt, alleen in combinatie hoe ik ze ook aanpas niet. Zal mijn niet kennis van de programma taal zijn vrees ik. Ik probreer logisch te denken welke regels ik moet gebruiken en waar maar helaas :o

Zou je nog je licht hierover kunnen laten schijnen?

Thanks

Friend
 
Dat zou dan (op basis van je eerste post) zo kunnen:

Code:
Private Sub Knop23_Click()
On Error GoTo Err_Knop23_Click

Dim obj As Object
Dim stDocName As String, stLinkCriteria As String

    stDocName = "AANW_AKTIEF"
    stLinkCriteria = "[sofinummerhfd]='" & Me.sofinummer & "'"
    DoCmd.OpenForm stDocName, WhereCondition:=stLinkCriteria
    Set obj = Forms(stDocName)
    ''DoCmd.Close acForm, Me.Form.Name
    obj.zk.SetFocus
    Exit Sub

Err_Knop23_Click:
    MsgBox Err.Description

End Sub
Ik heb de code om het startformulier te sluiten even uitgeschakeld met 2 quootjes. Wil je die regel gebruiken, dan moet je die weghalen.
 
Michel, Geweldig, precies wat we willen :) Hartelijk dank :thumb: Friend
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan