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

Access Baza Znanja

[es] :: Access :: Access Baza Znanja
(TOP topic)
Strane: < .. 1 2 3

[ Pregleda: 25621 | Odgovora: 42 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

TomaParComp
Goran Tomic
Paraćin

Član broj: 17923
Poruke: 118
194.106.174.*

Sajt: www.parcomp.co.yu


Profil

icon Re: Access Baza Znanja21.10.2007. u 20:13
Citat:
Zidar: Zeljko Raspudic, o stampanju na matricnim stampacima :-)


Citat:
Svima nama koji se bavimo programiranjem je jasno da dolaskom Windows
orjentisanih programa dolazi do "tihe" sahrane matričnih štampača.
Kome ipak nije jasno neka oštampa neki izvještaj iz, recimo, Access-a i
poredi brzinu štampanja izvještaja slične dužine iz nekog DOS programa
(recimo Clipper-a). Posto su matrični štampači jako rasprostranjeni u
poslovima vezanim za knjigovodstvo nije tek tako preći na lasere.
Problem pogotovo dolazi do izražaja kod referata koji zbog obimnosti
podataka moraju da koriste A3 papir (recimo neke liste u Osnovnim
sredstvima). Tu nije lako preći na A3 laser koji je i dalje dosta skup
a takođe i toneri za njega.
Zbog toga sam prešao na "DOS" stampanje iz Access-a ali sam naišao
na problem kod prelaska na novu stranicu (Form Feed).
Koristeći zvaničnu ESC sekvencu za prelaz na novu stranu tj. Chr(12)
nalazio sam na problem da zavisno od situacije nekada nedostaje
jedan do dva reda a nekada doda red više. Kao posljedica toga je
pogrešno štampanje višestraničnih dokumenata i pogrešan rad
Tear Off-a (izvuče stranicu više).
Printer je hardverski dobro podesen jer njegovo dugme Form Feed i Tear Off
rade normalno.
Koristim "beskonačni" papir i probao sam na LQ-1170 i LX 300 sa identicnim
rezultatima
Logiku greške nisam uspio da dokučim.
Poslije dosta muke napustio sam Chr(12) i problem riješio na sljedeći
način:


Imam primedbe na gore postovano uputstvo...

Meni se mnogo bolje pokazala kombinacija:

Code:

        cImeFajla = getTmpName()

        Set fs = CreateObject("Scripting.FileSystemObject")

        Set fileRacun = fs.CreateTextFile(cImeFajla, True)
        ...
        ...
        cRed = " << tekst koji ide na štampu >> "
        fileRacun.WriteLine (cRed)
        nRed = nRed + 1
        ...
        ...

        fileRacun.Write (Chr(12))
            
        fileRacun.Close

        cPort = "PRN"
        fs.CopyFile cImeFajla, cPort
        fs.DeleteFile cImeFajla


Obratiti pažnju na razliku izmedju Write i WriteLine, tu uvek nastaje problem sa FF kodom jer WriteLine kao i gornji Print #1, dodaje na kraju linije CRLF što pravi problem sa pozicioniranjem na strani jer printer prvo predje na drugu stranu(FF) pa onda napravi još jedan(CRLF) red što poremeti pozicioniranje.

Najbolje bi bilo da FF ide NA KRAJU ZADNJEG REDA i to:
Code:

        fileRacun.Write (" <<< zadnji red izveštaja >>> "  & Chr(12))

i to onda radi 1000%


21.10.2007. u 20:13 

bojan_mil
Bg

Član broj: 74014
Poruke: 90
77.46.180.*



Profil

icon Re: Access Baza Znanja19.02.2008. u 22:11
Resenja za blokiranje funkcija toolbar-a i file menu-a u access-u

I
Tools, Startup. Pogledaj opcije koje se nude. Kad isključiš te opcije, a želiš normalno da uđeš u aplikaciju pod standardnim uslovima, uradiš to uz držanje tastera Shift. To je jedne od opcija za sprečavanje mogućnosti namernog ili nenamernog ugrožavanja aplikacije i podataka. Reklo bi se da je dobra. Nije ijedina.


II
Public Sub UnlockDB()
CurrentDb.Properties("AllowFullMenus") = True
CurrentDb.Properties("AllowBuiltInToolbars") = True
CurrentDb.Properties("AllowShortcutMenus") = True
CurrentDb.Properties("AllowSpecialKeys") = True
End Sub

Public Sub LockDB()
CurrentDb.Properties("AllowShortcutMenus") = False
CurrentDb.Properties("AllowFullMenus") = False
CurrentDb.Properties("AllowBuiltInToolbars") = False
CurrentDb.Properties("AllowSpecialKeys") = False
End Sub

Efekti će biti vidljivi tek kada se baza ponovo otvori. Možeš ovo spakovati u jednu proceduru, koristeći argument tipa boolean.


III
DoCmd.ShowToolbar "Menu bar", acToolbarNo
DoCmd.ShowToolbar "Form Design", acToolbarNo
DoCmd.ShowToolbar "Form View", acToolbarNo
DoCmd.ShowToolbar "Database", acToolbarNo
DoCmd.ShowToolbar "Formatting (Form/Report)", acToolbarNo
DoCmd.ShowToolbar "Formatting (Datasheet)", acToolbarNo



DoCmd.ShowToolbar "Menu bar", acToolbarYes

....naravno da ga opet prikaže






IV
Public Sub RegEditDB (MakeVisible As Boolean)

' Instant zakljucavanje / otkljucavanje menija
Dim AST As AcShowToolbar
AST = IIf(MakeVisible, AcToolbarYes, AcToolbarNo)
DoCmd.ShowToolbar "Menu bar", AST
DoCmd.ShowToolbar "Form Design", AST
DoCmd.ShowToolbar "Form View", AST
DoCmd.ShowToolbar "Database", AST
DoCmd.ShowToolbar "Formatting (Form/Report)", AST
DoCmd.ShowToolbar "Formatting (Datasheet)", AST

' Zahteva restart
CurrentDb.Properties("AllowBuiltInToolbars") = MakeVisible
CurrentDb.Properties("AllowShortcutMenus") = MakeVisible
CurrentDb.Properties("AllowSpecialKeys") = MakeVisible

End Sub
19.02.2008. u 22:11 

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 1692
*.100.46-69.q9.net.



Profil

icon Re: Access Baza Znanja10.04.2008. u 14:46
Zaokruzivanje Brojeva na proizvoljnu vrednost (ne samo na zadati broj decimala).

Na primer, zelite da zaokruzite nesto na najblizih 5 ili 25. Ili na najblizi Inch. Ili na nalblizih 15 minuta (0.25 od sata)
A mozete da zaokruzite na gore i na dole, na bilo koji inkrement.

Evo funkcija:

Code:

Public Function Round_Z(X As Variant, U As Variant) As Variant
'Namena: zaokruzuje brojeve na bilo koju jedinicu mere
'jedinica mere moze biti decimalna ali i 'najblizih 2 cm', najblizih 15 minuta,
'bilo sta
'Iz ove funkcije izvode se i druge dve RoundUp_Z i RoundDown_Z, koje
'zaokruzju na prvu vecu ili manju okruglu vrednost jedinice mere
'Primeri:
'Zaokruzi na jednu decimalu:
'Print Round_Z(0.12345, 0.1)
' 0.1
'Zaokruzi na 3 decimale:
'Print Round_Z(0.12355, 0.001)
' 0.124
'Zaokruzi an 5 decimala:
'Print Round_Z(0.12355, 0.00001)
' 0.12355
'Zaokruzi na ceo broj
'Print Round_Z(12355.6355, 1)
'12356
'Zaokruzi na najblizi paran broj (2)
'Print Round_Z(12355.12355, 2)
'12356
'Zaokruzi na najblizi broj deljiv sa 3:
'Print Round_Z(12355.12355, 3)
'12354
'Na najblizu stotinu:
'Print Round_Z(12355.12355, 100)
'12400
'Na najblizih 0.25:
'Print Round_Z(12355.12355, 0.25)
'12355
'Print Round_Z(12355.26355, 0.25)
' 12355.25

Round_Z = Int((X + U / 2) / U) * U


End Function

Function RoundUp_Z(X As Variant, U As Variant) As Variant
'Zaokruzuje zadati broj X na prvi umnozak od U koji je veci od X
'Primeri:
'Zaokruzi na prvi veci broj deljiv sa 5
'? RoundUp_Z(12.015,5)
'15
'
RoundUp_Z = Round_Z(X + U / 2, U)
End Function

Function RoundDown_Z(X As Variant, U As Variant) As Variant
'Zaokruzuje zadati broj X na prvu manju jedinicu U
'Primeri:
'Zaokruzi na prvi manji broj deljiv sa 5
'Print RoundDown_Z(37, 5)
'35
RoundDown_Z = Round_Z(X - U / 2, U)
End Function

10.04.2008. u 14:46 

[es] :: Access :: Access Baza Znanja
(TOP topic)
Strane: < .. 1 2 3

[ Pregleda: 25621 | Odgovora: 42 ]

Postavi temu Odgovori

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