Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ne mogu da promenim PaperSize Property ?

[es] :: Access :: Ne mogu da promenim PaperSize Property ?

[ Pregleda: 1796 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.rs.



+8 Profil

icon Ne mogu da promenim PaperSize Property ?21.05.2008. u 10:58 - pre 194 meseci
Application.Printer.PaperSize = 1 ne radi u Access XP ? Zašto ?

Posle toga kada otvorim report u Preview mode vidim da se Page Layout nije promenio. Ima li drugog leka?

Nisam se nadovezao na TOP temu jer da budem iskren ni ja ih često ne šacujem Trtko, pomagaj !
Ozbiljan i odgovoran mladić
 
Odgovor na temu

Scelle
Slavko Šćekić
Student, Računarski fakultet
Beograd

Član broj: 151761
Poruke: 174
217.24.24.*



Profil

icon Re: Ne mogu da promenim PaperSize Property ?21.05.2008. u 12:16 - pre 194 meseci
Malo sam Googlao, zato sto i mene interesuje ovo i evo sta sam nasao:

http://www.techonthenet.com/access/modules/legal.php

Sledi kod modula sa ove strane:

Code:
Type gtypStr_DEVMODE
    RGB As String * 94
End Type

Type gType_DEVMODE
    strDeviceName As String * 16
    intSpecVersion As Integer
    intDriverVersion As Integer
    intSize As Integer
    intDriverExtra As Integer
    lngFields As Long
    intOrientation As Integer
    intPaperSize As Integer
    intPaperLength As Integer
    intPaperWidth As Integer
    intScale As Integer
    intCopies As Integer
    intDefaultSource As Integer
    intPrintQuality As Integer
    intColor As Integer

    intDuplex As Integer
    intResolution As Integer
    intTTOption As Integer
    intCollate As Integer
    strFormName As String * 16
    lngPad As Long
    lngBits As Long
    lngPW As Long
    lngPH As Long
    lngDFI As Long
    lngDFr As Long
End Type

Sub SetToLegal(pReport As String)

    Dim LDevString As gtypStr_DEVMODE
    Dim LDM As gType_DEVMODE
    Dim LDevModeExtra As String
    Dim LRpt As Report

    On Error GoTo Err_Execute

    'Open report in Design view
    DoCmd.OpenReport pReport, acDesign
    Set LRpt = Reports(pReport)

    'Change paper size to legal
    If Not IsNull(LRpt.PrtDevMode) Then

        LDevModeExtra = LRpt.PrtDevMode
        LDevString.RGB = LDevModeExtra
        LSet LDM = LDevString

        '5=legal, 1=standard
        LDM.intPaperSize = 5
        LSet LDevString = LDM
        Mid(LDevModeExtra, 1, 94) = LDevString.RGB
        LRpt.PrtDevMode = LDevModeExtra

    End If

    'Save report changes (suppress system messages temporarily)
    DoCmd.SetWarnings False
    DoCmd.Save acReport, pReport
    DoCmd.Close acReport, pReport
    DoCmd.SetWarnings True

    Exit Sub

Err_Execute:
    MsgBox "Changing paper size to legal failed."
End Sub
End Sub


Dakle, treba da napravis novi modul i smjestis ovaj kod u njega. Vjerujem da se sa LEGAL moze podesiti na tebi potrebnu vrijednost.
Samo je problem sto mora da se pozove i odradi funkcija prije otvaranja samog reporta. (Vjerovatno si i ti pokusao da odradis izmjenu na On Open, zato ti nije radilo.) Dakle, moras je odraditi na klik nekog dugmeta. Ja sam to primijenio i cini mi se da radi OK. Prikacio sam primjer. Pozdrav...


E, da, ako neko zna jednostavnije resenje... Ja cu mu biti zahvalan...
"Takozvani praktični ljudi bili bi korisni i zasluživali bi svaku pohvalu i poštovanje kad od te svoje praktičnosti ne bi hteli da naprave smisao života i razlog svoga opstanka, opravdanje za podjarmljivanje i terorisanje svih onih koji su lišeni toga praktičnog smisla, ali zato stvoreni za druge, možda više i bolje podvige."

Ivo Andric
Prikačeni fajlovi
 
Odgovor na temu

Scelle
Slavko Šćekić
Student, Računarski fakultet
Beograd

Član broj: 151761
Poruke: 174
217.24.24.*



Profil

icon Re: Ne mogu da promenim PaperSize Property ?21.05.2008. u 12:48 - pre 194 meseci
Evo, sad sam vidio da moze i na mnogo laganiji nacin. Naravno, ja sam probao najsiroviju verziju na klik dugmeta, moze se vjerovatno napraviti i nekakva funkcija. kojoj bi se prosledio naziv reporta i zeljena velicina papira. Bitno je samo da Report nije otvoren trenutku promjene velicine papira. Evo koda koji sam ubacio:
Code:

'Otvara rptPoredjenje u design modu
DoCmd.OpenReport "rptPoredjenje", acViewDesign
'Mijenjanje velicine papira na A4
Reports("rptPoredjenje").Printer.PaperSize = acPRPSA4
'Zatvaranje reporta i snimanje izmjena
DoCmd.Close acReport, "rptPoredjenje", acSaveYes
'Otvaranje rptPoredjenje u preview modu
DoCmd.OpenReport stDocName, acPreview


Radi bez problema.
"Takozvani praktični ljudi bili bi korisni i zasluživali bi svaku pohvalu i poštovanje kad od te svoje praktičnosti ne bi hteli da naprave smisao života i razlog svoga opstanka, opravdanje za podjarmljivanje i terorisanje svih onih koji su lišeni toga praktičnog smisla, ali zato stvoreni za druge, možda više i bolje podvige."

Ivo Andric
 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.rs.



+8 Profil

icon Re: Ne mogu da promenim PaperSize Property ?21.05.2008. u 13:25 - pre 194 meseci
Upravo takav kod sam hteo da postavim kao skraćenu varijantu tvog prvobitnog koda. Znam za taj kod od ranije, ali nemam mogućnost da otvaram report u design mode i snimim promene. Hvala ti na trudu, svakako će drugima biti korisno, ali ne i meni Imam nepodeljen .mdb fajl na serveru na koji se kači više korisnika preko shortcuta (ubeđuju me ljudi da baza tada radi brže? a ja nisam tamo pa ne znam), a tada design changes ne mogu da se snime, zato pokušavam nešto drugo.
Ozbiljan i odgovoran mladić
 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.rs.



+8 Profil

icon Re: Ne mogu da promenim PaperSize Property ?21.05.2008. u 14:00 - pre 194 meseci
Ispostavilo se da sam bio na dobrom putu, falilo mi je "samo" posle otvaranja reporta :


DoCmd.OpenReport(strDocName), acViewPreview
Set Reports(strDocName).Printer = Application.Printer
Ozbiljan i odgovoran mladić
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
87.252.143.*



+8 Profil

icon Re: Ne mogu da promenim PaperSize Property ?22.05.2008. u 11:31 - pre 194 meseci
Sve se može kad se hoče.

Problem koji se javljao kod korisnika je taj što su htjeli
odštampati samo onu stranicu koju vide na ekranu

Pa sam si ja napravio funkciju koja se pozove iz menia
i koja odštampa baš tu stranicu

domaci_... , nisam isprobavao ali mislim da bi se moglo i poštelat i stranica i margine
a da se ne ulazi u design mod , več direktno iz koda. Možda ovo dolje nekome posluži.



Public Function kojastr()

Dim imeliste As String
imeliste = ""

Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentProject

For Each obj In dbs.AllReports
If obj.IsLoaded = True Then
imeliste = obj.Name
End If
Next obj

If IsNull(imeliste) Or imeliste = "" Then
Exit Function
End If

mstrana = Reports(imeliste).Page
DoCmd.PrintOut acPages, mstrana, mstrana

End Function
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
87.252.143.*



+8 Profil

icon Re: Ne mogu da promenim PaperSize Property ?22.05.2008. u 11:46 - pre 194 meseci
A vidiš Getsbi da sam prebrz bio.

Idem sad baš probat složit funkciju koja če mjenjat
stranice, podešavat margine a da se to vidi na ekranu

 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.rs.



+8 Profil

icon Re: Ne mogu da promenim PaperSize Property ?22.05.2008. u 13:11 - pre 194 meseci
Jes' Trtko može se podešavati Application.Printer kako god hoćeš, posle samo postaviš Set Reports(NekiReport).Printer = Application.Printer. Meni ovo stvarno radi ko iz...

A što se tvog koda tiče, možda može da se malčice skrati :
Code:
Public Function kojastr()
On Error GoTo Err_Trap
Dim mstrana As Byte
mstrana = Screen.ActiveReport.Page
DoCmd.PrintOut acPages, mstrana, mstrana
Exit Function

Err_Trap:
MsgBox "Nema otvorenih izveštaja"
End Function

Ozbiljan i odgovoran mladić
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
87.252.146.*



+8 Profil

icon Re: Ne mogu da promenim PaperSize Property ?22.05.2008. u 13:28 - pre 194 meseci
Dva loša ubiše Miloša, kaže narodna

Vidiš ti to , kak se da skratiti kod
Kad sam lijen poslije dotjerati kod, skratiti.

Ovaj primjer s meniom kačim kao primjer za ostale da si mogu
staviti na svoje reporte naravno i dotjerati

hehehe naravno da cod nije dotjeran

Prikačeni fajlovi
 
Odgovor na temu

[es] :: Access :: Ne mogu da promenim PaperSize Property ?

[ Pregleda: 1796 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.