22/02/10 22:43
nano
Scusami per l'errore di sezione.
Sono un principiante. Devo visualizzare una tabella già esistente di un database Access in una MsFlexGrid. Mi potete fornire il codice necessario, in modo che posso almeno iniziare? Grazie in anticipo
aaa
23/02/10 9:13
nano
Per installare Contact 7 il programma mi chiede la password.Dove la prendo? Grazie per l'interessamento.
aaa
24/02/10 23:36
Phyton91
Ciao nano,
purtroppo nemmeno io mi ricordo la password del software. Domani pubblico la versione con l'exe di installazione senza password.
Spero che ti sia di aiuto.
Phyton91
aaa
25/02/10 10:42
poeo85
Dim l_Rs As Recordset
dim Sql as String
' io mi aggiungo una riga nella flexgrid per ogni risultato della query...prima la
' flx.rows = 1 cioè l'intestazione della flex
Sql = ""
Sql = Sql & "SELECT FROM WHERE" & vbCrLf
Set l_Rs = OpenRecordset(Sql)
If Not (l_Rs.BOF And l_Rs.EOF) Then
Do While Not l_Rs.EOF
flx.Rows = flx.Rows + 1
flx.TextMatrix(flx.Rows - 1, colonna1) = Val(l_Rs!camponumerico)
flx.TextMatrix(flx.Rows - 1, colonna2) = Trim$(l_Rs!campotesto)
l_Rs.MoveNext
Loop
End If
l_Rs.Close
Set l_Rs = Nothing
spero sia chiaro
Ultima modifica effettuata da poeo85 25/02/10 10:44
aaa
25/02/10 17:03
Alfonso
Ti propongo delle migliorie
Dim l_Rs As Recordset
dim Sql as String
Sql = ""
Sql = Sql & "SELECT FROM WHERE" & vbCrLf
Sql=Sql & per il programma vuol dire creare una variabile temporanea dove conservare il vecchio valore di Sql, aggiungerci qualcosa e atrtribuire il valore a Sql, ma Sql è appena stata dichiarata.
Poi che significato ha quel vbCrLf alla fine?
Set l_Rs = OpenRecordset(Sql)
If Not (l_Rs.BOF And l_Rs.EOF) Then
Quì di sprechi ce ne sono 2: effettuare una operazione AND e testarne la negazione
Più semplice usare la proprietà Recordcount
flx.TextMatrix(flx.Rows - 1, colonna1) = Val(l_Rs!camponumerico)
flx.TextMatrix(flx.Rows - 1, colonna2) = Trim$(l_Rs!campotesto)
Forse, per te, Val(l_Rs!camponumerico) è limitativo, se il campo numerico avesse dei decimali sarebbero tolti. Se invece il val servisse per evitare errori nel caso il campo fosse vuoto sarebbe meglio ricorrere ad un'altra forma per non avere la griglia con degli zeri che in qualche caso sono antiestetici. Anche al campo testo (se fosse vuoto si avrebbe un errore) è opportuno aggiungere una stringa vuota
Per migliorare la leggibilità del tutto aggiungerei un With EndWwith
Dim l_Rs As Recordset
Dim Sql as String
Sql = "SELECT ... FROM... WHERE..."
Set l_Rs = OpenRecordset(Sql)
With l_Rs
If .Recordcount > 0 Then
Do While Not .EOF
flx.Rows = flx.Rows + 1
if Len(!camponumerico)> 0 Then flx.TextMatrix(flx.Rows-1 , colonna1) = !camponumerico
flx.TextMatrix(flx.Rows-1, colonna2) = "" & !campotesto
.MoveNext
Loop
End If
.Close
End With
Set l_Rs = Nothing
Ciao
Ultima modifica effettuata da Alfonso 25/02/10 17:05
aaa
25/02/10 17:14
nano
O.K. Adesso ho materiale per fare tante prove! Ma se le colonne sono trenta?
Grazie.
aaa