Oppure

Loading
22/09/09 20:41
claudio1962
Buonasera a tutti, :)
sto cercando di fare (autodidatta) un programma per il gioco del Lotto.
Con Ado in VB6 cerco i dati da un archivio .dbf e li visualizzo in un Datagrid in questo modo:
sSQL = sSQL & " SELECT Estratti.Estraz,Concorso,BA1,BA2,BA3,BA4,BA5 "
 sSQL = sSQL & " FROM Estratti"
 sSQL = sSQL & " Where BA1= '" & Text69.Text & "'"
 sSQL = sSQL & " OR BA2= '" & Text69.Text & "'"
 sSQL = sSQL & " OR BA3= '" & Text69.Text & "'"
 sSQL = sSQL & " OR BA4= '" & Text69.Text & "'"
 sSQL = sSQL & " OR BA5= '" & Text69.Text & "'"
 Rs.Open sSQL, cn, adOpenStatic, adLockOptimistic, adCmdText
  
  Set DataGrid6.DataSource = Rs

La mia domanda è questa :
come posso fare per visualizzare su datagrid o altro solo le x estrazioni successive al numero trovato. 8-|
In pratica se chiedo di trovarmi il numero 15 nel datagrid dovrei visualizzare per esempio le 9 estrazioni successive all'uscita del numero 15.
Con la speranza di essere stato chiaro attendo fiducioso un consiglio e aiuto. ;)
aaa
23/09/09 6:25
zemas
Ciao Claudio 1962,

potresti provare così:

Rs.Filter = "NumeroEstrazione >'" & 15 & "'"
aaa
23/09/09 17:41
claudio1962
Ciao zemas,
ma così non ottengo quello che mi serve.
In pratica ogni qualvolta la ricerca rileva il numero 15 deve visualizzarmi le nove estrazioni successive.
Grazie

aaa
26/09/09 8:08
claudio1962
Nessuno può consigliarmi :d
aaa
26/09/09 21:19
Alfonso
Se come penso Concorso è il numero del concorso e tu vuoi i nove concorsi successivi

Con la tua sql memorizzi il numero del concorso e poi crei una sql del genere:

sSQL = "SELECT TOP 9 BA1,... ecc FROM Estratti WHERE Concorso=" & numero del concorso & " ORDER BY Concorso"
aaa
27/09/09 15:59
claudio1962
Ciao Alfonso,
grazie per l'indicazione
In pratica dovrei fare due SQL una prima per la ricerca del numero, e una seconda che all'uscita di quel numero mi visualizza le nove estrazioni successive e ricomincia la ricerca. Purtroppo da autodidatta non riesco a sviluppare molto potresti fare un esempio o indicarmi qualke link dove trovare spunto :-?
Concorso equivale a numero consecutivo dei concorsi ma la ricerca la vorrei fare su Estraz che corrisponde alla data di estrazione.
Ti ringrazio nuovamente :)
aaa
27/09/09 18:56
Alfonso
Purtroppo non so darti indicazioni più particolareggiate su come fare con il datagrid perchè non ho mai usato un datagrid.
Presumo che con la tua SQL tu abbia una lista di tutte le estrazioni dove è presente il numero 15
Scegli nella colonna della data il valore rappresentato da cui vuoi partite per vedere le 9 estrazioni successive, e assegnalo ad una variabile

per es.
Dim D as string
D ="20/03/09" ovvero quella scelta da te

La tua seconda Sql sarà:

sSQL = "Select Top 9 Estratti.Estraz,Concorso,BA1,BA2,BA3,BA4,BA5"
sSQL = sSQL & " FROM Estratti WHERE Estratti.Estraz >" & "#" & Month(D) & "/" & Day(D) & "/" & Year(D) & "#"
SQL = sSQL & " ORDER BY Estratti.Estraz"

Il primo suggerimento che ti do è scrivere queste tre righe in questo modo:

sSQL = "Select Top 9 Estratti.Estraz,Concorso,BA1,BA2,BA3,BA4,BA5" & _
" FROM Estratti WHERE Estratti.Estraz >" & "#" & Month(D) & "/" & Day(D) & "/" & Year(D) & "#" & _
" ORDER BY Estratti.Estraz"

Si evitano inutili assegnazioni di variabili temporanee.

La formattazione della data nel formato #mese/giorno/anno# è valida per i database Access .mdb, ma tu parli di un database .dbf.
Non so se il campo data è trattato allo stesso modo.
aaa
27/09/09 20:44
claudio1962
Ciao Alfonso,
nel datagrid ho tutte le estrazioni dal 1939 in poi,
purtroppo non posso segliere una data in quanto con la query gli indico di ricercarmi un numero (es. 15) e ogni qualvolta (dal 1939 ad oggi) lo rintraccia parte da quella data e mi visualizza le nove estrazioni successive.
La ricerca continua con il ritrovamento di un'altro numero 15 e successive nove estrazioni e così via.
Credo che ci voglia una query nella query oppure un Loop ma non sò come impostarlo.
Comunque ti ringrazio tanto per la tua attenzione, :k:
se hai altre idee te ne sarei grato. :)
Ciao
aaa