|
[ Miro35 @ 14.05.2010. 14:41 ] @
| Kod štampanja virmana imam printer LQ680.Access-ov report pretvaram u text file,zatim pozivam batch file i direktno ispisujem na printer.Ovo piše u batch file-u:Copy C:\Vir\rptIspis2.txt Lpt1: Kad ispišem uplatnice nema naših slova:Č,Ć,Đ,Š itd..Na reportu imam naša slova i u text dokumentu koji kreiram imam naša slova. |
[ Trtko @ 15.05.2010. 09:32 ] @
Morao bi pretvarat šćć u ..... , vidi donju funkciju
jedino što moraš funkciju malo prepravit
staraslova = Replace(staraslova, "Š", "[")
itd ..... pa onda probaj štampat
Public Function pretvori(dovezi As String) As String
Dim staraslova As String
staraslova = dovezi
staraslova = Replace(staraslova, "[", "Š")
staraslova = Replace(staraslova, "{", "š")
staraslova = Replace(staraslova, "]", "Ć")
staraslova = Replace(staraslova, "}", "ć")
staraslova = Replace(staraslova, "^", "Č")
staraslova = Replace(staraslova, "~", "č")
staraslova = Replace(staraslova, "@", "Ž")
staraslova = Replace(staraslova, "`", "ž")
staraslova = Replace(staraslova, "\", "Đ")
staraslova = Replace(staraslova, "|", "đ")
pretvori = staraslova
End Function
a što ne štampaš direktno iz accessa na štampać ????
vidi kako bi to izgledalo
veliko = Chr(27) & "W" + Chr(1) + Chr(27) & "w" + Chr(1)
malo = Chr(27) & "W" + Chr(0) + Chr(27) & "w" + Chr(0)
masno = Chr(27) & "E"
nemasno = Chr(27) & "F"
duplo = Chr(27) & "G"
normalno = Chr(27) & "H"
Open "lpt1:" For Output As #1
' R1 racun za stampanje
Print #1, masno + veliko + "BILOKALNIK-IGMA d.o.o. R1" + malo + nemasno
Print #1, "CIGLANA 10 "
Print #1, "Radna jedinica :" + masno + duplo + "[LJUNKARA BOTOVO" + normalno + nemasno
Print #1, "48 000 KOPRIVNICA"
Print #1, "Telefon: 048/831-554"
Print #1, "Mati~ni broj: 3697916"
Print #1, ""
Print #1, " Ra~un broj: " + masno + veliko + rek1.Fields("Br_dokum") + malo + nemasno
Print #1, ""
Print #1, masno + duplo + "Kupac : " + rek1.Fields("Otpreme_naziv") + normalno + nemasno
Print #1, "Datum ra~una : " & rek1.Fields("Dat_dokum") & " Vrijeme vaganja : " & rek1.Fields("time_vaga")
Print #1, "Vozilo : " + rek1.Fields("reg_oznaka")
Print #1, "========================================================================"
Print #1, "Ukupna te`ina : " + Space(10 - Len(Format(rek1.Fields("tezina_uku"), " ###,###,###.00"))) & Format(rek1.Fields("tezina_uku"), " ###,###,###.00")
Print #1, "Te`ina praznog vozila : " + Space(10 - Len(Format(rek1.Fields("tezina_voz"), " ###,###,###.00"))) & Format(rek1.Fields("tezina_voz"), " ###,###,###.00")
Print #1, "Te`ina robe : " + Space(10 - Len(Format(rek1.Fields("tezina_rob"), " ###,###,###.00"))) & Format(rek1.Fields("tezina_rob"), " ###,###,###.00")
Print #1, "=================================== === ========== ========== =========="
Print #1, " N a z i v r o b e JMJ Koli~ina Cijena Iznos "
Print #1, "=================================== === ========== ========== =========="
..... itd i moraš na kraju zatvoriti tablicu ili query i obavezno LPT1 port
[ Miro35 @ 15.05.2010. 10:13 ] @
Ova gornja funkcija mi odgovara samo sad trebam da mi report ili textni dokument pretvori ČĆ i ostala slova u ove znakove koje si postavio u funkciji.Kako to uraditi.Report mi se zove rptIspis2 i onda ga pretvaram preko macroa u rptIspis2.txt.Poslje toga pozivan batch file u kojem piše Copy C:\Vir\rptIspis2.txt Lpt1:
Ako imaš ideju samo da tvoja funkcija pretvori ova slova ili na reportu ili na text dokumentu.
[ Trtko @ 15.05.2010. 10:29 ] @
pa na reportu u txtboxove u koje stavljaš podatke napišeš u controlsource npr... =pretvori(imeprezime)
[ Miro35 @ 15.05.2010. 11:03 ] @
Hvala ti skužio sam kako treba sad ću to pripremit,ubaciću odmah funkciju i najbolje je ovo rješenje da odma pretvara na report-u.Još jedno pitanje za ovaj ispis računa koji si postavio ispod ove funkcije.To planiram primjenit za svoju kasu koja mi ispisuje preko driver-a.Ovaj si ti ispis postavljo i prije na forumima.Zanima me kad uzimaš podatke za ispis treba li recimo upisivat tblProdaja.Cijena za podatak na ispisu ili sa DLookup?
[ Trtko @ 15.05.2010. 11:59 ] @
Pa možeš u programu otvoriti tablicu ili sqlupit pa sa do while petljom vrtiti do zadnjeg podatka
sve ovisi koliko podataka uzimaš iz tablice. možeš i s dlookupom
npr
Dim dato As Database
Dim rek As Recordset
Set dato = CurrentDb
Dim sqlupit As String
sqlupit = "SELECT * FROM otpreme WHERE GODINA = " & "'" & Year(Date) & "'" & " AND BR_DOKUM=" & "'" & Format(brdok, "00000") & "'"
Set rek = dato.OpenRecordset(sqlupit)
do while not rek.eof()
' i sad tu uzmes podatke iz tablice i ispisuješ ih
Print #1, "Vozilo : " + rek.Fields("reg_oznaka") + " Vozač : " + rek.Fields("vozac") itd.....
rek.movenext
loop
[ Miro35 @ 17.05.2010. 08:06 ] @
Još nešto čini mi se da kad mi pretvara npr:staraslova = Replace(staraslova, "^", "Č"),ovo je veliko Č,ali isti mi znak upiše i za malo č="^",a trebo bi č="~"
[ Miro35 @ 17.05.2010. 12:55 ] @
Sad sam ispisivo na printer Lq680 ali mi umjesto č printa š. Isto tako umjesto č ispisiva R sa ovim znakom gore /.
[ vmatoic @ 25.05.2010. 12:59 ] @
Trtko
Molim pomoć.
Kad na printer pošaljem:
Print #1, "Mati~ni broj:" onda mi ispiše lijepo slovo č i nemam problema sa labelama.
No imam problema kad treba ispisati naziv artikla
npr. imam slijedeći recordset (skraćena verzija):
SQL(1) = "SELECT Rc_ID, Naziv_Produkta, Porez_p, Kolicina_sta, MPC, Iznos, PP, Rabat FROM qry_MP_rc_sta where rc_id=" & [Forms]![frm_Mp_rc_zag]![Rc_ID]
I sad mi ide ispis:
'Ispis stavaka iz SQL(1)
Do While Not rs(1).EOF
Sta_rc = rs(1).Fields(1)
Print #1, Sta_rc
rs(1).MoveNext
Loop
rs(1).Close
I sad ako imam artikl koji se zove kolač ne znam kako postaviti kod da mi se slovo č ispisuje kako treba.
Hvala unaprijed!
[ Miro35 @ 25.05.2010. 13:18 ] @
Vjerovatno je i kod mene tako kad nešto ispisuješ na report uredu je a kad iz baze podatke povlačiš onda nema naših slova
[ Trtko @ 26.05.2010. 07:34 ] @
@vmatoic
pa trebao bi pozvat onu moju funkciju pretvori , samo moraš zamjeniti redosljed slova
a kod ispisa
'Ispis stavaka iz SQL(1)
Do While Not rs(1).EOF
' Sta_rc = rs(1).Fields(1)
Sta_rc = pretvori(rs(1).Fields(1))
Print #1, Sta_rc
rs(1).MoveNext
Loop
rs(1).Close
@Miro35 , vjerojatno je raspored u mojoj funkciji kriv ( "[", "{" ) možda sam ja koristio neki drugi font
gdje je na primjer znak "{" na ascci 298 a možda bi trebao biti na ascci 278 .. itd
tu sam funkciju koristio kad sam iz oraclea vukao podatke u access i štampao ih iz reporta
[ vmatoic @ 26.05.2010. 11:44 ] @
Hm, neće.
Ne znam u čemu je problem.
Promijenio sam slijedeće da vidim na primjeru:
Sta_rc = pretvori(rs(1).Fields(1)) & " Mati~ni"
I onda mi se rs(1) ne ispiše sa našim znakom (kolač) a matični se ispiše uredno (a na početku tog istog modula sa zalijepio tvoju pretvori funkciju)?
poz.
[ Trtko @ 26.05.2010. 16:42 ] @
Funkcija bi morala izgledati ovako
Public Function kodna387(dovezi As String) As String
Dim staraslova As String
staraslova = dovezi
staraslova = Replace(staraslova, "Š", "[")
staraslova = Replace(staraslova, "š", "{")
staraslova = Replace(staraslova, "Ć", "]")
staraslova = Replace(staraslova, "ć", "}")
staraslova = Replace(staraslova, "Č", "^")
staraslova = Replace(staraslova, "č", "~")
staraslova = Replace(staraslova, "Ž", "@")
staraslova = Replace(staraslova, "ž", "`")
staraslova = Replace(staraslova, "Đ", "\")
staraslova = Replace(staraslova, "đ", "|")
kodna387 = staraslova
End Function
Promijenio sam slijedeće da vidim na primjeru:
Sta_rc = kodna387(rs(1).Fields(1)) & " Mati~ni"
stavi msgbox sta_rc nek ti ispiše i na ekranu
ako ne ispiše dobro kolač a matični dobro ispiše onda iskopiraj znak ~ iz matični i prekopiraj u funkciju
i tako za sve znakove ...
moralo bi raditi,
[ vmatoic @ 03.06.2010. 14:06 ] @
Nisam stigao prije probati, no eto... radi!!!
Hvala puno!
Ima još samo jedna caka.
Neće mi uzimati u obzir razliku između velikih i malih slova, pa sam zakometirao velika slova i sad mi ispisuje slovo koje treba ali uvijek kao malo.
Public Function kodna387(dovezi As String) As String
Dim staraslova As String
staraslova = dovezi
'staraslova = Replace(staraslova, "Š", "[")
staraslova = Replace(staraslova, "š", "{")
'staraslova = Replace(staraslova, "Ć", "]")
staraslova = Replace(staraslova, "ć", "}")
'staraslova = Replace(staraslova, "Č", "^")
staraslova = Replace(staraslova, "č", "~")
'staraslova = Replace(staraslova, "Ž", "@")
staraslova = Replace(staraslova, "ž", "`")
'staraslova = Replace(staraslova, "Đ", "\")
staraslova = Replace(staraslova, "đ", "|")
kodna387 = staraslova
End Function
A kad je odkomentirano onda uvijek ispisuje velika slova. :)
Uglavnom, ovo mi je sasvim dobro.
Hvala još jednom.
[ Zidar @ 03.06.2010. 16:12 ] @
Citat:
Neće mi uzimati u obzir razliku između velikih i malih slova, pa sam zakometirao velika slova i sad mi ispisuje slovo koje treba ali uvijek kao malo.
A kad je odkomentirano onda uvijek ispisuje velika slova.
Razlog tome moze biti nacin sortiranja u tekucoj MDB bazi. Na pocetku modula verovatno imas Option Compare Database . Pokusaj sa Option Compare Binary . Tvoj Optin Compare Database verovatno ne pravi razliku izmedju malih i velikih slova.

[ vmatoic @ 10.06.2010. 12:11 ] @
To je riješilo problem.
Hvala!
[ Zidar @ 25.02.2011. 16:13 ] @
Tema je prebacena u "Bivse TOP teme", da napravimo mesta za "Fiskalizaciju"

Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|