Oppure

Loading
25/02/10 18:55
Alfonso
o così

.TextMatrix(flx.Rows-1 , 1) =
.TextMatrix(flx.Rows-1 , 2) =
.TextMatrix(flx.Rows-1 , ....) =
.TextMatrix(flx.Rows-1 , 30) =

oppure

inserisci sulla form un controllo data Data1

nelle proprietà di MSFlexGrid1 imposti DataSource = Data1

nel codice Set Data1.Recordset = tuoRecordset
aaa
25/02/10 21:33
nano
Alfonso, ti ringrazio di cuore! Domani provo immediatamente..Ci sarebbe un'ultima cosa..Dopo aver modificato la griglia, (lo faccio con una TextBox), come memorizzo gli aggiornamenti nel database? Abbi ancora un pò di pazienza.
Ciao
aaa
25/02/10 22:28
Alfonso
Devi dare più dettagli.

Prima di tutto qual'e la query che usi per estrarre i dati dal database.
Nella Sql c'è un campo che identifica univocamente il record?

Cosa significa:

-> Dopo aver modificato la griglia, (lo faccio con una TextBox) <-

Cioè come funziona questa tua textbox? Una sola? Una per ogni campo?
aaa
26/02/10 8:10
poeo85
dim Db As Database
dim n_rec as integer 'ti serve per verificare quanti record vai a toccare
dim sql as string

Sql = ""
Sql = Sql & " UPDATE tabella SET "
Sql = Sql & " campo2 = '" & Trim(textbox1.Text) & "', " & vbcrlf
Sql = Sql & " campo3 = " & val(textbox2.Text) & & vbcrlf
Sql = Sql & " WHERE campo1 = 5 "
n_Rec = Db.ExecuteSQL(Sql)


'stessa cosa per il delete
Sql = " DELETE FROM TABELLA where campo1 = " & val(x) & "and campo2 = 'y'"



oppure se hai modificato la tabella ti consiglio di farti una colonna nascosta di modifica...se modifichi una riga in quella colonna ci metterai una costante es"X"
poi prima dell'uscita o vedi te quando...fai un semplice for per quella tabella e se c'è la x ti fai l'update della riga...spero di esserti stato utile



IL vbCRLF è per andare a capo e se hai una query con mille campi ci capisci qualcoso in

select z,a,d,f,g,h,j,u,y,r,e,w,y,u,i,o,p,l,k form tabella where g= 2 and h=5 and l = 89231 and...

per me è più facile ed immadiata la lettura così specialmente con i db con cui ho a che fare io.:k:

select z
, f
, ....
from tabella
, tabella3
where g =
and k =

poi per il val ecc...non so che pogramma debba fare e con quali dati abbia a che fare
io ho riportato un banale esempio che di un mio programma. :pat::pat::pat::pat::pat::pat:

Ultima modifica effettuata da poeo85 26/02/10 8:21
aaa
26/02/10 9:40
Alfonso
@poeo85

Ma nel tuo primo post hai scritto:

Sql = ""
Sql = Sql & "SELECT FROM WHERE" & vbCrLf

Come può nano (e anche io) capire quello che tu hai scritto nel tuo programma?
Per chi sta imparando sembra che la Sql debba essere chiusa con un vbCrLf e questo non è vero.

Le migliorie le proponevo a nano.
la frase "Forse, per te, Val(l_Rs!camponumerico) è limitativo" mi sembra chiaro è indirizzata a nano che forse non ha un campo numerico di interi.
Se copi parte del codice di un tuo programma, per quanto possibile cerca di renderlo generico, altrimenti puoi generare equivoci.

Riguardo il tuo ultimo post.
Se devi stampare la Sql da qualche parte ti do ragione, anche se dopo un primo debug non penso che stamperai più niente.
Francamente non so dire se dai del lavoro in più al motore sql del database.

Per il resto ritengo sia meglio sia per la visione che per la mancanza di inutili concatenazioni:
dim sql as string

Sql = "UPDATE tabella SET " & _
      "campo2 = '" & Trim(textbox1.Text) & "', " & _
      "campo3 = " & val(textbox2.Text) & _
      "WHERE campo1 = 5"

Poi tu puoi fare come meglio credi, ma prima di poter dare pacche sulla testa....:nono:
aaa
26/02/10 9:55
poeo85
:cheer::cheer::cheer::cheer::cheer::cheer::cheer::cheer::cheer::cheer::cheer:

:nono::nono::nono::nono::nono::nono::nono::nono:

:k::k::k::k::k::k::k::k::k::k::k::k::k::k:


LOL...mi impicchi per questo?
aaa
26/02/10 12:13
nano
L'esercizio completo è questo: caricare in una MSflexGrid un database Access con una tabella. La tabella ha trenta righe e venti campi, uno testo e uno valuta, alternati. Anche la griglia ha 30 righe e 20 colonne; è già fornita funzionante, viene editata con una TextBox fluttuante, credo.
Dopo aver copiato la tabella sulla griglia, la connessione si deve chiudere.
La griglia viene modificata, riscritta etc.
Poi la connessione si deve riaprire, per ricopiare la griglia sulla tabella.
Per me ancora è complicato...
Grazie 1000
aaa
26/02/10 12:27
poeo85
Postato originariamente da nano:

L'esercizio completo è questo: caricare in una MSflexGrid un database Access con una tabella. La tabella ha trenta righe e venti campi, uno testo e uno valuta, alternati. Anche la griglia ha 30 righe e 20 colonne; è già fornita funzionante, viene editata con una TextBox fluttuante, credo.
Dopo aver copiato la tabella sulla griglia, la connessione si deve chiudere.
La griglia viene modificata, riscritta etc.
Poi la connessione si deve riaprire, per ricopiare la griglia sulla tabella.
Per me ancora è complicato...
Grazie 1000


ehm...dovremmo farlo noi???????? :nono::nono::nono::nono::nono::nono::nono::nono::nono::nono:
hai i pezzi di codice forniti sia da me che migliorati da alfonso...
questo è un forum per chiedere aiuto non per farsi fare le cose...
con i pezzetti di codice carichi la flex e anche la salvi nel db...




***********************************************************
ecco visto che secondo te lo faccio solo per scrivere post edito questo...
il mio post era solo per indicarti che non hai chiarito nulla ... hai dato il tuo esercizio..alfonso ti aveva chiesto chiarimenti del textbox
"Cosa significa:

-> Dopo aver modificato la griglia, (lo faccio con una TextBox) <-

Cioè come funziona questa tua textbox? Una sola? Una per ogni campo? "

...di cose ce ne son sempre da imparare...ma di certo non son il migliore...e scusami se ho cercato di darti una mano incollando del pezzi di codice ma quando si lavora tanto tempo di svago non si ha...
quando io chiedo qualcosa è perchè non mi trovo o non riesco a trovare una soluzione che mi appaghi...per cui se mi rispondono con dei pezzi di codice me li adatto.
e non fare del vittimismo...
Ultima modifica effettuata da poeo85 26/02/10 15:39
aaa