Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Access query i ADO

[es] :: Visual Basic 6 :: Access query i ADO

[ Pregleda: 3076 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.telekom.yu



+104 Profil

icon Access query i ADO14.09.2004. u 20:29 - pre 238 meseci
Prepravljam jedan program da koristi ADO 2.6 umesto DAO 3.6 i sad imam problem. Pri otvaranju jednog query-a ADO mi prijavljuje ovu gresku
Citat:
You tried to execute a query that does not include the specified expression 'DateDiff("n",[datum],Now())' as part of an aggregate function.


Kod sa kojim pokusavam da otvorim query je sledeci:
Code:
rcSet.Open "Select * from quSySK where razlika<0 order by razlika", Base, adOpenStatic, adLockReadOnly


Napominjem da je sve radilo pod DAO kontrolom i da ovaj query radi kad ga startujem iz Access-a.

Usput imao sam problem pri otvaranju tabele sa nazivom "Zone". Nikako nije hteo da otvori tu tabelu i uspeo sam tako sto sam promenio naziv tabele u "tblZone". Zasto se ovo desilo?
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

mladenovicz
Zeljko Mladenovic
Xoran Technologies, Inc., Ann Arbor, MI,
USA / Software Engineer
Ann Arbor, MI, USA

Član broj: 6598
Poruke: 2065
*.bg.wifi.vline.verat.net

Jabber: mladenovicz@elitesecurity.org
ICQ: 95144142
Sajt: yubc.net/~mz


Profil

icon Re: Access query i ADO15.09.2004. u 09:31 - pre 238 meseci
A gde ti je DateDiff("n",[datum],Now()) u ovom upitu?

EDIT: Verovatno je razlika taj DateDiff
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.scnet.yu



+104 Profil

icon Re: Access query i ADO15.09.2004. u 10:37 - pre 238 meseci
OK evo ga ceo upit, ali opet napominjem da u Access-u RADI, kao i sa DAO
Code:
SELECT Max([Istorija].[Datum]+[Istorija].[Vreme]) AS Datum, DateDiff("n",[datum],Now()) AS Minuta, ([Objekti].[SySKontrolaDan]*24*60-10-minuta) AS Razlika, Istorija.PanelID, Last(Istorija.TipDogadjaja) AS Tip, Last(Istorija.ID) AS ID, Objekti.Obrisan, Objekti.SysKontrola, Objekti.Aktiv, Objekti.Naziv, Last(Istorija.Dogadjaj) AS Dogadjaj, Objekti.SySKontrolaDan, Objekti.ID AS IDObjekta
FROM Istorija INNER JOIN Objekti ON Istorija.PanelID = Objekti.PanelID
GROUP BY Istorija.PanelID, Objekti.Obrisan, Objekti.SysKontrola, Objekti.Aktiv, Objekti.Naziv, Objekti.SySKontrolaDan, Objekti.ID
HAVING (((Objekti.Obrisan)=0) AND ((Objekti.SysKontrola)=1) AND ((Objekti.Aktiv)=1));

Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Access query i ADO15.09.2004. u 14:21 - pre 238 meseci
Tvoj kveri ne izgleda dobro, sintaksno nije potpuno ispravan. Imas
SELECT ..... Objekti.Obrisan, Objekti.SysKontrola, Objekti.Aktiv .....
FROM .....
GROUP BY ..... Objekti.Obrisan, Objekti.SysKontrola, Objekti.Aktiv .....
HAVING Objekti.Obrisan=1 AND Objekti.SysKontrola=1 AND Objekti.Aktiv=1

To ne bi tebalo tako, i ako ti radi u Accessu to je slucajno i rezultat nekog buga ili nedoslednosti Accessa u pracenj SQL standarda. ADO je verovatno stroziji nego DAO u proveravanju SQL sintakse.
HAVING moze da ide samo za ona polja koja se nalaze u nekoj agragatnoj funkciji za GROUP BY (SUM, COUNT, MAX, MIN...), a koje ti nemas u kveriju. Probaj da napises nesto kao:

SELECT ..... Objekti.Obrisan, Objekti.SysKontrola, Objekti.Aktiv .....
FROM .....
WHERE Objekti.Obrisan=1 AND Objekti.SysKontrola=1 AND Objekti.Aktiv=1
GROUP BY ..... Objekti.Obrisan, Objekti.SysKontrola, Objekti.Aktiv .....

:-)
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.telekom.yu



+104 Profil

icon Re: Access query i ADO15.09.2004. u 16:01 - pre 238 meseci
Pa ni ovo nisam ja pisao vec sam napravio u Query Wizardu, a Access je sam napisao sta treba Probao sam tvoj primer i u Access-u je odradio lepo, ali ADO opet prijavljuje gresku ;(
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Access query i ADO16.09.2004. u 13:55 - pre 238 meseci
Probaj neki mnogo prostiji, obican SELECT kveri koji upotrebljava DateDiff ffunkciju i vidi sta ce da bude.

A to sto si upotrebio kveri wizard ne znaci da je kveri automatski dobar. Ako si samo u Criteria polje upisao jedinice na tri mesta, wizzard je pretvorio to u HAVING. Medjutim, postavljanje kriterijuma u Group By kveriju ne radi se tako, nego se iz Group By combo boxa (tamo gde visis izbor SUM, COUNT, MIN, MAX, GROUP BY itd) izabere WHERE. WHERE se nazalost ne vidi odmah kad se kombo otvori, nalazi se na dnu liste i mora da se skroluje do tamo. To sto ti kveri radi u Accessu, to je rezultat lose implementacije SQL standarda, il drugim recima to je BUG u Accessu kojiti dozvoljava da napises los kveri i da to radi.

Drugo ne znam.

:-)
 
Odgovor na temu

[es] :: Visual Basic 6 :: Access query i ADO

[ Pregleda: 3076 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.