Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Sub to Module probleempje :(

Yvonne
4 antwoorden
  • Hoi allemaal,

    Ik krijg een sub in de module niet draaiend.
    Wat wil ik::

    Als ik in de form de optionbuttons aanspreek volgens onderstaande
    “test” code dan werkt het perfect.



    [code:1:d739a98788]
    Private Sub Option1_Click(index As Integer)
    Select Case index
    Case 1
    MsgBox "Button 1"
    Case 2
    MsgBox "Button 2"
    Case 3
    MsgBox "Button 3"
    Case 4
    MsgBox "Button 4"
    End Select
    End Sub
    [/code:1:d739a98788]

    [b:d739a98788]
    Maar ik wil de code van de option buttons in de module hebben, maar er gaat
    iets fout.
    [/b:d739a98788]
    Bij click op de option buttons moet de sub OptButTest aangeroepen worden
    Met onderstaande code.

    [code:1:d739a98788]
    Private Sub Option1_Click(index As Integer)
    Call OptButTest(frm:=Me)
    End Sub
    [/code:1:d739a98788]


    En dan zou dit moeten kunnen werken, toch verschijnen er nu geen msg-boxen
    op het scherm. Wat gaat er fout ?

    [code:1:d739a98788]
    Sub OptButTest(frm As Form)
    Select Case index
    Case 1
    MsgBox "Button 1"
    Case 2
    MsgBox "Button 2"
    Case 3
    MsgBox "Button 3"
    Case 4
    MsgBox "Button 4"
    End Select
    End Sub
    [/code:1:d739a98788]


    Ik zie het even niet, jullie wel ……. toevallig ?


  • De code voor het Form is:

    [code:1:e355228e8a]
    Private Sub Option1_Click(index As Integer)
    Call OptButTest(Me, index)
    End Sub[/code:1:e355228e8a]
    In de Module kan dan deze code:

    [code:1:e355228e8a]Sub OptButTest(frm As Form, index As Integer)
    Select Case index
    Case 1
    MsgBox "Button 1"
    Case 2
    MsgBox "Button 2"
    Case 3
    MsgBox "Button 3"
    Case 4
    MsgBox "Button 4"
    End Select
    End Sub[/code:1:e355228e8a]
  • Hoi :smile:

    Volgens mij bedoel je het zo..

    In het form:
    [code:1:1bc0f39a2a]
    Private Sub Option1_Click(Index As Integer)

    Call optTest(Form1)

    End Sub
    [/code:1:1bc0f39a2a]

    In de module:
    [code:1:1bc0f39a2a]
    Sub optTest(xFrm As Form)

    If TypeOf xFrm.ActiveControl Is OptionButton Then
    Select Case xFrm.ActiveControl.Index
    Case 0
    MsgBox "1"
    Case 1
    MsgBox "2"
    Case 2
    MsgBox "3"
    End Select
    End If

    End Sub
    [/code:1:1bc0f39a2a]

    Suc6!

    greetz,
    Ruud
  • Jouw manier werkt ook maar heeft een nadeel; zodra je het programma start geeft hij al een MsgBox, oftewel Sub "optTest" werkt al zonder dat er een keuze is gemaakt. Het lijkt mij toe dat dit niet de bedoeling is.

    Als dit wel de bedoeling is dan kun je in mijn code in Sub "Form_Load" een aanroep doen:

    [code:1:256c15bd07]
    Private Sub Form_Load()
    OptButTest Me, 1
    End Sub[/code:1:256c15bd07]
    oftewel, hier heb je de keuze om de Sub bij de start aan te roepen.
    _________________
    I used to have an open mind but my brains kept falling out.

    [ Dit Bericht is bewerkt door: DarkScribe op 2002-02-08 22:52 ]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.