|
[ laponac84 @ 11.07.2006. 12:22 ] @
| Do sada sam u bazi koju sam pravio sa firmu moga oca koristio za fakturisanje dve forme,
jednu na kojoj sam mogao videti stanje artikala u magacinu, a drugu na kojoj sam unosio stavke u izlaznu fakturu,
Da li je moguće da se to izvede preko jedne forme na kojoj je prikazana jedna tabela ili na neki drugi ali jednostavniji i prihvatljiviji način. Pogledajte primer
_____________________________________________________________________________________
Šifra..׀..Naziv........׀....JM....׀...Cena....׀....Stanje.....׀......Fakturiši..................................................׀
_____________________________________________________________________________________
1000__Pivo________kom____20.00_______10000________ništa ne unosim pošto ne želim da fakturišem
1001__sok_________kom____50.00________500_________ 20
1002__vino________kom_____5.00________750__________30
1003__voda________kom____35.00_______750_________ništa ne unosim pošto ne želim da fakturišem
1004__žvake_______kom_____5.00_______9000_________50
_________________________________________________________________________________
Želim da na istom mestu vidim satanje i fakturišem.
Takva rešenja sam viđao u nekim aplikacijama koja nisu rađena u za sada svemogućem aksesu
PS
kako da ubacim sliku koju sam pripremio jasnija če biti tabela? |
[ rstevic @ 11.07.2006. 12:55 ] @
Naravno da postoji mogucnost da vidis stanje i fakturises na istoj formi.
Po onome sto si napisao mislim da bi tebi bilo najjednostavnije da (pod uslovom da sam dobro pretpostavio kako si organizovao bazu) kliknes na ekranski taster FKTURISI i da on klick on startuje jedan Append Query koji puni tabelu izlaznih faktura i verovatno tabelu izlazne_Fakture_Stavka.
Ako ti je ovo pomoglo javi, ako nije opet javi ali daj malo vise informacija o organizaciji baze pa da, svi zajedno, nadjemo najbolje resenje.
[ BiloKoje @ 11.07.2006. 15:31 ] @
Za mog zemljaka iz Lapova ja pisao odgovor, ali mi nestao.(odgovor)
Zemljače, ako hoćeš da pravilno radiš u Accesu, (pa ono tvoje "najbolji program na svetu", na pravom si mestu. Čestitam. Pogledaj temu: Magacinsko poslovanje. Pogledaj i ostale teme gde Zidar daje kojekakve šeme. Dobar program zavisi od Šeme, a ne od trenutnme ideje.
Ajde, izloži problem. Ne prihvatam odgovor tipa: Imam bazu radi savršeno, samo ne daje Lager listu.
[ laponac84 @ 11.07.2006. 20:10 ] @
Da se razumemo, lager lista mi nije problem.
Dva najveća problema (do sada po meni ne rešiva problema) sam vam prezentovao na forumu - ovaj i problem naprednog fakturisanja.
dakle lager vrlo jednostavno radi i daje tačne količine.
Po meni ja sam taj problem resio mnogo jednostavnije, nego što se rešenje za isti javlja na forumu (pogledaj te access - problem oko računanja stanja lagera, to je deo.).
A ostatak, ne znam da postavim sliku, ili neki link na forum, po prvi put koristim ovakav način pridobijanja znaja ( do sada sam rešenja tražio po knjigama)
Ili ostavite neki mejl, pa da vam pošaljem šemu, i sl.
Hvala Peri i Radetu!!!
PS
Ja program o poslovanju u velikoj meri napravio u "Q-BASICU", kad sam nabavio nov računar na scenu stupa AKSES posto mi je VB6 bio ......... komplikovan za ovakve potrebe.
eureka, evo tabele, a stiže i šema
[Ovu poruku je menjao laponac84 dana 11.07.2006. u 21:21 GMT+1]
[ laponac84 @ 11.07.2006. 22:48 ] @
Evo šema, i evo problema * 2
Javi te da li ova moja jednostavnost vredi, ako ne vredi što, šta je dobro, a šta ne valja?
Nemojte da mislite da sam lenj i sl, do sada sve što sam radio trudio sam da bude što jednostavnije urađeno
Pročitajte dokument do kraja jer su u njemu sadržane i ideja i šema i obrayloženja vezana za deo baze u aksesu, ne bih hteo da rastežem po forumu.
Za zemljaka i rstevica imam sledeće da kažem:
Imam bazu (doboro radi mnogo manje nego više savršeno), i DAJE LAGER LISTU. Pomagajte
[ BiloKoje @ 12.07.2006. 08:42 ] @
Moram da priznam da nisam baš shvatio kako ti baza funkcioniše. Vidim tabelu u kojoj se nalazi polje Fakturiši. Tu su neki redovi popunjeni neki ne. Zašto se tu nalaze artili koje ne želimo da fakturišemo?
Što se Append Queryja tiče, proveri tipove podataka za svako polje, i da li u upitu imaš sve podatke koji su u tabeli obavezni.
[ laponac84 @ 12.07.2006. 09:35 ] @
To rešenje sam video u jednoj poslovnoj aplikaciji, koja je koliko se ja sećam rađena u kliperu ili sl. ali verovatno kliper
Unošenjem podataka na željene artikl, mi biramo proizvod koji će biti na fakturi, ostali se tu ne pojavljuju. (I stvarno, faktura ima samo te artikle)
Za sata ona radi na način koji sam vam prikazao na dnu teksta
Kad bih to uspeo to bi po meni bio svakako korak napred za mene
Javi te mi šta Vas konkretno buni oko funkcionisanja baze, da bih ja bio jasniji a ujedno i dobio pomoć.
[ laponac84 @ 12.07.2006. 11:34 ] @
Apend kveri radi na karticama, Hvala BiloKojem
Probaću i slično rešenje za apend kveri na napredno fakturisanje, koje je predložio RSTEVIC
Javi te šta mislite, da li sam blizu jednoj ozbiljnoj stvari ili sam ja neozbiljan
[ laponac84 @ 12.07.2006. 22:04 ] @
LJUDI, toliko sam se zainatio i celog dana po starom HDD-u tražio ono o čemu Vam pričam, a ne umem da Vam objasnim
To bi trebalo da izgleda ovako kao u ovm prikačenom fajlu - Original
Zato molim mog zemljaka "BILOKOJI", reci mi sledeće
Da li da ostanem pri mom rešenju sa dve Forme i dugmetom osveži, ili da zajedno rešimo ovaj problem, ili ima neko bolje rešenje
[ BiloKoje @ 13.07.2006. 06:59 ] @
Ja sam sad definitivno u dilemi. Da li Lapovac radi u Accessu ili u Exelu.
Ako radimo bazu u Accessu nema razloga da gledamo kako izgleda ekran u nekom drugom programu. Primera programa za fakturisanje i praćenje stanja robe ima na ovom forumu (magacinsko poslovanje, kafić). Da bi se uopšte nešto uradilo "okači" primer baze, a ne sliku ekrana, da znamo o čemu pričamo.
Pozdrav.
[ rstevic @ 13.07.2006. 07:55 ] @
Postovani, Slika koju si nakacio je radjena u CLIPPER-u, vlasnistvo je firme WINGS, Autor je Nenad Batocanin znam tu aplikaciju.
Ono sto ti tamo vidis bi bilo u ACCESS-u sledece:
Forma na kojoj imas podatke o
magacinu iz koga se roba fakturise
Kupcu za koga roba ide i td.
ono sto vidis dole (gde ti je roba, je subforma) odnosno jos blize objasnjeno dijalog box za pretrazivanje, u momentu kada ukucas kolicinu za neku robu i ukucas enter on tu robu upisuje u tabelu faktura stavka.
Mnogo lako se to resava u ACCESS-u ali ti ni malo ne treba to da vidis sve artikle iz gore (NA FORMI) izabranog magacina, ja sam to resio tako sto u subformi na polju sifra_robe imam COMBOBOX koji moze da ti simulira ono sto ti imas u APP-u (tako se zove applikacija koju si slikao).
Ja sam ovih dana u fazi preseljenja ali ti obecavam da cu vec od ponedeljka da pogledam sta si prikacio gore (nadam se da je tvoja baza), ako pak, nije tvoja baza molim te da mi na mejl posaljes kompletnu bazu pa cu videti kako da ti resim problem. Moj e-mail mozes da vidis ako pogledas moj Profile ovde na forumu ili ako ne mozes da se snadjes napisi pa cu ti poslati.
POZ!
[ laponac84 @ 13.07.2006. 09:08 ] @
Jeste Wings, ali nisam mogao da se setim N.Batoćanin, a bio sam upravu što se tiče Klipera.
Definitivno genijalno rešenje. Ali je još bolje ono sa kombo boksom, ja ga koristim na onoj formi gde ga fakturišem, dok na drugoj formi gledam lager uz pomoć dugmeta Osveži.
A pogledajte forme o kojima Vam pričam (za sada ne radim uz pomoć šifara, ali to rešenje ću dodati na kraju kad sve bude proradilo što se tiče fakturisanja - Znam da nisam u pravu, i u čemu je greška takvog rada- milioni podataka... Za sad neka ga ovako, pa ću kasnije koristiti šifre)
Ps Količine su negativne, jer sam imao samo izlaz robe zato što sada radim samo sa Iz_fakturama,
Reći ću još da se meni kao problem javljaju i cene. Da li bi tu trebalo da se nađu Cene poslednjih proizvoda koji su ušli u naše magacine, ili prvih , ili bi trebalo da se nađe prosečna cena, kao polazne za fakturisanje
Poštovani RStevicu, posla ću Vam bazu čim završim još neke pikanterije, stekao sam Ok utisak o Vama i vašem poznavanju o aplikacijama ovog tipa,
Ps radio sam još i baze za Osiguranja, Kladionice, Raznorazne Adresare koje ubacujem u ostale baze, Bazu za praćenje članstva u određenim organizacijama (biblioteka, vido klub) a rvenstveno za Nevladinu Organizaciju koju sam pokrenuo "e-Business Club", (Uskoro će i njen sajt koji radim) Pa ako imate nešto slično, javite pa da me pošteno iskritikujete ili posavetujete. HVALA SIVMA!!!
[Ovu poruku je menjao laponac84 dana 13.07.2006. u 10:18 GMT+1]
[Ovu poruku je menjao laponac84 dana 13.07.2006. u 10:33 GMT+1]
[ rstevic @ 13.07.2006. 09:51 ] @
Imam nesto vezano za osiguranja i nesto sto sam radio za jednu nevladinu organizaciju IAN, imam neko restoransko poslovanje (tu imam veoma zanimljivo resenje gde fiskalni stampac GALEB koristim kao mrezni stampac, takvo resenje nisam jos nigde video osim ovoga koje sam pustio u rad jos pre godinu dana i ni jedna jedina intervencija do sada), sto se tice biblioteka i video klubova to nemam i nikada nisam radio pa Vam tu ne mogu mnogo pomoci.
Nemam nista protiv naravno da razmenimo iskustva a spreman sam da Vam ustupim neka gotova resenja sa kompletnim kodom koja biste mogli da postavite u svoju aplikaciju, samo naravno moram da znam da li je to kompatibilno sa onim sto Vi radite.
[ laponac84 @ 13.07.2006. 15:56 ] @
Postovani RStevicu,
Pošto nisu prošle dve nedelje kako sam na forumu šaljem Vam moj predlog ovako, a ne mejlom
Dok se Vi preselite (Srećno useljenje), ja ću pripremiti bazu za praćenje poslovanja, u dva oblika: Onako kako bi korisnik trebalo da je vidi i onako kako je ja koristim (tabele, kveriji, forme, ...).
Pa zato ostavite Vaš mejl.
Interesuje me i Vaša baza koja prati osiguranje (Ako ste videli u mom profilu, studiram ekonomiju, a smer je Banke, Osiguranja i Berze. Uskoro bi trebalo da se prijavim u Narodnu Banku Srbije da dobijem njihov sertifikat za zastupanje osiguranja, a i moj otac je zastupao Ekos osiguranje dok je ono postojalo (Auto osiguranje). Poslaću Vam i ja moju bazu pa me ocrnite ili pohvalite
Ima tu još nečeg, ali otom potom.
Moj mejl je [email protected]. ukoliko ste sumljičavi sačekajte da Vam ja pošaljem bazu.
Pozdrav i hvala
[ laponac84 @ 13.07.2006. 18:02 ] @
LJUDI GREŠKA U ŠEMI,
Radio ja na brzinu (ako me to nešto vadi)
BILOKOJE SHVATIO SAM ŠTA VAS BUNI.
Evo dobre (Ne bi trebalo da ima još koju glupost sa relacijama i ključevima)
[ Zidar @ 13.07.2006. 19:14 ] @
Ponovo je greska u semi
Imas dve tabele za fakture, [Ulazne Fakture] i [Izlazne Fakture]. Ocigledno je da on dele jednu istu tabelu za stavke na fakturi. Tu tabelu si nazvao [Stanje Proizvoda]. Fakture i Stavke na fakturi su u relaciji 1:vise, za jednu fakturu ima vise stavki. Iz ovoga sledi da za moras da razdvojis stavke. Ne mogu dve tabele [Ulazne Fakture] i [Izlazne Fakture] da dele jednu istu tabelu sa stavkama. To mozes da razresis na dva nacina:
1) da razbijes stavke na dve tabele i da radis sa dva para tabela Faktura : Stavke = 1: vise
2) da sastavis ulazne i izlazne fakture u jednu tabelu i da dodas polje TipFakture ('ulaz','izlaz')
Drugi problem je izbor Primarnog kljuca: Ovo je primarni ključ = “Iz-f ”+”Rb Fakture ” + ”Datum”
Kako ces na primer da pretrazujes tvoje fakture po datumu? Ako imas posebno polje za Datum, ne treba da ga trpas u PK. Ako nemas posebno polje za Datum, neces moci da koristis datume, sto nije dobro. Konstanta “Iz-f ” ti ne znaci nista, posto je ista za svaki rekord.
Ako razbijes tvoj PK na komponente, imaces polja ovako:
Tabel fakture:
---------------------------------
1. TipFakture ("iz-f","ul-f")
2. RB_Fakture, Long Integer
3. Datum, dateTime
4. SifraKupcaIliDobavljaca
Onda ces da kazes da je PK ili RB_Fakture, ili (TipFakture,RB_fakture). Opcija sa (TipFakture,RB_fakture) mi deluje bolje, jer ce ti dozvoliti da numerises ulazne fakture od 1 do N, i izlazne fakture od 1 do N. Naravno da mozes da ukljucis i datum u PK, u tom slucaju mozes da numerises fakture,ulazne i izlazne zasebno, od 1 do N u okviru godine. Ovo zahteva pisanje koda koji ce da izracune RB po pravilu koje usvojis.
Kad sve ovo ispricasmo o PK, ispade da ces imati nacin 2) za razresenje. Moze i drugacije, ali cini mi se da si blizi spajanju dve tabele sa fakturama u jednu.
U tom slucaju bi tabela sa stavkama izgledala recimo ovako:
Tabela Stavke_na_Fakturi:
--------------------------------
1. TipFakture ("iz-f","ul-f")
2. RB_Fakture, Long Integer
3. Datum
4. SifraProizvoda
5. Kolicina
Prva tri polja su PK iz tabele Fakture. Kolicina >=0
Onda dobijes Stanje kao jedan pogled u tvoje podatke, nekako ovako:
qryULAZ:
SELECT SifraProizvoda, SUM (Kolicina) AS Ulaz
FROM Stavke_na_Fakturi
WHERE TipFakture = "iz-f"
ROUP BY SifraProizvoda
qryIZLAZ:
SELECT SifraProizvoda, SUM (Kolicina) AS Izlaz
FROM Stavke_na_Fakturi
WHERE TipFakture = "ul-f"
ROUP BY SifraProizvoda
qryStanje:
SELECT U.SifraProizvoda, U.Ulaz, I.Izlaz
FROM qryULAZ AS U
JOIN qryIzlaz AS I ON U.sifraProizvoda = I.SifraProizvoda
Naravno, treba videti sta sa slucajevima kad imamo Ulaz i ni jedna izlaz, pa je I.Izlaz = NULL (to je vec neko objasnio prethodnih dana)
Mislim da sam ti i ja neki zemljak. Moja baba po ocu je iz Lapova, od familije Jocic
Pozdarav
[ laponac84 @ 14.07.2006. 11:01 ] @
Za Zidara
Možda smo i rod,
Poštovani zemljače - rođače, već sam jednom video na forumu da ste izložili ovaj problem, ne razumem gde ja grešim (Al moje čudo radi)
Da vam napomenem da sam samouk (rešenja sam tražio po glavi, a tek od skoro po netu)
pogledajte sledeći tabelu, koju sam ja nazvao stanje
________________________________________
Naziv proizvoda.................Stanje.........Izlaz
________________________________________
Pivo..................................800............0...... ove tri stavke su po Ulaznoj fakturi
Sok...................................500............0...... i kolonu Izlaz ne koristim na formi
Vino..................................100............0......
Pivo.................................-100..........100..... Ove tri stavke su po izlaznoj fakturi
Sok..................................-300..........300..... i kolonu izlaz koristim, stim što stanje dobijam kao
Vino...................................-99..........99...... Izlaz * (-1) posle "on lost focus" u subformi Izlazne fakture
Evo što to radim ovako:
Ovim stvarno nemam nameru da Vas vređam, to je stvarno bilo tako, a ja sam na osnovu toga dobio ideju.
Samo se nadam da JA NISAM OSTAO NA NIVOU 5. RAZREDA
U 5. razredu nas je profesorka Danijel učia "Kad je ispred zagrade znak više zagrada se briše"
Pa kaže:
Pivo = 800 + (-100) = 700
Sok = 500 + (-300) = 200
Vino = 100+ (-99) = 1
Za pregled stanja po artiklima, grupišem po nazivu, a stanje mi je sum.
Pogledajte sada kveri Stanje svih artikala
_______________________________
Naziv proizvoda.................Stanje
_______________________________
Pivo................................700 kom
Sok.................................200 kom
Vino..................................1..Kom
_______________________________
Dakle nigde nule, i problem sa nulom
Na isti način rešavam i magacine, i zato držim sve u jednoj tabeli
Datum sa stavio u primarni ključ (samo u šemi) to je predlog mog druga sa faksa (objašnjavao mi je da će mi kasnije trebati za glavnu knjigu), pošteno ne znam ni kako bi ga ubacio tu jer ne znam date tip podataka da prebacim u tekst.
Rešenje sa jednom tabelom faktura, je dobro i radilo je, i nega sam koristio (otuda taj status koji sada ničemu ne služi)
a prešao sam na dve (Sinoć sam ustanovio da to nije dobro jer više ne mogu da upisujem fakture) da bi rešio problem sa knjigom ulaznih, i knigom izlaznih faktura.
Molim Vas javite gde grešim što se tiče stanja, jer nisam naiša baš "na toplu dobrodošlicu" na jednom od pitanja na forumu kada sam hteo da prokomentarišem.
Unapred havala
[ darkog @ 14.07.2006. 13:10 ] @
Do sada sam u bazi koju sam pravio sa firmu moga oca koristio za fakturisanje dve forme,
jednu na kojoj sam mogao videti stanje artikala u magacinu, a drugu na kojoj sam unosio stavke u izlaznu fakturu,
Da li je moguće da se to izvede preko jedne forme na kojoj je prikazana jedna tabela ili na neki drugi ali jednostavniji i prihvatljiviji način
Ja sam ovo resio na jednoj formi (sa imenom otprema) : prva stavka u stavkama racuna (nalazi se u podobrascu otpreme) je kombo box iz kojeg korisnik bira proizvod. kada se klikne na combo (proizvod) otvara se padajuca lista sa vise kolona od kojih je jedna stanje, a prikazuje trenutnu kolicinu robe u magacinu. Ako si na to mislio probaj tako
[ Zidar @ 14.07.2006. 14:14 ] @
Nema ljutnje i niko ne treba da se oseca uvredjenim ili povredjenim.
Problem je sto izgleda da mesas zabe i babe. Imas tabelu koju zoves Stanje. U toj tabeli imas polje koje zoves Stanje. U polje Stanje upisujes Ulaz kolicinu koja je usla u magacin. U nekim od redova ti se naprasno Stanje pojavljuje kao negativan broj. Pa se onda pojavi kveri Stanje. Na sta u stvari mislis kad izgovoris rec Stanje?
Stanje je rezultat brojanja artikala u magacinu. Moze se dobiti i sabiranjem svih ulaza pa osduzimanjem svih izlaza, ukoliko je vodjena evidencija. A ljudi zato i vode evidenciju, da ne bi morali da broje po magacinu. Iz ovoga sledi da je Stanje = Sum(Ulaz) - SUM(Izlaz). Znaci, Stanje je neka kalkulacija, ili brojanje. Rezultat racunanja ili brojanja ne moze biti tabela. To sto ti zoves 'tabela Stanje' strasno lici na Excel list, ako sto je lepo Pera primetio. Baze podataka se ne prave tako sto se Excel listovi na silu uguraju u Access. U jednom momentu se ucini da sve radi, ali onda zapne i ti se nadjes na forumu pitajuci 'a sta ne valja' i onda ti neko na kraju odgovori - ne valja nista u dizajnu baze i nema resenja. Onda te to uvredi ili pogodi, sto nije dobro.
Ako ti je drugar sa fakulteta savetovao da onako napravis PK, on ce da padne na ispitu iz projektovanja baza podataka (database design). Ako je drugar na fakultetu na kome se ne uci dizajn baza podataka, preporucujem da ne slusas njegove savete uvezi sa izborom Primary Key.
U procesu koji pokusavas da modeliras (poslovanje trgovacke radnje?) imas neke podatke koji dolaze iz stvarnog sveta. Podaci koji su ti na raspolaganju su : roba (naziv robe ili sifra), kolicina, vrsta transakcije (ulaz ili izlaz). Tu su jos i dokumenti - ulazne i izlazne fakture. Evidentiranje ili knjigovodstvo je ljudska aktivnost koja belezi nabrojane informacije. Posto su kompjuteri kao bolji od ljudi u vodjenju evidencije, mi onda pravimo baze podataka da nam u tome pomognu. Baze podataka sdrze tabele. tabele postoje za NESTO o cemo se skupljaju podaci. To NESTO su transakcije - ulazi i izlazi robe, i dokumenti - fakture. Svaka tabela ima svoje kolone, u koje se upisuju osobine tabela. posmatranjem onoga sto imas - proces i dokumenti - mozes da zakjlucis u kakvoj vezi oni stoje medjusobno i iz toga sledi dizajn baze podataka = tabela, kolone i njihove veze. Onda iz tabela izvalcis brojanja i proracune. Kad ovo shvatis i prihvatis, ond mozemo da pricamo.
Lepo je sto si na ideju nadosao razmisljanjem, ali ne bi skodilo da malo dodas i ucenja, ili da te neko uputi u stvari. Kurs, skola, privatni casovi, knjige, internet - to su izvori koji ti mogu pomoci da nesto naucis. Ocigledno je da pameti imas. Greota bi bilo da zastranis i naucis nesto totalno pogresno. Znas kako kazu, 'bolje biti glup nego krivo pametan'. Ti imas talenta za razumevanje ovih stvari ali si na ozbiljnom putu da neke stvari potpuno pogresno usvojis.
Ne ljuti se sto ovako govorim, nije zla namera. Izlozio si svoju ideju i manje vise smo ti rekli 'nije dobro', Sad pokusavas da nas ubedis da je ipak dobro, jer radi. Ako je tako, neka ti je srecan rad, nemamo sta da ti kazemo, sve i onako radi. (Da li bas sve?)
Srecan rad,
:-)
[ darkog @ 14.07.2006. 15:17 ] @
Ne znam da li je Zidar na mene mislio kad je pisao odgovor, ali u svakom slucaju nema ljutnje jer mi je pomogao dosta puta.
Ne postoji tabela stanje niti istoimeni atribut u nekoj od mojih tabeli. Postoje samo upiti Ulaz, Izlaz i Stanje.
Ulaz:
SELECT tblPrijemDetalji1.ProizvodID2, Sum(tblPrijemDetalji1.kolicina) AS Ulaz
FROM tblProizvodi1 INNER JOIN (tblPrijem1 INNER JOIN tblPrijemDetalji1 ON tblPrijem1.PrijemID = tblPrijemDetalji1.PrijemID) ON tblProizvodi1.proizvodID = tblPrijemDetalji1.ProizvodID2
GROUP BY tblPrijemDetalji1.ProizvodID2;
Izlaz:
SELECT tblOtpremaDetaljiProizvodi.ProizvodID2, Sum(tblOtpremaDetaljiProizvodi.kolicina) AS Izlaz
FROM tblProizvodi1 INNER JOIN (tblOtprema1 INNER JOIN tblOtpremaDetaljiProizvodi ON tblOtprema1.OtpremaID=tblOtpremaDetaljiProizvodi.OtpremaID2) ON tblProizvodi1.proizvodID=tblOtpremaDetaljiProizvodi.ProizvodID2
GROUP BY tblOtpremaDetaljiProizvodi.ProizvodID2;
Stanje:
SELECT tblProizvodi1.proizvodID, tblProizvodi1.naziv_proizv, tblProizvodi1.unitprice, nz(QryUlaz.Ulaz,0) AS Ulaz, nz(QryIzlaz.Izlaz,0) AS Izlaz, Sum(Ulaz)-(Izlaz) AS Stanje, tblProizvodi1.opis
FROM (tblProizvodi1 LEFT JOIN QryUlaz ON tblProizvodi1.proizvodID = QryUlaz.ProizvodID2) LEFT JOIN QryIzlaz ON tblProizvodi1.proizvodID = QryIzlaz.ProizvodID2
GROUP BY tblProizvodi1.proizvodID, tblProizvodi1.naziv_proizv, tblProizvodi1.unitprice, nz(QryUlaz.Ulaz,0), nz(QryIzlaz.Izlaz,0), tblProizvodi1.opis;
A onda u obrascu Otprema na kombo box proizvoda sledi kod:
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim sngStanje As Single
Dim sngKolicina As Single
sngKolicina = Me!kolicina
sngStanje = DLookup("Stanje", "QryStanje", "ProizvodID=" & Me.ProizvodID2)
If (sngStanje - sngKolicina) < 0 Then
Cancel = True
MsgBox "Uneli ste vecu kolicinu robe nego sto ima u magacinu!", vbOKOnly, "Upozorenje!"
Exit Sub
End If
End Sub
Iz upita Stanje uzimam vrednost i postavljam je u jednu od kolona kombo boxa (qryStanje.Column(5)) Proizvod na podobrascu otpremnice. I tako korisnik ima uvid u stanje odredjenog artikla kada klikne na kombo box, a sve je to jednom obrascu.
[ goranvuc @ 14.07.2006. 16:18 ] @
U tvom upitu za stanje:
Code:
SELECT tblProizvodi1.proizvodID, tblProizvodi1.naziv_proizv, tblProizvodi1.unitprice, nz(QryUlaz.Ulaz,0) AS Ulaz, nz(QryIzlaz.Izlaz,0) AS Izlaz, Sum(Ulaz)-(Izlaz) AS Stanje, tblProizvodi1.opis
FROM (tblProizvodi1 LEFT JOIN QryUlaz ON tblProizvodi1.proizvodID = QryUlaz.ProizvodID2) LEFT JOIN QryIzlaz ON tblProizvodi1.proizvodID = QryIzlaz.ProizvodID2
GROUP BY tblProizvodi1.proizvodID, tblProizvodi1.naziv_proizv, tblProizvodi1.unitprice, nz(QryUlaz.Ulaz,0), nz(QryIzlaz.Izlaz,0), tblProizvodi1.opis;
koristis agregaciju - zasto?
Zar nije dovoljno:
Code:
SELECT tblProizvodi1.proizvodID, tblProizvodi1.naziv_proizv, tblProizvodi1.unitprice, nz(QryUlaz.Ulaz,0) AS Ulaz, nz(QryIzlaz.Izlaz,0) AS Izlaz, (Ulaz-Izlaz) AS Stanje, tblProizvodi1.opis
FROM (tblProizvodi1 LEFT JOIN QryUlaz ON tblProizvodi1.proizvodID = QryUlaz.ProizvodID2) LEFT JOIN QryIzlaz ON tblProizvodi1.proizvodID = QryIzlaz.ProizvodID2
zato sto ti i QryUlaz i QryIzlaz vracaju samo po jednu vrednost za svaki od artikala iz tblProizvodi1!
[ laponac84 @ 14.07.2006. 17:56 ] @
Evo jedan razlog što je ovo najbolji forum na ovu temu (akses)
Nisam Vam napomenuo da je nastavnica danijela udarala čvrge (ne jako, onako simboličnu) kada neko radi naopako, kako kaže ona da ne ustaje ponovo, jer zna da nećemo pograšiti sledeći put (setićemo se čvrge) (Imao sam stalno 5 na kraju godine, čvrge nisam brojao.)
Tako i Vi radi te, Pomogli ste mi sigurno, i Hvala. Ni jednog momenta se nisam našao uvređenim
Prvog momenta kada su mi predložili radove Zidara za proučiti, nisam sedeo skrštenih ruku, već pogledao o čemu piše, i tako napravio bazu. (sada na HDD-u imam dve i upoređujem ih)
Kažu: "Ćutanje je zlato". Šta mislite da li bi se ja obogatio (znanjem) da sam ćutao i da se nisam registrovao na ovaj
forum.
2 problem koja sam imao pomogli (napredno fakturisanje, Yes/no problem), ste mi i nema ih, ostao je još jedan prijavljen (problem stanja na karticama) i još mnogo neprijavljenih (neke od njih ste vi otkrili pre mene, i ponudili mi rešemje).
Trudio sam se da isprovociram (u pozitivnom smislu) što veći broj Vas, u želji da čujem što više mišljenja, Izgleda da sam u velikoj meri i uspeo, jer su se bolji javili
Imam još što šta da kažem, ali nedostaje mi vremena. (javi ću Vam u dopuni)
Obećavam Vam sledeće:
Do početka priprema za ispitni rok (u međuvremenu imam pripreme sa rukometnim klubom) stavi ću obe baze na forum, a onda lupajte čvrge, koristiće.
Pozdrav i hvala!!!
[ Zidar @ 14.07.2006. 19:05 ] @
Za Darkog - nisam mislio na tebe :-) Tvoj pristup je principijeno OK. Govorio sam o poslednjem modelu koji je dao laponac84.
Laponac84: srecan rad i samo guraj, sve ce kockice da se sloze na kraju bas kako teba. Samo polako, i napred.
:-)
[ laponac84 @ 18.07.2006. 22:36 ] @
Pozdrav svima koje sam gnjavio. (Uplatio vreme za net)
Obe baze napreduju ok.
Ima tu mnogo grešaka koje ja svesno pravim na početku kreiranja baze (ne dajem pravilne nazive tabela, upita, ... o kojima sam čitao u VB4 od Debore K. korišćenja brojeva za PK u tabelama...) a na kraju ih ispravim.
A neke stvari mi nisu jasne
Da ne otvaram još jednu temu samo kratko,
Zašto moj rad toliko liči na exel? Bio bih Vam zahvalan za odgovor. (bez ikakve zafrkancije)
Jeste da sam prikazivao tabele na forum, koje su tamo urađene (u exelu), bilo mi je lakše. To je jedino što ja povezujem sa njim.
Evo upita (sve ih pravim preko wizarda jer se još uvek slabo snalazim "ručno", iako sam skoro nabavio neku literaturu o vezanu za SQL)
SELECT [Stanje proizvoda].[Naziv Proizvoda], [Stanje proizvoda].JM, Sum([Stanje proizvoda].Stanje) AS SumOfStanje
FROM [Stanje proizvoda]
GROUP BY [Stanje proizvoda].[Naziv Proizvoda], [Stanje proizvoda].JM;
Za rezultat imamo Lager koji je prikačen na strani br1 ovog pitanja (Napomenuo sam da su negativne količine zato što su unošene samo izlazne fakture)
E sad da se vratim na temu:
Kada ste mi dali rešenje, "seo sam za pisaću mašinu" i uradio traženo, samo što sam opet izveo malu egzibiciju.
Ako se desi (već pomenuto) da je unet veći izlaz nego što to stanje na lageru dozvoljava, namestio sam sledeće, čuje se zvuk (bip), i polje u kome je došlo do greške promeni boju (crvena). Dalji rad će biti omogućen samo što će pre zatvaranja forme iskočiti informacija "Proveri te količine koje ste uneli"; ili nešto što lepše zvuči . (gledao sam kako u veleprodajama unose artikle gotovo bez gledanja u monitior, pa bi po meni došlo ponekad do kucanja u prazno)
E sada, voleo bih da znam da li je bolje da koristim primer koji ja koristim, ili onaj sa MsgBoxom.
Ovim bi pitanjem konačno saznao sve što me interesuje vezano za ovu temu
Hvala svima!!!
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|