Avatar billede jasman Nybegynder
26. april 2004 - 21:25 Der er 5 kommentarer og
2 løsninger

"Udskrive" rapport til skærmen.

Hvorledes laver man et kald i VBA-kode, som "udskriver" en rapport til skærm. Altså i stil med den handling man kan lave i database-vinduet under fanen rapporter, hvor man trykker på Vis knappen.

Jeg vil gerne lave min rapport, så brugeren selv kan bestemme om han vil se den på skærmen, eller skrive den direkte ud på printer.

Kan nogen af jer Access-hajer fortælle mig det ?
26. april 2004 - 21:38 #1
f.eks. 2 knapper: cmdPreview og cmdPrint

På Preview-knappen lægges denne kode:

Docmd.Openreport "Din rapport", acviewpreview

og på den anden:

Docmd.Openreport "Din rapport", acviewnormal
Avatar billede jasman Nybegynder
26. april 2004 - 21:48 #2
Ok.
Hvis nu at rapporten åbner en ubunden formular, hvor man kan indtaste kriterier,
(så rapporten er altså åben), og det er på denne form jeg vil have knapperne.

Kan man så ændre print-destinationen (skærm eller papir), MENS rapporten er åben ?
26. april 2004 - 22:02 #3
øh...hvis rapporten allerede er åben, hvad er så ideen med at åbne den igen (skrive til skærm)?????
Avatar billede jasman Nybegynder
26. april 2004 - 22:23 #4
Jeg har en formular, som fungerer som en menu.

Fra denne kalder jeg rapporten.
Rapporten åbner så min afgrænsnings-/kriterieformular, som skal aflevere kriterierne til rapporten.
Men her ville jeg gerne, om brugeren kan få sin rapport at se på skærmen først INDEN han hælder den ud på printer.

Det giver mulighed for lige at se, om man nu har afgrænset rigtigt, og evt. lave det om INDEN man printer, så man ikke spilder papir.

Normalt udvikler jeg i Navision XAL og Navision Axapta, og her er det en indbygget ting, at man kan skrive rapporten til skærm. Når man så har rapporten på skærm, kan man trykke print. Det er sådan noget lignende jeg forsøger at lave her i Access.

Så det drejer sig om, at jeg bare skal kalde rapporten fra where-ever, men at rapporten så giver brugeren mulighed for at vise på skærm, og evt. derefter at printe.

Giver det mening ?
26. april 2004 - 22:38 #5
hmm, du får det jo næsten forærende, hvis du vælger:
Docmd.Openreport "Din rapport", acviewpreview

Herefter kan brugeren jo bare klikke på Printer-knappen.

Eneste hurtle er, at han ikke kan ændre kriterierne mens rapporten er i Preview.

Jeg foreslår i stedet denne metode:

DoCmd.OpenReport "Din rapport", acViewPreview
Reports![Din rapport].filter = "Firmanummer= " & Me!Firmanummer
Reports![Din rapport].FilterOn = True

Hvis du så lader formularen være popup/modal, så bliver den øverst således at brugeren kan redigere kriteriet undervejs.

Når han så trykker på den anden udskriftskanp (cmdPrint) så skrives rapporten til printeren.
Avatar billede jasman Nybegynder
29. april 2004 - 22:13 #6
Jeg beklager, at jeg var lidt tid om at vende tilbage på dit sidste "indspark".
Jeg har lavet som du foreslog, at kalde rapporten fra formularen med

DoCmd.OpenReport "Din rapport", acViewPreview

Og det ser ud til at virke fint, så mange tak for hjælpen.
29. april 2004 - 22:14 #7
selv tak :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester