Autore Topic: [risolto]Passaggio dati tra form  (Letto 3363 volte)

Offline aulin

  • Gambero
  • **
  • Post: 83
    • Mostra profilo
[risolto]Passaggio dati tra form
« il: 12 Maggio 2010, 12:29:21 »
Sono un nuovo utente, è la prima volta che scrivo su questo forum, e quindi vi chiedo di scusarmi se torno su un argomento discusso spesso.
Utilizzo 2 form una principale form1 e una secondaria form2 richiamata dalla form1. La form2 è attivata da un click su un campo e da questa form vorrei prendere un dato su un db e visualizzarlo su un campo (textbox). Ogni cosa sembra funzionare, ma non riesco a passare il dato sulla textbox ne passando da variabili publichene passando da variabili poste in un modulo. La chiusura della form2 non aggiorna i valori della variabile nel modulo, anzi sembra che questo avvenga successivamente. Se infatti riclicco sulla textbox( e quindi riapro la form2 e scelgo un nuovo dato) mi fa vedere il valore che avrebbe dovuto inserire nel passaggio precedente. Qual'è la parte errata ? Spero di essere stato chiaro.
Grazie.
« Ultima modifica: 12 Maggio 2010, 15:06:42 da aulin »

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Passaggio dati tra form
« Risposta #1 il: 12 Maggio 2010, 12:43:45 »
il mio nuovo sito : ealmuno.com

Offline aulin

  • Gambero
  • **
  • Post: 83
    • Mostra profilo
Re: Passaggio dati tra form
« Risposta #2 il: 12 Maggio 2010, 13:02:27 »
grazie ealmuno per la velocità di risposta. L'esempio risolve le problematiche legate a show e hide. Il mio problema è come far risalire un dato dal form2 chiamato al form1 chiamante.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Passaggio dati tra form
« Risposta #3 il: 12 Maggio 2010, 13:11:27 »
credo che il tuo problema sia nella tempistica..
dovresti procedere sosì

1-  form2.load

2- form1 passa il valore a form2

3- form2.show

in alternativa:

1-form2.load
2-form2.show
3-form2 legge il valore dal form1


Offline aulin

  • Gambero
  • **
  • Post: 83
    • Mostra profilo
Re: Passaggio dati tra form
« Risposta #4 il: 12 Maggio 2010, 13:32:56 »
Forse non riesco ad esporre correttamente il problema. Ci riprovo, sperando nella benevolenza di chi legge.
in una Form1 ho una textbox il cui contenuto viene preso da un batabase. Per fare ciò ho utilizzato un Panel, su cui c'è una gridview su cui metto i dati prelevati e sul clic passo i dati nella textbox. QUindi fin qui tutto ok. Per una migliore leggibilità volevo mettere in altro posto le ricerche sul db e quindi avevo pensato ad un'altro form form2 il quale si apre sul clic sulla textbox. Le ricerche le faccio sulla form2 , tutto ok, ma quando mi trovo a riportare il valore trovato sulla textbox del form1 questo non riesco a trovarlo. Per fare questo passaggio utilizzo una variabile in un modulo. Ho provato anche con lostfocus per vedere se riuscivo a prendere questo datao ... niente da fare. Non riesco a far risalire il dato dalla form2 alla form1 anche utilizzando una variabile in un modulo.
Scusate la prolissità.

Offline Pixel

  • Amministratore
  • Maestro Gambero
  • *****
  • Post: 414
    • Mostra profilo
    • http://www.gambas-it.org
Re: Passaggio dati tra form
« Risposta #5 il: 12 Maggio 2010, 13:58:48 »
...Non riesco a far risalire il dato dalla form2 alla form1 anche utilizzando una variabile in un modulo.
Benvenuto in famiglia :D

Domanda (probabilmente sciocca), la variabile nel modulo l'hai dichiarata come Public?

Module1
Codice: [Seleziona]
' Gambas module file

PUBLIC pippo AS String


Form1
Codice: [Seleziona]
PUBLIC SUB Form_Open()
 

END

PUBLIC SUB Button1_Click()
Module1.pippo = "Form1"
Form2.Show

END

Form2
Codice: [Seleziona]
PUBLIC SUB Form_Open()

  ME.Caption = Module1.pippo

END

Ma probabilmente non ho compreso io il problema :P
Ubuntu Italian Member Ubuntu User 4683
Il mio Blog

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Passaggio dati tra form
« Risposta #6 il: 12 Maggio 2010, 13:59:47 »
Non sò se ho capito bene, prova così:
form1.miatextbox.text = form2.tuatextcox.text
però devi attivare, se non lo hai già fatto: Progetto/Proprietà/Opzioni/i controlli del form sono public  = SI

Offline Pixel

  • Amministratore
  • Maestro Gambero
  • *****
  • Post: 414
    • Mostra profilo
    • http://www.gambas-it.org
Re: Passaggio dati tra form
« Risposta #7 il: 12 Maggio 2010, 14:01:39 »
Non sò se ho capito bene, prova così:
form1.miatextbox.text = form2.tuatextcox.text
però devi attivare, se non lo hai già fatto: Progetto/Proprietà/Opzioni/i controlli del form sono public  = SI

Se vuole usare i dati dei controlli, ma se usa una variabile in un modulo non serve :) (o mi sbaglio?)
Ubuntu Italian Member Ubuntu User 4683
Il mio Blog

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Passaggio dati tra form
« Risposta #8 il: 12 Maggio 2010, 14:04:16 »
Avevo capito passaggio tra due textbox di 2 form.

Aulin...ci fai già venire mal di testa ;D ;D ;D ;D

Scherzo, benvenuto e chiedi pure tranquillamente

Offline Pixel

  • Amministratore
  • Maestro Gambero
  • *****
  • Post: 414
    • Mostra profilo
    • http://www.gambas-it.org
Re: Passaggio dati tra form
« Risposta #9 il: 12 Maggio 2010, 14:05:53 »
Scherzo, benvenuto e chiedi pure tranquillamente
Che tanto noi di risposte non ne abbiamo ;D ;D
Ubuntu Italian Member Ubuntu User 4683
Il mio Blog

Offline aulin

  • Gambero
  • **
  • Post: 83
    • Mostra profilo
Re: Passaggio dati tra form
« Risposta #10 il: 12 Maggio 2010, 14:09:33 »
Posto parti che interessano nel modulo comune, form1 e form2


' Gambas module file
'
' Modulo Comune per passaggio Dati
'
'
PUBLIC CodiceDirezione AS String
PUBLIC NomeDirezione AS String
 


'--------------------------------
' form1
'

PUBLIC SUB TB_NomeDirezione_DblClick()
      OBWinDirezioni.Show
       TB_CodDirezione.Text = ModCom.CodiceDirezione
        TB_NomeDirezione.Text = ModCom.NomeDirezione
END

PUBLIC SUB TB_NomeDirezione_LostFocus()
    TB_CodDirezione.Text = ModCom.CodiceDirezione
    TB_NomeDirezione.Text = ModCom.NomeDirezione
END


'-------------------------------------------
'
' Form2
'
PUBLIC SUB GridView1_Click()
DIM iRow AS String
DIM id AS Integer
DIM i AS Integer
 
 
  iRow = GridView1.Row 
   
     sql = "SELECT * FROM direzioni order by direz_cod" 
      hres = $hconn.Exec(sql)                              ' esegue la query
     
      IF iRow <> -1 THEN
            hres.MoveTo(iRow)
            id = hres!direz_ID
            hres = $hConn.edit("direzioni", "direz_id=" & id)
             
           ModCom.CodiceDirezione = hres!direz_cod
           ModCom.NomeDirezione = hres!direz_nome
      ENDIF

ME.CLOSE

END

Offline Pixel

  • Amministratore
  • Maestro Gambero
  • *****
  • Post: 414
    • Mostra profilo
    • http://www.gambas-it.org
Re: Passaggio dati tra form
« Risposta #11 il: 12 Maggio 2010, 14:17:27 »
OBWinDirezioni.Show che è?
O meglio.. che succede al suo interno?
Hai provato a mettere

Codice: [Seleziona]
TB_CodDirezione.Text = ModCom.CodiceDirezione
TB_NomeDirezione.Text = ModCom.NomeDirezione

all'apertura della form1?

Altra domanda: che versione di Gambas usi?
Ubuntu Italian Member Ubuntu User 4683
Il mio Blog

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Passaggio dati tra form
« Risposta #12 il: 12 Maggio 2010, 14:22:37 »
PUBLIC SUB TB_NomeDirezione_DblClick()
      OBWinDirezioni.Show
       OBWinDirezioni.TB_CodDirezione.Text = ModCom.CodiceDirezione
        OBWinDirezioni.TB_NomeDirezione.Text = ModCom.NomeDirezione
END

Così?

Offline aulin

  • Gambero
  • **
  • Post: 83
    • Mostra profilo
Re: Passaggio dati tra form
« Risposta #13 il: 12 Maggio 2010, 14:26:29 »
la versione è la 2.18
la OBWinDirezioni.Show  è la form2, dentro si accede ad un db e con la gridview scelgo CodDirezione e NomeDirezione.

Provato ... idem.

Avevo provato a gestirlo con il GotFocus al posto del click ... fa lo stesso

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Passaggio dati tra form
« Risposta #14 il: 12 Maggio 2010, 14:32:20 »
Non so..magari prova a postare il progetto che possiamo vedere