data=13/03/1965
la data non va tra ' ' ???
la data in access è un formato testo. Quando provo a mettere poi ' ' mi da errore secondo me ci vuole qualke carattere di escape
Bottaweb
tutto ok funziona solita distrazione :-)
Bottaweb
Ora le 45 caselle che conterranno i 90 numeri sono denominate b(0) b(1) ecc ecc . Con un istruzione SQL prelevo dal database le dieci estrazioni che hanno tutte la stessa data. La tabella identifica le colonne corrispondenti con primo secondo ...quinto estratto. Con un operazione del tipo b(0).Text = rs (" primo") prelevo il primo estratto della ruota di bari . Ora vogli iterare con 2 for in modo da non riscrivere tutto per ogni estrazione . Ho usato due for ed un case che dovrebbe cambiare l'estratto (primo secondo..) in base al valore del for + interno ) Il for + esterno conta a passi di 5 per cambiare le ruote. Ma non mi funziona ...al di la di errori concettuali la sintassi è corretta?
Private Sub Command1_Click()
rs.Open "SELECT * FROM storico WHERE data='12/01/2005';", cn, adOpenKeyset, adLockOptimistic, adCmdText
If rs.EOF Then
lbdati.Text = "Nessun dato"
Else
For contatoreest = 0 To 44 Step 4
Select Case contatoreest
Case 0:
stringa = "primo"
Case 1:
stringa = "secondo"
Case 2:
stringa = "terzo"
Case 3:
stringa = "quarto"
Case 4:
stringa = "quinto"
Case Else
MsgBox "Errore interno ; chiamare lo sviluppatore!"
End Select
For contatoreint = 0 To 4 Step 1
b(contatoreest + contatoreint).Text = rs("stringa")
Next contatoreint
rs.MoveNext
Next contatoreest
End If
Bottaweb
qualche anima buona :-(
Bottaweb
Ciao, sinceramente non ho capito bene cosa vuoi fare con tutti qui for e select, io ti proporrei una cosa del genere:
nel tuo form che utilizzi per visualizzare le estrazioni, ci sarà una colonna (deve ci sono le ruote) e una riga (nella forma: "prima estrazione" "seconda estr.." o più abbreviate..come preferisci tu), poi una volta che hai il tuo recordset relativo a un data estrazione, fai un ciclo su di esso..
eccoti un esempio:
Premessa: le textbox (indicizzate) devono avere lo stesso nome della ruota e deve essere uguale al nome della ruota che hai nella tua tabella
codice:Dim objText As Object 'dichiarata all'inizio del form Private Sub SetObjTxt(ruota As String) Set objText = Me.Controls(ruota) End Sub Private Sub VediEstrazioni() do until rs.eof SetObjTxt(rs!ruota) objText(0).Text=rs!primo objText(1).Text=rs!secondo objText(2).Text=rs!terzo objText(3).Text=rs!quarto objText(4).Text=rs!quinto rs.movenext loop set objText=nothing End Sub![]()
Jupy
Il database è strutturato cosi'
data ruota primo secondo terzo quarto quinto
07/01/1939 BA 58 22 47 49 69
07/01/1939 FI 27 57 81 43 61
07/01/1939 MI 40 38 57 67 07
07/01/1939 NA 85 44 48 88 55
07/01/1939 PA 73 80 39 38 57
.....
....
quindi seleziono tutte le estrazione con select di una specifica data ad es. in questo caso 07/01/1999 . Ho creato poi 45 label text che si chiamano b(0) ..... b(44). Per evitare di inserire tutti i numeri casella per casella volevo sfruttare l'indice di b(). Quindi b(0) rs("primo") b(1) per rs = ("secondo") ecc ecc
Bottaweb
ma l'esempio che ti ho postato, non va bene?? fa quello che vuoi tu.. mi sembra!
eventulamente se vuoi usare un unico textbox (o label) per tutte le estrazioni, basta che lo adatti un po'... magari mettendo un contatore all'interno del ciclo..
Jupy
si scusa stuby non mi sono spiegato io bene prima in ogni caso ho risolto in questo modo ( la tabella ha per colonne le estrazioni e per righe le date vedi sopra):
Private Sub Command1_Click()
rs.Open "SELECT * FROM storico WHERE data='26/07/2004';", cn, adOpenKeyset, adLockOptimistic, adCmdText
If rs.EOF Then
lbdati.Text = "Nessun dato"
Else
For i = 0 To 49 Step 5
b(i).Text = rs("primo")
b(i + 1).Text = rs("secondo")
b(i + 2).Text = rs("terzo")
b(i + 3).Text = rs("quarto")
b(i + 4).Text = rs("quinto")
rs.MoveNext
Next i
End If
End Sub
Ora pero vorrei far selezionare la data all'utente tramite una Textbox ma quando la inserisco nella clausula Where mi da errore ho provato ad assegnare anche prima una stringa eseguendo poi WHERE='stringa' ma non va ....![]()
Bottaweb
dimenticavo la cosa + importante grazie per il tuo aiuto..
Bottaweb