Autore Topic: [RISOLTO] For...Next  (Letto 931 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
[RISOLTO] For...Next
« il: 09 Marzo 2010, 22:53:53 »
Eccomi di nuovo con i miei soliti problemi (ultimamente mi succede spesso  :(, abbiate pazienza)
di utilizzo del FOR...NEXT

Con questo codice
Codice: [Seleziona]
PUBLIC SUB test()
  DIM r AS Integer
  DIM xResult as Result

  FOR r = 0 TO GridView.Rows.Count - 1
    xResult = Conn.db.Edit("tabella", "campo1 = '" & TextBox.Text & "'")
    xResult["campo2"] = GridView[r, 1].Text
    xResult["campo3"] = 'pippo'
    xResult.Update
    Conn.db.Commit
  NEXT
END
succede che nel "campo2" viene aggiornato lo stesso dato per quante sono le righe della colonna 1
(le righe della GridView contengono dati diversi), esattamente il dato contenuto nell'ultima riga.
Come caspita faccio a far sì che vengano aggiornati i dati del "campo2" con i dati contenuti nelle righe della colonna 1?
« Ultima modifica: 09 Marzo 2010, 23:37:29 da tornu »
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: For...Next
« Risposta #1 il: 09 Marzo 2010, 23:03:09 »
Citazione
succede che nel "campo2" viene aggiornato lo stesso dato per quante sono le righe della colonna 1
(le righe della GridView contengono dati diversi), esattamente il dato contenuto nell'ultima riga.
Come caspita faccio a far sì che vengano aggiornati i dati del "campo2" con i dati contenuti nelle righe della colonna 1?
infatti è esattamente quello che hai detto di fare al codice :)
cosa volevi realizzare?

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: For...Next
« Risposta #2 il: 09 Marzo 2010, 23:25:31 »
No fsurfing,
io volevo ottenere che la GridView se contiene cinque righe nella colonna 1 (tutti valori diversi per esempio: A, B, C, D, E ) mi aggiorni "campo2" con i valori contenuti nelle righe, e non cinque record tutti con il valore E (ultimo valore della GridView), come succede col codice che ho postato.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: For...Next
« Risposta #3 il: 09 Marzo 2010, 23:26:58 »
prova con un :
Codice: [Seleziona]
PUBLIC SUB test()
  DIM r AS Integer
  DIM xResult as Result
xResult = Conn.db.Edit("tabella", "campo1 = '" & TextBox.Text & "'")
xresult.movefirst
  FOR r = 0 TO GridView.Rows.Count - 1
    
    xResult["campo2"] = GridView[r, 1].Text
    xResult["campo3"] = 'pippo'
    xResult.Update
    Conn.db.Commit
    if r<gridview.rows.count-1 then xresult.movenext


  NEXT

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: For...Next
« Risposta #4 il: 09 Marzo 2010, 23:27:56 »
cmq il codice funziona correttamente solo se sia la grid che il result hanno lo stesso numero di righe

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: For...Next
« Risposta #5 il: 09 Marzo 2010, 23:31:18 »
Citazione
io volevo ottenere che la GridView se contiene cinque righe nella colonna 1 (tutti valori diversi per esempio: A, B, C, D, E ) mi aggiorni "campo2" con i valori contenuti nelle righe, e non cinque record tutti con il valore E (ultimo valore della GridView), come succede col codice che ho postato.

cioè nel db vuoi che ogni campo contenga il valore di una riga della grid o vuoi che nel db tutti i campo 2 della query contengano  tutti i valori della colonna 1 della grid?

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: For...Next
« Risposta #6 il: 09 Marzo 2010, 23:35:42 »
R I S O L T O !!!!
sei grande fsurfing  :D :D
grazie
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: For...Next
« Risposta #7 il: 09 Marzo 2010, 23:36:32 »
Citazione
sei grande fsurfing  Felice Felice
diglielo a ceskho che non ci crede! ;D

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: For...Next
« Risposta #8 il: 09 Marzo 2010, 23:39:52 »
Citazione
diglielo a ceskho che non ci crede! ;D

ho sempre detto che sei un genio incompreso  ;)
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: For...Next
« Risposta #9 il: 10 Marzo 2010, 00:37:39 »
Citazione
diglielo a ceskho che non ci crede! ;D

ho sempre detto che sei un genio incompreso  ;)

Ora i pazzi sul forum sono due...a chi dei due evidenzio prima per poi premere BAN????? :P