[ michael2007 @ 23.10.2007. 18:10 ] @
U tablici TABLE imam slijedeca polja BROJ,DODATAK,GLAVNO
22 120 1
76 80 1
21 121 2

Sada bih trebao izabrati BROJ gdje je DODATAK najveci ali samo iz GLAVNO
zadano sa Combo1.TEXT (recimo sa Combo1 zadan 1, ja moram izvuci najveci od DODATAK (u ovom slucaju 120), znaci red 22,120,1 izvlacim i on mi je bitan).

Pokusao sam na ovaj nacin, ali ne radi, izbacuje gresku da je .BOF ili .EOF
true:
Code:

"SELECT BROJ,DODATAK FROM TABLE1 WHERE GLAVNO LIKE '%" & Combo1.Text & "%' 
AND DODATAK IN (SELECT Max(DODATAK) FROM Table1)"

Nadam se da sam suvislo objasnio.

Zahvaljujem na pomoci.

[Ovu poruku je menjao Aleksandar Ružičić dana 23.10.2007. u 22:07 GMT+1]
[ steve585 @ 23.10.2007. 19:07 ] @
daj postavi VB kod
[ steve585 @ 23.10.2007. 19:49 ] @
Poruku javlja zato sto je rezultat nula redova. odaberi 2 u Combu i imati ces rezultat.

Opcija za rjesenje:
Doradi SQL upit.
[ michael2007 @ 23.10.2007. 20:44 ] @
Ne znam kako da doradim upit, pokusao sam svakakve nacine ali nista.
Treba mi znaci ovo:
Ako zadam sa Combo1.Text recimo broj 1 (koje se nalazi u GLAVNO) da pronadje u kojem je redu najveci broj u DODATAK i da mi taj red izvuce iz baze. U ovom mom slucaju to bi bio red 22 ,120, 1 (jer je uzimano u obzir samo red prvi i drugi koji su u GLAVNO 1).
Nadam se da sam dobro objasnio.
Pozdrav!

Kod:
Code:

conn.CursorLocation = adUseClient
szSQL = "SELECT Glavno, Dodatak, Broj FROM table1 WHERE Glavno = '%" & Trim(Combo1.Text) & "%' AND Dodatak IN (SELECT Max(Dodatak) FROM table1)"
Set rs = New ADODB.Recordset
rs.Open szSQL, conn, adOpenStatic, adLockOptimistic, adCmdText


[Ovu poruku je menjao Aleksandar Ružičić dana 23.10.2007. u 22:05 GMT+1]
[ vbbojan @ 23.10.2007. 22:00 ] @
Evo rešenja nedostaje ti jos samo da ogranicis select maksimalne vrednosti na glavno = 1
Code:

strSQL = "SELECT test.broj, test.dodatak, test.glavno " & _
             "FROM   test " & _
             "WHERE  dodatak = " & _
             "(SELECT MAX(dodatak) AS maksimum FROM test WHERE glavno = '" & combo1.text & "') " & _
             "AND glavno = '" & combo1.text & "'"


Pozdrav


[Ovu poruku je menjao vbbojan dana 23.10.2007. u 23:13 GMT+1]
[ michael2007 @ 23.10.2007. 22:44 ] @
Hvala na trudu vbbojan ali ovaj primjer mi ne radi.
Radim u Visual Basicu 6 i baza je ADO ako je to bitno. Totalni sam početnik u bazama, pa mi je evo svaka pomoć dobrodošla.
[ michael2007 @ 23.10.2007. 23:16 ] @
Hvala Bojane do neba. Uspjelo mi je, riješio sam problem evo nakon 3 dana pokušavanja.
Iskreno se zahvaljujem na pravoj pomoći.
Preuredio sam ovaj tvoj kod pa sad izgleda ovako (i radi super):

Code:
SELECT Broj, Dodatak, Glavno FROM table1 WHERE Dodatak = (SELECT Max(Dodatak) FROM table1 WHERE Glavno = '" & Trim(Combo2.Text) & "') AND Glavno = '" & Trim(Combo2.Text) & "'


Hajd molim te potvrdi još samo jel mi ovaj kod u redu da ne bih imao poslije problema.

[ vbbojan @ 24.10.2007. 08:51 ] @
Neznam sta u stvari taj tvoj program treba da radi,
konkretan problem je resen, ali treba naravno gledati
i unapred, jedan od potencijalnih problema moze biti
i sledeće:

Šta ako imaš na primer ovakve podatke:

22 120 1
76 80 1
21 121 2
59 120 1

- u ovom slučaju upit će ti vratiti dva reda:
22 120 1
59 120 1

itd itd ....

Samo pusti mašti na volju ....

Pozdrav.
[ michael2007 @ 24.10.2007. 10:42 ] @
To mi nije bitno ako mi vrati i više redova, najbitnije mi je da pronađe bilo koji red sa najvećim brojem.