Hej
Går det att skapa en tillfällig rapport med ett VB-script?
Frågan som rapporten skall bygga på ändras beroende på urvalskriteriet så därför måste rapporten skapas varje gång man vill ha den.
6 svar · 304 visningar · startad av Jester
Hej
Går det att skapa en tillfällig rapport med ett VB-script?
Frågan som rapporten skall bygga på ändras beroende på urvalskriteriet så därför måste rapporten skapas varje gång man vill ha den.
Om frågan väljer ut alla personer med namn='LARS' så ändrar du värdet 'LARS' till [Ange namn]. (tex) Då kommer det komma upp ett formulär när du öppnar rapporten så man kan ange namn.
Förstod jag dig rätt??
DoCmd.OpenReport "[i]Rapportnamn[/i]", acViewPreview, , "[i]kolumnnamn[/i] = [i]kriteriet[/i]"
Kolla mer i Accesshjälpen för kommandot.
Engine^: Öppnar inte den bara en befintlig rapport?
Det bygger på en korsfråga där både rader och kolumner är dynamiska. Gör jag en rapport så fångar den bara kolumnerna vid det tillfället då rapporten skapas. Därför måste jag skapa rapporten, själva mallen, varje gång...tror jag iaf...eller finns det något annat sätt?
Jester skrev:
...Gör jag en rapport så fångar den bara kolumnerna vid det tillfället då rapporten skapas. Därför måste jag skapa rapporten, själva mallen, varje gång...
Jag är inte så säker på att detta stämmer. Det har inte funkat så när jag gjort rapporter iaf.
Varför vill du använda VB? Testade du mitt förslag?
Jag TROR att den koden Engine^ skrev gör samma sak som det jag skrev först.
Du har nog missförstått mig. Eftersom det är en korsfråga så skapas kolumnrubrikerna efter värdet i en tabell som kan ändras av användaren. När jag skapar rapporten, som bygger på korsfrågan, kommer endast de kolumner som förnärvarande finns i frågan upp i rapporten.
Lägger jag till ytterliggare en post i tabellen som skapar kolumnrubriker, så syns inte den kolumnen i rapporten. Den måste således uppdateras i rapportmallen med den extra kolumnen. Antingen finns det något sätt att uppdatera en rapportmall eller så måste jag, varje gång jag vill skriva ut rapporten, också skapa mallen på nytt.
Nu har jag inte ännu kollat ingående på Engine^s förslag men mellan tummen och pekfingret, så tror jag att den bygger på att rapportmallen redan finns.
Anledningen till att jag vill använda VB är att Makrofunktionerna är buggiga samt att jag vill lära mig :)
Jester skrev:
Engine^: Öppnar inte den bara en befintlig rapport?
Det bygger på en korsfråga där både rader och kolumner är dynamiska. Gör jag en rapport så fångar den bara kolumnerna vid det tillfället då rapporten skapas. Därför måste jag skapa rapporten, själva mallen, varje gång...tror jag iaf...eller finns det något annat sätt?
Hmm... så mycket mer komplex frågan blev. Du har helt rätt i att OpenReport öppnar en befintlig rapport, men om du bygger upp den smart kan du nog komma undan med det.
Jag har lite dåligt med tips på detta område, eftersom jag aldrig försökt skapa en rapport baserad på en crosstab query. Och det är för tidigt på morgonen än för mig att orka hålla på och pilla med något sådant ;)