Poslao: 23 Sep 2003 00:12
|
offline
- darkop
- Novi MyCity građanin
- Pridružio: 20 Maj 2003
- Poruke: 6
|
Imam rekoreset sa kolonama ID, A,B,C,D,E... i proceduru koja ispituje jedan po jedan zapis po nekom uslovu npr. "A>B".
Problem je sledeci:Imam vise uslova koje bih ja zeleo da menjam npr. A>B, B<A AND C>D, C<=F...,pa sam i te uslove sacuvao u bazi kao string sto mi olaksava dodavanje novih uslova.
Problem je sto ne mogu taj string (uslov) da ubacim u petlju "If 'A>B' Then".
Jedno resenje mi je da napravim Qwery sa kolonama za svaki od uslova unapred as boolean, pa da samo menjam kolonu koju ispitujem (uslov=rs("A>B")), ali to mi otezava dodavanje eventualnih novih uslova.
Postoji li nacin da u toku izvrsenja u tabelu dodam novu kolonu, tj. uslov koja vraca True ili False.Treba mi sto fleksibilnije resenje.
Znaci ne treba mi da isfiltrira samo one zapise koji ispunjavaju uslov, vec sve (bitni su mi i oni koji ne ispunjavaju uslov).Ima li ko ideju kako da stringove koje cuvam ubacim u petlju ili cu morati da predvidim sve uslove unapred?
Radim sa VB6 i ADO.Baza je u Access-u.
PS.
Kako da odsecam poslednjih ili prvih n zapisa u RS sa sto manje "petljanja"?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
|
Poslao: 24 Sep 2003 11:41
|
offline
- snoop
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
hmmm neverujem da mozes da stavis vrednost recordset-a kao uslov u petljama ili if naredbama, ali mozda je i moguce, ali na neki drugi nacin...
probaj nekako da ispitujes sve te uslove u jednoj f-ji koja ce vracati true ili false, a unutar funkcije ce se nalaziti taj recordset i ako je u f-ji zadovoljen uslov f-ja ce vratiti true i u glavnom if ili sta je vec ce biti true i procice dalje...
|
|
|
|
Poslao: 24 Sep 2003 12:38
|
offline
- Pridružio: 18 Apr 2003
- Poruke: 1819
- Gde živiš: Beograd
|
snoop ::hmmm ne verujem da mozes da stavis vrednost recordset-a kao uslov u petljama ili if naredbama, ali mozda je i moguce, ali na neki drugi nacin...
pa naravno da ne moze vrednost celog recordseta,vec samo nekog odredjenog polja iz recordseta...
|
|
|
|
Poslao: 25 Sep 2003 14:42
|
offline
- Pridružio: 16 Jun 2003
- Poruke: 240
|
Na primer:
Imas 3 moguca uslova:
A<B neka bude 0
A>B neka bude 1
A=B neka bude 2
switch(uslov)
case 1: if A<B bla bla
case 2: if A>B bla bla
case 3: if A=B bla bla
end
Nadam se da razumes poentu.
Koliko ja znam ne mozes da upacis string u petlju.
Ako koristis funkciju koja vraca boolean onda ces morati u funkciji da
parsas string i na osnovu stringa da das uslov -> previse kompliciranja.
U mojoj varijanti pa moras samo da promenis Switch.
P.S. Mozda koda nije bas BASIC, samo mislim da je razumljiva.
|
|
|
|
Poslao: 25 Sep 2003 14:53
|
offline
- Pridružio: 16 Jun 2003
- Poruke: 240
|
Zaboravio sam nesto:
(Moras da imas u tabeli neki ID koji je AutoNumber)
Prvih n zapisa ako je prvi ID 1:
SELECT * FROM nekaTabela WHERE ID<=n;
zadnjih n zapisa:
prvo procitas zadnje polje (baza.Last) da bi doso do ID-ja, a posle:
SELECT * FROM nekaTabela WHERE ID>=procitaniID-n;
Mislim da brze od toga ne moze.
|
|
|
|