27. oktober 2006 - 11:22Der er
11 kommentarer og 1 løsning
Print på specifik printer (ipadresse)
Hej Eksperter,
Er det muligt at udskrive et dokument til en specifik ipadresse ud fra forskellige kriterier?
Feks: Private Sub btnSkrivUt_Click(
If Val = "Bokade brev" Then If Typ = "Giro" then "PRINT DETTE TIL PRINTER IP ADRESSE 1" else "PRINT DETTE TIL PRINTER IP ADRESSE 2" End if End if (?)
Else If Val = "Autogiro" Then "PRINT DETTE TIL PRINTER IP ADRESSE 2" End if (?)
Else (HER SKAL ALLE BREVE PRINTES MEN TIL KORREKT IP! If Typ = "Giro" then "PRINT DETTE TIL PRINTER IP ADRESSE 1" else "PRINT DETTE TIL PRINTER IP ADRESSE 2" End if End if
Der skal väre en dropbox med 3 valg: "Bokade brev", "Autogiro" og "Alle"
Bokade brev skal printes på ADRESSE 1 om "bdeGirokort" = Ja (tbl) ellers printes de ud på ADRESSE 2 Autogiro breve skal altid printes på ADRESSE 2
PRINTER IP ADRESSE 1 = Girokort PRINTER IP ADRESSE 2 = A4 uden girokort
Du kan sagtens lave en combo, der får Access til at liste alle printere på netværket. Derefter kan du vælge comboens indhold efter dine kriterier. Det er omfattende at forklare, men læg din e-mail, så kna jeg sende dig et eksempel.
Denne kode har jeg i sin tid benyttet til at allokere udskrifter til hhv. Skuffe1 og Skuffe2 i den samme printer ... måske kan du benytte den
Sub setPaperSource(rptName As String)
'***************************************************** '* Bestillingskriterine for Erindringsmeddelelse * '* Ajourført 20.11.2003 af OSE * '*****************************************************
Dim rpt As Report Dim dm As zwtDeviceMode Dim DevString As zwtDevModeStr Dim DevModeExtra As String
SPG - Helst ville jeg kun have en rapport hvis det kan lade sig göre JENSEN393 - Er der virkelig brug for hele den lange kode :-) Kan det ikke lade sig göre med "kun" et enkelt kommande/linie?
DoCmd.RunCommand acCmdPrint!~) Dette lyder som noget jeg måske kan bruge hvis du kan uddybe koden lidt mere? :-)
Synes godt om
Slettet bruger
27. oktober 2006 - 14:07#7
Du behøver kun 1 rapport og så lav et antal kopier og kald dem eks. rptAutogiro, rptBokadebrev osv. Jeg tror det vil være det nemmeste, medmindre en har en kode, som kan gøre præcis, som du efterspørger...
Jeg vil stadig, hvis det altså kan lade sig göre, have en rapport. Jeg har feks checkbokse hvor man välger om brevet skal printes med girokort eller ikke - If Typ = "Giro" then...
Synes godt om
Slettet bruger
30. oktober 2006 - 09:14#10
Jeg har ikke stødt på en direkte kommando til at styre printeren, jeg har kun set det hvor man laver om på standardprinter eller hvor man går i designvisning. Du kan prøve at se et eksempel, men det er altså voldsomt og hvordan det skal integreres ved jeg ikke.
Jeg vil foreslå at du kopierer din rapport i 4 eksemplarer eller hvor mange du nu har brug for og så i designvisning af den enkelte rapport, sæt specifik printer i sideopsætningen. For det er ikke noget problem at lave en if sætning, som skriver ud til en bestemt rapport!~)
Jeg gör som du skrev oven! Du har helt klart ret i at det er nemmest. Jeg har lavet denne kode:
If DLookup("[brvGiro]", "[tblBrevBokning]", "[brvGiro]=Yes") Then 'BREV SKRIVS UT UTAN GIRO stDocName = "repBrevBokningUGiro" DoCmd.OpenReport stDocName, acNormal
Else 'BREV SKRIVS UT MED GIRO stDocName = "repBrevBokningMGiro" DoCmd.OpenReport stDocName, acNormal End If
...om jeg forstår det rigtigt så tjekker DLookup kun en gang mod databasen men hvordan gör jeg hvis jeg vil at den skal tjekke en gang per post i tabellen?
Kan Dlookup bruge en slags loop for hver post og hvordan gör man?
Posterne i tbl kan feks väre 1 brvGiro=Yes 2 brvGiro=Yes 3 brvGiro]=Yes
Synes godt om
Slettet bruger
31. oktober 2006 - 11:58#12
Hej, undskyld jeg er lidt fraværende, men jeg har godt nok travlt for tiden. Du kan prøve flg.:
Dim r as dao.recordset set r=me.recordset do until r.EOF
If DLookup("[brvGiro]", "[tblBrevBokning]", "[brvGiro]=Yes") Then 'BREV SKRIVS UT UTAN GIRO stDocName = "repBrevBokningUGiro" DoCmd.OpenReport stDocName, acNormal
Else 'BREV SKRIVS UT MED GIRO stDocName = "repBrevBokningMGiro" DoCmd.OpenReport stDocName, acNormal End If
r.movenext loop
Husk at du i visuel basic skal gå i værktøjer/referencer og sætte en reference til DAO 3.5 , 3.6 eller lignende!~)
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.