[ ivan1122 @ 27.05.2009. 09:05 ] @
Prvo da vas sve pozdravim, ne vjerujem da sam pisao ista na forumu vec samo citao. Sto se tice foruma stvarno je dosta poucan i ima obradjeno dosta tema. Tesko da ce se naci jos koji priblizne kvalitete na ex-yu jeziku.

Eh sada, totalni sam amater sto se tice VBa ali bih volio nauciti neke stvari. Pred kraj ljeta imam i ispit iz c++ pa tako da ce mi svaka pomoc dobro doci, ali idemo sada sa problemom koji sam stavio u naslov.

Dakle svako jutro bankama saljem listu uplatnica u dig obliku koje ce kasnije doci fizicki i biti ovjerene. Citav taj posao radim rucno u MSaccess-u tako sto vadim definisane podatke iz tabela i kopiram u jednu tabelu gdje kasnije dodajem redne brojeve i mijenjam datum i tako stalno. Problem je sto toga ima stvarno dosta i cesto se desi neki propust pa sve nanovo.
Nekako mi se cini da bi taj proces mogao puno lakse da se odradi u VBu koji bi sve rijesio sa jednim ili par klikova misem.

Evo kako sam ja zamislio taj program...


Imam formu u kojoj bi vec unaprijed bile definisane uplatnice kojima ja radim. Na formi bi imao text box za svaki tip uplatnice i label pored koji govori o kojoj se uplatnici radi. U text box upisujem broj uplatnica, dakle koliko kojih ce trebati da se upise u .txt file.

evo slika



Tako npr kada ukucam u txt.box1 broj 101 i u txt.box2 broj 3 trebam da mi u file.txt ispise 101 red definisan u formi za tu uplatnicu i ispod jos 3 reda druge uplatnice sa tim da na pocetnu svakog reda dodaje niz i da se niz ne prekida.



Iznad je slika file.txt datoteke kakva bi trebala biti.

Nadam se da cete se ukljuciti u problematiku
[ djpero.84 @ 27.05.2009. 09:18 ] @
Prvo, slabo ti se vidi ova slika dole, a drugo, ne znam gdje su ti podaci koji ce biti na uplatnicama, u access-u?
[ ivan1122 @ 27.05.2009. 09:56 ] @
Evo vecih slika..









Za podatke sam mislio da budu definisani u formi ako je to moguce?? Posto su oni nepromjenjivi i imam svega 9 vrsta uplatnica, tako da bi trebao formu od 9 text polja.

Jos nesto sam zaboravio reci "mozda namjerno da ne gnjavim puno" da se u svakom nizu ispisuje datum pravljenja tih uplatnica.

npr


00000000001 000000005.00 firma doo 27052009 332211 banka doo
00000000002 000000005.00 firma doo 27052009 332211 banka doo
[ djpero.84 @ 27.05.2009. 10:29 ] @
A odakle vuces iznose ?
[ ivan1122 @ 27.05.2009. 10:53 ] @
Hmmm mozda nisam dobro objasnio...

Ovako to nekako ide, imam 9 vrsta uplatnica koje su vec poznate i ne mijenjaju se. Njih sam mislio definisati u samoj formi (dio pod navodnicima srednja slika), svakoj od 9 vrsta uplatnica je pridruzen jedan text.box pored kojeg je label na kojem pise o kojoj uplatnici se radi. Po defaultu bi svaki text.box imao vrijednost 0.
Kada pokrenem program ukucam npr u prvi text.box 100 a u zadnji 10, i kada kliknem start da mi program u novootvorenu textualnu datoteku ispise pridruzenu vrijednost tog text.box-a 100 puta, ide dalje i preskace nule dok ne dodje do zadnjeg i tako u novi red nastavlja niz odgovarajuceg text.box-a.

Vrijednosti uplatnice se ne mijenjaju, znaci samo se mijenja vrijednost text.box-a odnosno tu odredjujemo koliko ce redova te uplatnice ispisati i tako svake sljedece sa tim da ispred stavlja redne brojeve.
[ djpero.84 @ 27.05.2009. 11:10 ] @
Moraces malo izmjeniti jer dok si ti pisao ja sam ti napravio ovaj program, pa probaj.

[ ivan1122 @ 27.05.2009. 12:01 ] @
Ma KRALJ si :D evo oprobao i radi sta sam zamislio....

Idem vidjeti sta mogu da promijenim i ako zapne ovdje upitam..

Hvala
[ djpero.84 @ 27.05.2009. 13:02 ] @
Mislim, ne znam da li ces upisivati rucno i te iznose i te neke stvari ako ih vec imas u Access. To je suludo...
[ ivan1122 @ 27.05.2009. 13:24 ] @
Citat:
djpero.84: Mislim, ne znam da li ces upisivati rucno i te iznose i te neke stvari ako ih vec imas u Access. To je suludo...



Evo malo sam gledao i nasao sam dvije stvari koje nisu OK..

Prvo, niz koji je na pocetku reda se nesmije prekidati tako da nakon nove uplatnice broji ponovno vec se treba nastavljati..

Drugo, vidim da si mi definisao vrijednost 100, firmu, i banku.. mislim da me tu nisi razumio dobro. Iznos svake od definisanih uplatnica je unaprijed odredjen i ne mijenja se. Ti si stavio 100 i taj broj ide na svaku a trebalo bi da za jednu ide 5 drugu 10 i neku devetu opet 10 nije bitno to bih ja unio jednom i ostalo bi tako.

Pogledaj malo tu vecu sliku u sredini (gdje je meni cveno izbacilo) hehe... tu je primjer 3 definisane uplatnice, ja cu ih imati 9 i nece se niti jedna mijenjati niti imam sta da unosim. Svaka ima svoju vrijednost, svoju sifru firmu i banku.
Znaci potreban je kod koji na cmdStart u text datoteku ispisuje onoliko puta tekst iz navodnika koliko sam ja zadao u text.box, kada taj ispise ide sljedeci i tako do kraja, sa tim da na jednom mijestu ispisuje datum a na pocetak redni broj.





[ djpero.84 @ 27.05.2009. 13:38 ] @
Pa sto se nisi potrudio i ispravio?



[ ivan1122 @ 27.05.2009. 13:48 ] @
A u q...c ne mogu vjerovati da si ovako brzo ovo rijesio...

Kralju sta cu se potruditi apsolutno sam krzljav sto se ovog tice. Veceras kuci instaliram VB6 i poslozim sve kako treba da bude u orginalu pa se pohvalim.
Posaljem ti kako izgleda sa ovim sta meni treba, hvala jos jednom.

P.S. poslao sam ti maloprije privatnu poruku pa samo da znas, iako mislim da si procitao cim si uradio kako treba :)
Kada budes isao juzno javi da te najedem i napijem :D
[ djpero.84 @ 27.05.2009. 13:55 ] @
Nisam vidio privatnu poruku, ali nema veze ako ti radi sta hoces. Nadam se da u kodu shvatas one nizove i da moras tamo definisati te banke ili firme itd.

Idem skoro na Ostrog, pa nije iskljuceno da platis cevape i pivo :)
[ ivan1122 @ 28.05.2009. 10:38 ] @


Poslao sam ti privatnu poruku...

Za pivo i cevape dogovoreno cujemo se jos i posaljem ti ja kontakt ;)
[ djpero.84 @ 28.05.2009. 12:11 ] @
Ovaj decimalni zarez nije do mene, vec do tvog regionalnog podesavanja, te ti je decimalni zarez "," a ne ".". Moze samo ovako, stim da nemas iza decimalnog zareza nista sem nule :). Ili da iznos_int promjenimo u string pa da ukucas iznose kao text pa da ih tam ubacuje? Ali ako su uvijek cifre iste i brz pfeninga, onda moze i ovako.
[ ivan1122 @ 28.05.2009. 12:43 ] @
Umjesto iznos_int stavio sam iznos_str i odredio ga kao string... sada radi. Eh da i ona blokada kucanja je sada OK :)
[ ivan1122 @ 01.06.2009. 09:41 ] @
Evo nastavak pitanja vezanih uz projekat :)


Napravio sam jos jedan gumb za izvjestaj koji ce otvarati .doc stavljati podatke i spasavati taj isti. Tek sam u biti uradio kod za otvaranje dokumenta i pokusao staviti neke podatke cisto da oprobam i izgleda OK. Sada mi je potrebno da se taj dokument otvara kao landscape a ne kao portrait i nikako da to podesim ...

Code:

Private Sub cmdIzvjestaj_Click()

Dim Obj As Word.Application
Dim Worddoc As Word.Document
Dim OrigFullFile, TempFile As String
Set Obj = New Word.Application
Obj.Visible = True


Set Worddoc = Obj.Documents.Add
Obj.Selection.Text = Format$(Date, "dd.mm.yyyy") & vbTab & vbTab & "uplatnice banka stampa"
Worddoc.SaveAs ("c:\test")
Worddoc.Close False
Obj.Quit False
Set Worddoc = Nothing
Set Obj = Nothing
End Sub



[ djpero.84 @ 01.06.2009. 10:27 ] @
Ev' ga:

Code:
Dim Obj As Word.Application
Dim Worddoc As Word.Document
Dim OrigFullFile, TempFile As String
Set Obj = New Word.Application
Obj.Visible = True


Set Worddoc = Obj.Documents.Add
Worddoc.PageSetup.Orientation = wdOrientLandscape ' ######### EVO GA :)
Obj.Selection.Text = Format$(Date, "dd.mm.yyyy") & vbTab & vbTab & "uplatnice banka stampa"
Worddoc.SaveAs ("c:\test")
Worddoc.Close False
Obj.Quit False
Set Worddoc = Nothing
Set Obj = Nothing
[ ivan1122 @ 01.06.2009. 12:30 ] @
Pero hvala puno, evo tvoj kod radi OK i sve 5 ali sada sam zabrljao nesto deseto. Dakle sada dok radim ovo i ucim drzim se jednog projekta na kojem sve kodove oprobam pa tek onda prebacujem u projekat koji je lijepo poslozen i koji ce na kraju biti kompletan kao .exe
Sada mi se desilo to da kada sam prebacio ovaj kod koji radi u drugi projekat VB stalno klikom na dugme izbacuje gresku.



Tu na slici se vidi poruka, dakle program se pokrene i radi drugo dugme ali kada kliknem na izvjestaj izbaci tu gresku. Pogledao sam jesam li sve kopirao i izgleda da jesam. Nisam nista previse mijenjao pa da zabrljam, ne kuzim sta se sada desilo jer taj isti kod mi u drugom projektu radi a u ovom ne.
[ djpero.84 @ 01.06.2009. 14:18 ] @
Dodaj Reference :

Project -> References -> Microsoft Word Object Library
[ ivan1122 @ 02.06.2009. 10:36 ] @
Heheeh jos malo i gotovo, sve je poslozeno i naisao sam na jos jedan problem...


dakle uradio sam otvaranje .doc file-a na kojem ce se ispisivati report pa ako je sve OK ide se sa generisanjem .txt file-a . N .doc imam da stavlja danasnji datum, naslov i citav jedan header koji mi sluzi kao naziv pojedine kolone. Kasnije ispod tog headera slozeni su podaci da pasu svakom nazivu. Sve je ovdje vecinom uradjeno sa stringovima ali imam na kraju svakog reda jednu manju operaciju mnozenja, tu sam uzeo integer definisao sam ga ali nikako ne mogu da mi pokaze rezultat mnozenja, umjesto toga u tokumentu mi ispisuje 0 "nulu".

Moze pomoc oko koda za ispis vrijednosti??

Trebam dakle da mi vrijednost ukucanu u txt.box pomnozi sa integerom koji je vec poznat za svaki text.box.

npr


val(txt_upl(0).text) pomnozi sa iznos_int(0)

^^ ta vrijednost mi treba da se ispisuje u redu kao i ostale
npr
Code:

obj.Selection.Text = & iznos_int(0) & vbTab & tr_pri & "  " & naziv_pr & vbTab & tr_nal & vbTab & naziv_nal _
 & vbTab & pdv_broj & vbTab & naziv_upl(0) & "        " & Val(txt_upl(0).Text) & (suma_int(0))


------------------------------------------

eh da jos nesto, kada sam definisao integer
Code:

iznos_int(0) = "5,00"
iznos_int(1) = "10,00"
.
.
.

itd meni ih na stampi pokazuje kao
5
10
..
a valjalo bi da mi zarez ispisuje :)
----------------------------------------
[ djpero.84 @ 02.06.2009. 10:52 ] @
Integer je cio broj, nema decimala. U onom projektu sam ti napravio da ti dodaje na taj integer jos samo ",00" ili sl..

Znaci:

Code:
str(iznos_int(0)) & ",00"


Sto se tice problema prije ovog, najbolje bi bilo da posaljes citav kod,,,,, vec sam zaboravio problematiku...
[ ivan1122 @ 02.06.2009. 11:24 ] @
Code:


& Val(txt_upl(0).Text) * 5 & ",00"



Evo otkrio sam :D


A kod dobijes kada sve uradim, posto je ipak glavni dio tvojih ruku djelo ;)
[ ivan1122 @ 02.06.2009. 18:25 ] @
Imas PM


;)