Visualizza versione completa : Ottenere il valore più alto...
Fast-M
02-11-2004, 17.52.56
Salve, per ottenere il valore più alto in un campo di una tabella come conviene procedere?
Ho già usato il metodo del:
rs=db.OpenRecordset("........")
rs.moveLast
max=rs.RecordCount
-----------
ma se io volessi proprio conoscere il massimo valore e non l'ultimo record inserito, come dovrei fare?
Ho provato con:
rs.MoveLast
max=rs.Fields("campo1")
ma mi da problemi e non funziona!
Un aiuto?!
:|
LoryOne
02-11-2004, 18.10.15
Devi usare MAX().
Select Max(nomecampo) as nomecampovirtuale from nometabella
LoryOne
02-11-2004, 18.14.51
db.execute Insert into tabella1 (campo1,campo2) values(SELECT MAX(Campo) As valcampo1,quello che deve essereci nel campo2)
Ps: Ora non ricordo, forse il nome del campo virtuale in questo caso non serve...prova.
Fast-M
02-11-2004, 18.16.06
ma quindi all'interno della stringa sql, cioè:
max=rs.Fields("Select Max(campo1) from Tabella1")
??
LoryOne
02-11-2004, 18.18.39
No, attento alla sintassi.
Punto primo:
Se esegui una query d'azione non creare un recordset.
Punto secondo:
Se esegui una query di selezione, prima compila il recordset con la query, poi accedi alle colonne del recordset con rs.fields().
Stai facendo una confusione terribile.
Fast-M
02-11-2004, 18.35.59
Si vero!
Ti riferivi quindi a:
set rs=db.OpenRecordset("Select Max(..........))
rs.fields()
O sbaglio?
:|
Fast-M
02-11-2004, 18.37.27
Comunque ci sono arrivato semplicemente con:
max=DMax("[campo1]", "Tabella1")
Che ne pensi?
LoryOne
02-11-2004, 19.55.56
Penso che ci sono anche DFirst,DLast,DMin :D
Non ho mai utilizzato queste funzioni della classe Application ma se funzionano buono a sapersi ;)
vBulletin® v3.8.6, Copyright ©2000-2024, Jelsoft Enterprises Ltd.