Naam macro in rapport

Status
Niet open voor verdere reacties.

Japsur

Gebruiker
Lid geworden
9 apr 2004
Berichten
650
Hallo,

Ik heb 1 rapport die wordt uitgevoerd door meerdere macro's.
Omdat ik dus maar 1 rapport heb en dit niet wil uitbreiden ivm andere mogelijkheden beschik ik dus maar over 1 rapport.
Maar in het rapport moet wel elke keer een andere titel komen. Deze moeten de titel hebben van de macro (macronaam).
Dit moet komen in de rapportkoptekst van het rapport.
Nu is mijn vraag: hoe kan dat gerealiseerd worden? Ik kom er niet uit.
Alvast bedankt.
 
Gebruik maken van de OpenArgs en op basis daarvan bij het openen van je rapport even de titel aanpassen.
 
Bartuls zei:
Gebruik maken van de OpenArgs en op basis daarvan bij het openen van je rapport even de titel aanpassen.

OpenArgs kan toch alleen gebruikt worden bij formulieren en niet bij rapporten/macro's?
 
Uit de access help:

expressie.OpenReport(rapportnaam, weergave, filternaam, where-voorwaarde, venstermodus, argumentenopening)

OpenArgs kun je ook bij rapporten gebruiken.

En inderdaad, niet bij Macro's, maar die moet je gewoon niet gebruiken. Met VBA ben je veel flexibeler en kun je veel meer.
 
Bartuls zei:
Uit de access help:

expressie.OpenReport(rapportnaam, weergave, filternaam, where-voorwaarde, venstermodus, argumentenopening)

OpenArgs kun je ook bij rapporten gebruiken.

En inderdaad, niet bij Macro's, maar die moet je gewoon niet gebruiken. Met VBA ben je veel flexibeler en kun je veel meer.

Dan snap ik het nog niet hoe ik het goed moet oplossen? En hoe ik naar de naam van de macro moet verwijzen?
 
Als je je rapport aanroept zet je gewoon bij de OpenArgs de gewenste titel van je rapport, bijvoorbeeld:

expressie.OpenReport(rapportnaam, weergave, filternaam, where-voorwaarde, venstermodus, "Dit is mijn geweldige titel")

In je rapport maak je van de titel van je rapport een tekst veld met een standaard titel.
Bij de 'Bij Openen' gebeurtenis van je rapport lees je de OpenArgs uit en vul je het titelveld met de inhoud van je OpenArgs.
 
Bartuls zei:
Als je je rapport aanroept zet je gewoon bij de OpenArgs de gewenste titel van je rapport, bijvoorbeeld:

expressie.OpenReport(rapportnaam, weergave, filternaam, where-voorwaarde, venstermodus, "Dit is mijn geweldige titel")

In je rapport maak je van de titel van je rapport een tekst veld met een standaard titel.
Bij de 'Bij Openen' gebeurtenis van je rapport lees je de OpenArgs uit en vul je het titelveld met de inhoud van je OpenArgs.

kan dit ook met een 2000 versie?

In VBA kan krijg ik maar 3 rapport eigenschappen ipv de 6 die jij noemt.......
 
Tja, als je nu wat eerder had gezegd dat je Access 2000 gebruikte.....
Daar heeft de OpenReport methode inderdaad nog geen OpenArgs argument.

Kun je een ander trucje toepassen.
Elk object (en ook een rapport is een object) heeft een eigenschap Extra info (heet eigenlijk Tag, maar ja, Microsoft vertaald alles in het Nederlands).
Voordat je het rapport aanroept kun je de tag van het betreffende rapport voorzien van de juiste informatie (bijvoorbeeld de titel van je rapport).

reports("JouwRapportNaam").Tag = "Wat jij erin wilt zetten"

Vervolgens kun je bij het openen van het rapport de tag uitlezen en ermee doen wat je wilt.
 
Bartuls zei:
Tja, als je nu wat eerder had gezegd dat je Access 2000 gebruikte.....
Daar heeft de OpenReport methode inderdaad nog geen OpenArgs argument.

Kun je een ander trucje toepassen.
Elk object (en ook een rapport is een object) heeft een eigenschap Extra info (heet eigenlijk Tag, maar ja, Microsoft vertaald alles in het Nederlands).
Voordat je het rapport aanroept kun je de tag van het betreffende rapport voorzien van de juiste informatie (bijvoorbeeld de titel van je rapport).

reports("JouwRapportNaam").Tag = "Wat jij erin wilt zetten"

Vervolgens kun je bij het openen van het rapport de tag uitlezen en ermee doen wat je wilt.

Ik denk dat we langs elkaar heen praten.
Daarom heb ik de db maar erbij gedaan.

Wat dus het punt is: ik open een macro. Vervolgens opent die het ene rapport. (elke macro hier opent hetzelfde rapport). Maar in het rapport staat bovenaan 'contactdatum'. Dit moet worden de naam van de geopende macro!!

vb. je start macro 'bcontactdatum minder dan 1 maand' dan wordt de rapportkoptekst 'bcontactdatum minder dan 1 maand'.
 

Bijlagen

Wat jij wilt kan niet macro's, je zult moeten gaan programmeren in VBA op de manier die ik aangegeven heb.
Macro's zijn ondingen als je serieus met access aan de slag wilt. Je loopt erg snel tegen beperkingen aan.
Je kunt je macro´s omzetten naar VBA code met de functie onder menu Extra, Macro, Macro omzetten naar VBA.
Vervolgens kun je in de VBA het wijzigen van de tag van je rapport inbouwen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan