Hej! Lösningen låter spontant väldigt fel. Vad du borde göra är ju att generera en rapport i Word (eller andra lämpliga format) som du skickar. Är det samtliga fönster som skall skrivas ut en gång eller är det en återkommande upgift av samtliga eller en delmängd av formulären? Hej! Men det är ju helt vansinnigt... det första du bör göra är att försöka tala dem till rätta och få dem att förstå att deras tillvägagångssätt är galet. Går inte det får du nog försöka få dem att förstå att ni istället borde producera en riktig, vettig rapport, kanske flera stycken till och med. VArför inte skriva ut formulärtet då? Docmd.PrintForm eller något sånt tror jag det heter? Hej! Extremt märklig inställning. Men gör då som vi säger; antingen länken i mitt inlägg ovan eller docmd.printform som Hillqvist säger. För att förhandsgranska ett formulär: Anväönder man den färdiga guiden för knappar, (Verktyg, knapp, välj Postoperationer och låt guiden skapa en knapp.) Den kommer att lägga dit följande kod (Frånset feluppfångningen):Print Screen av aktivt access formulär och skriva ut. Via KOD.
Användarna sitter idag och tar skärmdumpar av vissa accessformulär, öppnar word för att klistra in, manipulerar storleken av den inklistrade bilden och skriver sedan ut.
Jag skulle vilja att de istället hade en knapp som automatiskt gjorde detta åt dem.
Alltså automatisering av print screen, öppning av word, inklistring av bild i format anpassat till worddokumentets storlek, sen kan användaren där göra vad han vill med word dokumentet.
Jag har sökt på pellesoft men hittar inget om detta i access.
Stort tack för tips och trix!
/SofiaSv: Print Screen av aktivt access formulär och skriva ut. Via KOD.
Om du absolut vill göra så så är det samma tillvägagång sett som med vilken print screen som helst; sök på "print screen vb".Sv: Print Screen av aktivt access formulär och skriva ut. Via KOD.
Skall du skriva en manual? Jag förstår inte annars varfrör du vill göra detta?
Om det handlar om utskrivter eller raportering i någon form så bör du använda en rapport istället. De kan presentera samma information som formuläret fast på et sätt lämpat för utskrift.
Rapporter kan dessutom exporteras till word.Sv:Print Screen av aktivt access formulär och skriva ut. Via KOD.
Det är inte JAG som vill göra det här utan användarna som jobbar så idag.
De tar en print screen, öppnar word, kristrar in, skriver ut och sätter i en pärm på riktigt stenåldersvis.
Det är inget som systemet kräver utan de känner sig inte säkra om de inte har en papperskopia i pärmen....
Visst kan jag ta ut en rapport men de vill gärna ha det som det ser ut på skärmen, det är alltså det för tillfället AKTIVA formuläret som ska skrivas ut.
/SofiaSv: Print Screen av aktivt access formulär och skriva ut. Via KOD.
Det är knappast svårt att få till en rapport som visar just de de ser, men i ett normalt format.
Om de inte förstår: Bli förbannad men knyt näven i fickan. Sen får du kolla här:
http://word.mvps.org/FAQS/MacrosVBA/PrtSc.htm
Välj under "Using API Calls", och klistra in skiten i ett worddokument.Sv: Print Screen av aktivt access formulär och skriva ut. Via KOD.
JAg tycker det är ditt ansvar att förklara för användaren att en rapport har fördelar så som:
* Bättre upplösning: Troligare att dokumentet komme klara arkivering bättre
* Slösar mindre bläck/tonner/papper: Rapporten har vi bakgrund och layouten kan anpassas till pappret istället för skärmen.
Bara för att användaren är så är det inte rätt.
För att få ut informationen i det aktuella formuläret så kan du använda filter vilkoret. Förutsatt att posten är sparad. Ett enkelt knep för att spara possten innan du öppnar rapporten är att anropa me.refresh. Vilket igentligen läser om data för aktuell post. Men genom att göra detta sparas förändringar först.
Du bör ha två knappar. En för att förhandsgranska din rapport och en för att skriva ut den direkt. Du skulle även kuna ha en combobox som där användaren kan välja en av flera rapporter de vill skriva ut.
Då kan du ha en rapport som ser exakt lika dan ut som formuläret och en som är som den borde vara.
Då levererar du det kunden begära och mer där till.
När de kan jämföra utskrifterna se vad bättre de blir tror jag du kommer att få beställningar på fler rapporter. Men lite annan information och layout.
Det handlar om att sälja in rapporter, det rätta sättet att hantera utskrifter i Access.Sv:Print Screen av aktivt access formulär och skriva ut. Via KOD.
De har redan en slags rapportfunktionalitet som de inte vill använda till just detta.
Det de efterfrågar är en exakt "fotokopia" av hur formuläret på skrämen ser ut.
Får de inte det, är inte en rapport något alternativ, de kommer då att fortsätta jobba som de gör idag, dvs den manuella vägen.
DVS. Rapport, rätt eller fel, är INTE vad användarna vill ha.
/SofiaSv: Print Screen av aktivt access formulär och skriva ut. Via KOD.
Sv: Print Screen av aktivt access formulär och skriva ut. Via KOD.
Private Sub PreviewButton_Click()
On Error GoTo PreviewButton_Click_Err
DoCmd.RunCommand acCmdPrintPreview
PreviewButton_Click_Exit:
Exit Sub
PreviewButton_Click_Err:
MsgBox Err.Description
Resume PreviewButton_Click_Exit
End Sub
För att skriva ut formuläret:
Private Sub PrintButton_Click()
On Error GoTo Err_PrintButton_Click
DoCmd.PrintOut acSelection
Exit_PrintButton_Click:
Exit Sub
Err_PrintButton_Click:
MsgBox Err.Description
Resume Exit_PrintButton_Click
End Sub
Så om du bara vill skriva ut aktuell post måste du antingen använda merkering(selection) eller filtrering.
Sv:Print Screen av aktivt access formulär och skriva ut. Via KOD.
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.PrintOut acSelection
Alltså som Andreas föreslår.