Oppure

Loading
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 8:14
Phyton91
Carissimo nano,

io non ho le istruzioni necessarie per la MSFlexGrid però ti posso consigliare la DataGrid che ha le proprietà necessarie per collegarle al database e come gestore della connessione al database usa ADO che ha la piena compatibilità con la DataGrid, inoltre puoi gestire le istruzioni SQL da un file di testo che puoi creare tu. Scarica Contact 7 e analizza il codice per usare questo trucchetto.

Spero di esserti stato d'aiuto.

:k:
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 16:49
nano
Grazie mille!
nano
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