Newsgroup: it.comp.lang.visual-basic
Titolo: query su DB

Ciao a tutti, ho un piccolo problema in una query. Dovrei selezionare da una
serie di record quello che ha come campo "revisione" il maggiore:
Generator_table
.name     .revision_number
prova          0
prova          1
deve restituirmi   (prova,1). So che nell'struzione SQL devo usare la
funzione 'max' ma come?
....WHERE (((Generator_Table.Name)="prova89") AND
((Generator_Table.revision_number)=Max([revision_number])));
non funziona.
Grazie mille a tutti.
Giuseppe

 deve restituirmi   (prova,1).
Ora, cerca di leggere quello che hai scritto e vedi se può essere il caso di
risponderti e in che modo...
Sarà revisione, .revision_number o revision_number?
Select Top 1 * From Generator_Table Where Name='prova89' Order By
revision_number
E consideri in ogni caso solo il primo record.
Lo specifico perchè la Top 1 con qualche database che non rammento può
restituire più records (e non uno solo) se identici.


"SELECT Max([revision_number]) as MyMAX  WHERE
Generator_Table.Name='prova';"
by

 ha scritto nel messaggio
news:bu0rt5$2ip$1...@panco.nettuno.it...


 Giuseppe
No, un momento. Tu volevi il valore massimo o il record col valore massimo.
Chiarezza, sempre e prima di tutto.

 restituire più records (e non uno solo) se identici.
Access.
Ciao
Alberto

 Generator_Table.Name='prova';"
Con questa ottieni il valore più alto di Revision_Number, non il record col
Revision_Number più elevato, come chiedeva Giuseppe.
Ciao
Alberto

 revision_number Desc

 Vorrei il record con valore massimo..
Appunto.
PS: Il quoting.

 ha scritto nel messaggio
news:bu10gs$c35ju$1...@ID-174464.news.uni-berlin.de...


   Generator_Table.Name='" & txtNome.text & "prova';"

 ad una variabile?
 "SELECT Max([revision_number]) as MyMAX  WHERE
   Generator_Table.Name='" & txtnome.text & "';"
--
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

>   Generator_Table.Name='" & txtNome.text & "prova';"
eh eh eh...


 ha scritto nel messaggio
news:bu10t5$ca8l4$1...@ID-174464.news.uni-berlin.de...


    Generator_Table.Name='" & txtnome.text & "';"
"SELECT Max([revision_number]) as MyMAX  WHERE
Generator_Table.Name='" &
replace(txtnome.text,"'","''") & "';"
termoPilucco, pignolo

 eh eh eh...
vabbè, l'avevi già scritto tu.
Poi è didatticamente utile introdurre elementi di disturbo, non lo sapevi,
maestro?

 serve altro li ordino.
Ma che stai dicendo?
Quoting: Si scrive sotto al messaggio e si lascia solo le cose importanti
per la replica.

 >    Generator_Table.Name='" & txtnome.text & "';"
Ho provato con le vostre gentili indicazioni ma non sembro aver successo:
Public Function CtrlPresence() As PresenzaGen
Dim DB As Database
Dim DBR As Recordset
Dim Qr As QueryDef
Dim i As Integer
Dim RevAux As Integer
Dim StrSQL As String
StrSQL = "SELECT Max([revision_number]) as MyMAX  WHERE
Generator_Table.Name='" & frmMain.TxtName.Text& "';"
Set DB = OpenDatabase(App.Path & DBPath & DBName)
Set DBR = DB.OpenRecordset("Generator_Table", dbOpenDynaset)
Set Qr = DB.CreateQueryDef("", StrSQL)
.
.
.
end sub
Il compilatore mi dice che c'è un errore nella stringa SQL.. ma il MyMAX va
definita come variabile da qualche parte?
Grazie (1000)
Giuseppe

 Generator_Table.Name='" & frmMain.TxtName.Text& "';"
Ma sei sicuro che 
generator_table.name
 sia il nome del campo c il cui valore
deve essere = frmMain.TxtName.Text
è un nomignolo strano per un campo...
Ciao, SK
--
La pasienzia non è mai troppo (Totò)
<><><>
Esistono 10 tipi di persone: chi conosce il binario e chi no

 è un nomignolo strano per un campo...
Generator_Table è la tabella, uno dei campi di tale tabella (costituita da
14 campi) è 'name', è il nome del generatore.
Giuseppe

 Set DBR = DB.OpenRecordset(StrSQL, dbOpenDynaset)
Quanto sopra dovreebbe creare il normale recordset DBR.
Sulla CreateQueryDef che segue, passo, mai usate


 > Set Qr = DB.CreateQueryDef("", StrSQL)
Scusa ma non ho capito cosa vuoi dire..

[*Giuseppe* = 
gi...@ciao.it
 in news:JyVMb.107059$_
P.39...@news4.tin.it
] ha
scritto:

Che il Set DBR č diverso da come l'avevi scritto tu e che di CreateQuery non
so nulla.
In ogni caso l'istruzione SQL era sbagliata. Torna nell'altro topic (vedi
che succede?)