[ Goraan @ 08.09.2007. 19:58 ] @
| Da li mi iko moze reci kako da SELECT QUERY odradi posao u pozadini (kao ACTION QUERY), da mi se ne otvara, jer mi u tom slucaju uradi restore trenutno aktivne forme? Ako je odgovor da ga trebam prevesti u ACTION QUERY potrebno mi je da dobijem isti rezultat?? A mozda ima i nacin da sprecim restore??
SELECT StanjeO.a, Sum(StanjeO.Prodato) AS Prodato
FROM StanjeO
GROUP BY StanjeO.a;
Unapred hvala! |
[ Getsbi @ 09.09.2007. 06:28 ] @
Može iz VBA koda. Select query ionako ne može da se izvrši iz koda kao akcioni query-ji jer je to samo specifičan pogled na podatke. Na formi postavi dugme i u OnClick događaj sledeći kod.
Code: Private Sub Command0_Click()
Dim Baza As Database
Dim SQLizraz As String
Dim Stanje As Recordset
Set Baza = CurrentDb()
SQLizraz = "SELECT StanjeO.a, Sum(StanjeO.a) AS SumOfa FROM StanjeO GROUP BY StanjeO.a"
Set Stanje = Baza.OpenRecordset(SQLizraz, dbOpenDynaset)
'
'
' i sad imaš set izfiltriranih podataka sa kojima nešto možeš da radiš
'
'
End Sub
Pitanje je samo šta želiš da radiš sa time.
[ Goraan @ 10.09.2007. 11:29 ] @
Izvinjavam se na kasnjenu odgovora!
Ja zapravo imam tabele: StanjeO i StanjeB.
U tabeli StanjeO imam artikle koji imaju Klonu "a" i kolonu "Prodato".... Kolona "Prodato" je kolona u kojoj pise koliko je artikala prodato tog dana (recimo kafa "23" a mleko "12"), dok u koloni "a" stoje brojevi koje te artikle grupisu po potrebi.
NA PRIMER: Kafa i Mleko imaju u koloni "a" isti broj, recimo "2". Tako da ce u tabeli StanjeB u redu gde je "a" takodje "2", a naziv artikla "kafa-mleko" preci zbir te dve prodate kolicine. Odnosno broj "35" i tako dalje za sve potrebne artikle.
Ja sam to radio tako sto mi select query koji sam pomenuo dobije te rezultate, a zatim sa MAKE TABLE napravim tabelu i tu smestim taj rezultat pa sa UPDATE querijem to prebacujem u kolonu StanjeB. To fino radi i jedini poblem mi je taj RESTORE forme i otvaranje SELECT querija..
Dakle:
1. SELECT StanjeO.a, Sum(StanjeO.Prodato) AS Prodato
FROM StanjeO
GROUP BY StanjeO.a;
2. SELECT * INTO a
FROM [StanjeO Query];
3. UPDATE a, StanjeB SET StanjeB.Prodato = a.Prodato+0
WHERE ((a!a)=StanjeB!a) AND ((StanjeB!a)>0);
Unapred hvala na pomoci...
[Ovu poruku je menjao Goraan dana 10.09.2007. u 13:36 GMT+1]
[ Getsbi @ 10.09.2007. 21:27 ] @
Ako podacima iz tabele StanjeO treba da ažuriraš tabelu StanjeB tako što se podaci iz prve tabele sumiraju po polju "Prodato" i grupišu po polju "a", onda mogu da ti napišem kod koji ćeš pokretati na OnClick nekog dugmeta. Neće biti Query-ja koji se otvaraju pa ni osvežavanja forme. Pošto predpostavljam da su to dnevna ažuriranja verovatno bi nakon toga u kodu trebalo isprazniti tabelu StanjeO. Da li ti to odgovara?
[ Goraan @ 11.09.2007. 12:31 ] @
Da takav kod bi bio savrsen, stim sto se nuliranje tabele StanjeO radi tek kada to oni pozele i to sam odradio da se desava prilikom zakljucivanja stanja na kraju dana (Nuliraju se sve tabele koje vode legal i nelegal stanja pa tako i StanjeO). Sve sto je potrebno je stalno azurirana tabela StanjeB, odnosno da code (koji si pomenuo) ne radi na click nekog dugmeta vec na recimo ONLOAD ili OPEN forme DnevnoStanjeB (odnosno forme koja prikazuje tabelu StanjeB). Uh sad sam zakomplikovao... UKRATKO!!! Da to je bas ono sto sam pokusavao ali nisam znao uraditi, samo bez nuliranja StanjeO tabele..
Hvalaaa!
[ Getsbi @ 11.09.2007. 13:58 ] @
Večeras ću imati više vremena.
[ Goraan @ 11.09.2007. 14:19 ] @
Nema zurbe, ja sam po obicaju nasao pesacko resenje za svoj problem :) ali svako konplikovanje nosi svoje nedostatke... Muci me nedovoljno kapiranje matematike i nedovoljno razumevanje kodiranja, pa mi je sve ovo jedan ubrzani kurs i veoma mi znaci pomoc... Hvala...! Cujemo se veceras..
[ Getsbi @ 11.09.2007. 17:12 ] @
Ajde da počnemo. Zakači jedan .mdb sa tabelama StanjeO i SatnjeB i nešto podataka da ne lutam oko tipa podataka, mada pretpostavljam da su Numeric, Integer. Takođe mi u par rečenica opiši uslov ažuriranja (matematika rečima) pošto mi je onaj treći query malo nejasan.
[ Goraan @ 11.09.2007. 19:05 ] @
E ovako stoje stvari:
Tabela StanjeO sadrzi artikle potpuno razdvojene (odvojeno: fanta orange, coca cola, djus i td) u tabeli StanjeB ti artikli su sabrani u gupu (prirodni sokovi). Ja sam u tabeli StanjeO dodao jos jednu kolonu "a" u kojoj sam svim priodnim sokovima dao broj 31, a u tabeli StanjeB takodje stavci (prirodni sokovi) u koloni "a" dodelio isti broj 31. Znaci prodate kolicine iz tabele StanjeO se trebaju naci u tabeli StanjeB sabrane prema broju iz kolone "a". Isto to na isti nacin radim i za ulaz, koji se pojedinacno za svaki artikal unosi u StanjeO, a u Stanju B je prikazan sabran za sve artikle istog tipa.
Ja sam to resio pesacki sa ona tri kverija..
SELECT QUERY - Mi prikaze izabrane podatke, grupisane iz tabele StanjeO
MAKE TABLE QUERY - Napravi tabelu sa istim prikazom podataka Prodato i Ulaz (Sabrano prema vrednosti iz "a")
UPDATE QUERY - Preseli te podatke u StanjeB
Zasto treci kveri?
StanjeB sadrzi pored prodate kolicine i ulaza jos knjigovodstvenih stavki koje se zasebno sracunavaju i dolaze iz drugih izvora (hrana-svega-ostalo i td)
Evo i primera - Nadam se da te nece zbuniti sve ovo
Pozdrav
Malo sam zakomplikovao, jel da... osecam :)
[Ovu poruku je menjao Goraan dana 11.09.2007. u 20:18 GMT+1]
[ Getsbi @ 11.09.2007. 19:24 ] @
Zakačio si samo tabelu "a", onu koju napravi MakeTable query. A trebaju mi početana StanjeO i ciljna StanjeB.
Ili da ja napravim svoje viđenje pa ti onda daj primedbe ?
[ Goraan @ 11.09.2007. 20:56 ] @
Izvinim skrivene su cekiraj UNHIDE....!
[ Getsbi @ 11.09.2007. 20:59 ] @
Evo ovako sam ja video problem i rešenje. Tabela StanjeB je u početku prazna. Kad napuniš tabelu StanjeA pokreneš ažuriranje u Form1. Ako se prvi put javlja nova šifra (a) u tabeli StanjeB onda se dodaje novi slog. Ako šifra već postoji u tabeli StanjeB onda se povećava polje (prodato) za vrednost iz tabele StanjeO.
Ovo je samo prva varijanta. Pogledaj i daj primedbe kako bi smo usaglasili rešenje.
To što je na komand dugme nemoj da te brine, lako ćemo to strpati u odgovarajući događaj.
Sad je gotovo sa UNHIDE. Ja sam već izgubio nadu i uradio svoju varijantu.
Stavi sam da je prodato double jer ti je tako u tabeli a. Ali to će se lako prepraviti. Istestiraj ovo moje pa ću onda da ažuriram tvoj fajl.
[ Goraan @ 11.09.2007. 21:22 ] @
Ok, resenje smo dobili! Smestio sam ga gde treba i radi savrseno. Sad cu ja da pokusam da u potpunosti skapiram sta si uradio i da resenje prosirim za azuriranje ulaza... Javljam rezultat!
Cujemo se..
[ Goraan @ 11.09.2007. 22:04 ] @
Kad je ovako sazvakano sve izgleda lako! Cesto mi je zao sto nisam isao u skolu za ovako kreativne stvarcice..
Kod sam malo izmenio, je mi ne treba sabiranje svaki put kad azuriram StanjeB i dodao sam polje ulaz u obe tabele kao i u kod. To je to sto me je zanimalo, imam kompletno resenje za ovaj a mislim i za gomilu drugih rezultata koje dobijam zaobilaznim putevima.... Ne znam kako da se zahvalim! Pozdrav
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|