28. november 2013 - 19:01Der er
5 kommentarer og 1 løsning
Udskrive den aktuelle post af en formular i vba
Jeg ved godt at det ikke er normalt at udskrive en formular. Jeg skal udskrive nogle reservedelslabels og tror det er den letteste måde. Jeg har en "Print Labels" knap på min formular "FrmPartsIn", jeg har også et unikt tekst felt "PartsInControlNumber". Jeg ønsker også at styre antallet af labels. Det skal kunne varieres fra post til post. Jeg er grøn når det kommer til vba kode, og har søgt på nettet og også her på dette forum efter lignende spørgsmål uden held. Kan det lade sig gøre.
Private Sub PrintPartsLabel_Click() Dim myform As Form Dim pageno As Integer pageno = Me.CurrentRecord Set myform = Screen.ActiveForm DoCmd.SelectObject acForm, myform.Name, Thrue DoCmd.PrintOut acPages, pageno, pageno, , 1 DoCmd.SelectObject acForm, myform.Name, False End Sub
Jeg er grøn på dette område, så jeg er lidt i tvivl om "Name" efter myform skal udskiftes med formularens navn. Kan jeg via koden,åbne en printerdialog, indsætte antal kopier, hvorefter koden fortsætter med udprintningen.
Hej 49Jensen Punktummet efter myform indikerer at herefter kommer en af de betemte ting som hører til et Screen.ActiveForm object - property Name er formens navn uanset hvilken form der var den aktive.
Så det skal ændres - men iøvrigt kan du bare eksperimentere med at skrive hvilken ideer der kommer til dig - hvis det syntaktisk er forkert afsløres det når du udfører menuline->debug->compile i vba editoren.
Du får givetvis compile error på vba koden i #2 - du kunne i teorien have defineret Thrue et eller andet sted - men jeg tvivler ;)
Prøv om du kan følge følgende iagtagelse (efter at have ændret thrue til true): set et breakpoint på første linie med docmd.selectobject ... (placer cursor et sted på linien og tast f9) Skift til database vinduet - åbn din formular og klik på knappen printpartslabel Nu skiftet der automatisk til vba editoren og linien med breakpointet er gul - afviklingen af koden er stoppet lige på den linie. Du har sikkert intet 'watches' vindue åbent - så åben sådan et vha . menulinie->view->Watch window. Tag nu med musen og marker myword (hvor det står alene)- træk det derefter ned i watch vinduet. klik på det lille plus - bladr ned og find Name Smart ikke? Kodeafviklingen kan stoppes med menulinie->run->reset
Lykken er når det emperative overruler det autoritære i magt med tingene!
Mange tak. Jeg fik forklaring på en del. Jeg tror nu nok jeg alligevel printer mine labels i raportform, det kan jeg stadig styre fra min "print labels" knap på formularen. Point til dig.
Det var godt du gav anledning til at vise at man kan udskrive formularer. Tak for point.
Synes godt om
Ny brugerNybegynder
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.