[ Sal_e @ 02.12.2010. 15:19 ] @
Pozdrav, ima problem oko kreiranja izvjestaja u MS Access-u. Problem je ovakav: imam tabelu koja mi sluzi kao skladiste i formu preko koje unosim podatke u nju, e sad bih htjeo da stampam naljepnice sa imenom proizvoda, cjenom itd. te naljepnice bi bile u formi malih tabela sa 5-6 stavki: ime proizvoda, sifra, cjena itd. Ta forma(preko koje unosim proizvode u tabelu) nosi ime kalkulacija, a u tabeli imam polje u kojem mi stoji kalkulacija i tu se unosi redni broj kalkulacije. Ja bi sad htjeo da mogu isprintati izvjestaj jedne kalkulacije npr. br. 554, ali ne znam kako cu napraviti da mi ostampa neki proizvod npr. spojnica 5x, krajnica 3x. Znaci kako da napravim da mi u izvjestaju ostampa vise naljepnica jednog proizvoda i da mi za svaku drugu kalkulaciju prikaze onoliko naljepnica koliko imam komada proizvoda?
[ smal @ 02.12.2010. 16:17 ] @
Skokni na www.peterssoftware.com/ls.htm i skini Label Saver. Besplatan je.
[ Sal_e @ 02.12.2010. 17:53 ] @
Nije ni to lose ako uspijem malo prepraviti, sto nece biti lako uopste, posto meni treba puno komplikovanija stvar.
Npr. u kalkulaciju unosim 3 proizvoda:
sajla komada 5
saraf komada 7
podloska komada 3
I sad treba ostampati naljepnice za ta 3 proizvoda, po onoliko naljepnica koliko komada. I za sljedecu kalkulaciju da se opet samo generise.
[ smal @ 02.12.2010. 18:27 ] @
Axa, nisam pažljivo čitao... Pa u tom slučaju, kreiraj/popunjavaj privremenu tabelu sa potrebnim brojem duplikata, pa štampaj odatle. Imaš lep primer ovde: www.elitesecurity.org/t380930-0#2432978
[ Sal_e @ 02.12.2010. 19:43 ] @
Hvala to je to, malo cu prostudirati!
[ Zidar @ 03.12.2010. 13:57 ] @
Resenje sa privremenom tabelom u koju se upisuje potreban broj duplikata je u principu OK, ali moze i bez privremene tabele.

AKo se napravi jedna generalna tabela, nazovimo je Numbers, koja ima tacno ejdnu kolonu, koja se zove Num, onda tu tabelu Numbers mozemo napuniti brojevima, recimo od 1 do 10,000, onda tu tabelu mozemo da izkoristimo da napravimo kveri koji vraca potreban broj duplikata za svaku satvku. Zkaceni primer pokazuje kako s pravi takav kveri.

Inace, tabela Numbers moze se napuniti na razne nacine, uopste nije bitno kako, posto se to radi samo jednom. Moj omiljeni anin je da u Excelu napracvim N brojeva pa ih samo Cut/Paset u Access. Moze se napisati kveri koji generise brojeve za tabelu Numebrs, a moze s ei psiati kod,
For i=1 TO N: add record to Numbers : NExt I

Tabela Numbers je jako korisna za mnoge stvari i treba je ubaciti u svaku mogucu bazu podataka kojom radite. Nisam rekao "Access bazu", mislim na bazu generalno, SQL, ORACLE, bilo sta. Ako ima inteersa, mozemo da prodiskutujemo neke primere gde upotreba tabele Numbers znatno olaksava zivot.

[ Zoran.Eremija @ 03.12.2010. 14:09 ] @
@Zidar, svaka cast...

Nesto slicno je govorio pok. prof. Branislav Lazarevic na primeru datuma i entiteta Datum, cesto koristim taj njegov primer na primeru entiteta Godina, ali priznajem nisam povezao u ovom slucaju...

Sve volim samo ne kodiranje...

Jos jednom svaka cast.
[ smal @ 03.12.2010. 17:40 ] @
Huh, šta reći? Stvarno sjajno. Slično Zoranu, ja sam tek nedavno ukapirao koliko pomoćna tabela sa datumima može da pomogne, ali ovo mi nikad bi ne bi palo na pamet :)
[ Zidar @ 03.12.2010. 20:42 ] @
Hvala!

Zidareva teorema: "the best code is no code at all!"

I ja sam za tabelu brojeva cuo pre nekoliko godina i jednostavno sam ostao bez teksta. Tabela s datumima je izvedena iz tabele brojeva. Svasta moze s tim da se radi.

Na primer, pomocu tabele brojeva lako se resava zadatak tipa: dat je string "a,b,c,d,e" Razbiti string na rekorde, tako da "a" bude u jednom rekordu, "b" u drugom i tako dalje.

Ne mogu sada napamet da se setim kako ide, to sam uglavnom radio u MS SQL, ali posle vikenda pronanci cu ili iznova napisati kako to ide.


[ banem @ 04.12.2010. 02:22 ] @
Banemova teorema: the best code is the code that work, and it really work.

Sve zavisi od brzine koja se traži, od brzine odziva sistema, od funkcionalnosti, od svrshishodnosti.... itd. Idealno, program mora da radi za nula sekundi sve ono što korisnik može da zamisli i sanja. To ne postoji.

Odgovor na pitanje: radio sam program za 2D skenere. On skenira po 20 bar-kodova odjednom, svaki odvojen zapetom. Program to razbija na sastavne delove i piše u tabelu pojedinačne zapise. U tvom primeru, svejedno je koji deo stringa se traži: a, b, c, d ili e.

Ako je nekome potrebna funkcija koja to radi, pišite mi pa ću poslati.
[ Trtko @ 04.12.2010. 09:55 ] @
@Zidar, kako to sad izgleda jednostavno, covjek da ne povjeruje.
Zato "programiranje" nije samo znanje, potrebno je tu i malo mašte, iskustva i logike.

Svaka cast. Ja bi to inace isprogramirao, lakše mi je.

Ponekad mi se cini da imam access u malome prstu sto se tice programiranja a onda se iznenadim
kad shvatim da u biti ponekad nemam pojma, da jos ima toliko stvari neistrazeno u njemu.

x = "2+5-(3+2)"
aa = Eval(x)

jos me uvijek funkcija EVAL() fascinira
[ Sal_e @ 05.12.2010. 21:26 ] @
Narode bi li neko bio voljan da mi pogleda bazu sto sam radio, stalno mi se javlja greska?
[ banem @ 05.12.2010. 21:39 ] @
Prvo, ovo ne može:

SELECT * FROM detalji kalkulacije WHERE ...

Ako u nazivu objekta koristiš specijalne karaktere ili razmak, onda moraju velike zagrade, npr:

SELECT * FROM [detalji kalkulacije] WHERE ...

Ovako mu kažeš

Uzmi sve zapise iz 'detalji', zatim ide nepoznata komanda "kalkulacije".

[ Sal_e @ 05.12.2010. 21:59 ] @
Taj kod je sigurno pun gresaka, posto je moje znanje iz vb veoma malo!
[ banem @ 05.12.2010. 23:13 ] @
To je najveća greška. Druga i poslednja je - u programu, polje BrojaArtikla ne valja, ne postoji, treba BrojArtikla. Kad te dve greške ispraviš, onda radi. :)
[ Sal_e @ 05.12.2010. 23:46 ] @
Druze izvini sto te smaram, ali kad promjenim te dvije stavke, kod mene opet ne radi.
[ Zoran.Eremija @ 06.12.2010. 11:57 ] @
Mozda bi ovo resenje bilo jednostavnije...
[ Sal_e @ 06.12.2010. 15:08 ] @
Druze hvala ispalo je super,jos sam dodao tabelu Numbers, o kojoj je Zidar pisao. Da bi dobio dupliranje podataka, na osnovu stavke kolicina.
U svakom slucaju hvala svima za pomoc!!!