Argumenten bij Sub procedure worden niet als subprocedure herkend.

Status
Niet open voor verdere reacties.

Hevoolst

Gebruiker
Lid geworden
25 nov 2007
Berichten
75
Dag allemaal,

Ik heb Access 2019 programming van Julitta Korol aangeschaft om mij verder te bekwamen in Access en VBA

ik werk het volgende voorbeeld uit het boek uit:

Sub Showmessage3 (strMessage, strUserName)
MsgBox strUsername &”. Your message is:” &strMessage
End Sub
Door deze argumenten tussen haakjes te plaatsen, wordt de macro niet herkend. Weten jullie hoe ik dit voor de Nederlandse Acces moet oplossen?

Alvast bedankt,

Henk
 
Je ziet de aanroepende macro over het hoofd.
 
Maar het probleem doet zich ook voor zonder een aanroepmacro

Dit eenvoudiger voorbeeld uit bovengenoemd boek

Sub ShowMessage2(strMessage)

MsgBox strMessage

End Sub

Als ik in het macrovenster kijk, zie ik de naam niet staan. Daarom kan ik de macro niet uitvoeren.
Laat ik de inhoud tussen de haakjes weg, is de macronaam weer zichtbaar. Dat vind ik raar; in het boek wordt deze situatie niet beschreven. Ligt het aan de Nederlandse versie van Access?
 
Het 'probleem' doet zich alleen maar voor zonder aanroepende macro.
 
Dag Allemaal,

Ik heb een aanroepende macro gemaakt door in de eerste macro de naam van de tweede te plaatsen. Maar die werkt alleen als er niets tussen haakjes staat bij de naam van de subroutine. In de bijlage heb ik een foto gemaakt van de eerste uitgewerkte opgave uit het Access 2019 programming. Uit het macroscherm blijkt dat alleen de macro herkend wordt zonder variabelen. Hoe kan dit?

Met vriendelijke groet,

Henk
 

Bijlagen

  • 5A40B17E-039D-462D-9571-6A07DF05CB5A.jpg
    5A40B17E-039D-462D-9571-6A07DF05CB5A.jpg
    1,9 MB · Weergaven: 14
Ook jouw toetsenbord heeft een Alt- en een Print- toets.
Die combinatie verricht wonderen.

Misschien is een basiscursus met een docent nog niet zo'n gek idee.
 
Laatst bewerkt:
Van een Giga Honourable Senior Member verwacht ik wel iets beters dan een sneer: "Misschien is een basiscursus met een docent nog niet zo'n gek idee." De uitleg die ik van hem/haar heb gekregen:

Je ziet de aanroepende macro over het hoofd.
Het 'probleem' doet zich alleen maar voor zonder aanroepende macro.
Ook jouw toetsenbord heeft een Alt- en een Print- toets.
Die combinatie verricht wonderen.

Ik vind dit niet erg begrijpelijk.

Het cynisme druipt af van deze opmerkingen; je hoeft als zeer geëerd verenigingslid niet te reageren op een post. En als je vindt, dat er alleen vragen van een bepaald niveau binnen mogen komen, stel dan een toelatingsexamen
 
Soortgelijke vraag met antwoorden, zie https://stackoverflow.com/questions/41234838/macros-not-showing-up-in-macro-table
Normally, a macro shows up in the macro list when you display the Macros dialog box (press Alt+F8), unless one of three conditions is met:
  • The macro is a function. Functions typically return information, and they require information to be passed to them. Since running a macro from the macro list doesn't allow either of these things to happen, Excel figures there is no need to list it. User-defined functions, which are quite useful in Excel, are not displayed in the Macros dialog box because they are, after all, functions.
  • The macro is a subroutine with parameters. Excel assumes that since parameters are necessary, and you cannot provide parameters by choosing the subroutine from the macro list, there is no need to list it.
  • The subroutine has been declared Private. This means that the subroutine is only useful to code within the module in which it is declared.
bron: https://excelribbon.tips.net/T009904_Hiding_Macros.html
 
Laatst bewerkt:
Of het staat heel slecht uitgelegd in je boek (ik ken het niet) óf je snapt het hoofdstuk niet. Het principe is eigenlijk heel simpel: een macro voer je uit mét of zonder argumenten. In het eerste geval kun je de macro niet zelfstandig draaien, in het tweede wel. Jij hebt een macro gemaakt die in het eerste voorbeeld één argument nodig heeft (strMessage en strUsername) en in het tweede voorbeeld één. Dat betekent dat je een tweede macro nodig hebt die de eerste aanroept met de gewenste gegevens. Die zou er dan zo uitzien:
Code:
Sub TestMessage3()
     Showmessage3 “Dit is mijn tekst”, “Dit is mijn naam”
End Sub
En dan zal je zien dat je macro prima werkt.

De Nederlandse Access versie gebruikt overigens exact dezelfde (Amerikaanse) VBA als de Engelse.
 
Kijk, deze beide posts helpen mij verder. Hartelijk dank. Ik probeer het uit.
 
Ik ben er uit, dank zij jullie hulp. Eerst heb ik twee macro's aangepast

03072022_Macroveld.PNG

Daarna kreeg ik de gewenste textbox

03072022_Tekstbox.PNG

Mijn vraag is beantwoord en ik kan verder met de studie. Ik zal de vraag op beantwoord zetten.

Met vriendelijke groeten,

Henk
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan