Newsgroup: it.comp.appl.access
Titolo: variabili

Devo aprire una maschera
Assegnare il valore ad una variabile (MiaVariabile = Me!Controllo)
Chiudere la maschera
Ripescare il valore di MiaVariabile da un'altra maschera.
Finora ho aperto un recordset, ho attribuito il valore al primo campo di una
tabella e ho ripescato il valore con DLookup.
Esiste un metodo migliore e più sicuro ? Vorrei evitare che il valore della
variabile fosse letto aprendo la tabella.
Grazie
Max

 ha scritto nel messaggio
news:yazs8.5201$m41.1...@twister2.libero.it...

Credo che se dichiari la variabile come PUBLIC in entrambi i moduli il gioco
sia fatto.
Ciao
Filippo

 ha scritto nel messaggio
news:a8uhl1$g4a$1...@localhost.localdomain...

Non è come tu dici. Una variabile dichiarata public è tale solo nel modulo
in cui é dichiarata.
E poi considera la mia esigenza di chiudere la maschera dopo l'assegnazione
del valore a MiaVariabile.
Max

 ha scritto nel messaggio
news:6bCs8.5965$SR5.1...@twister1.libero.it...

Scusate l'intrusione ma potresti dichiarare la variabile come global in un
modulo sarebbe così visibile in ogni parete del progetto.
Ciao Alessandro

 ha scritto nel messaggio
news:vjCs8.6016$SR5.1...@twister1.libero.it...

Io infatti volevo dire GLOBAL, ho sbagliato.
Ciao
Filippo

 Max
Premetto che non sono espertissimo, però il manuale On Line dice
testualmente:
Le variabili dichiarate utilizzando l'istruzione Public sono disponibili per
tutte le routine in tutti i moduli e in tutte le applicazioni, se non
diversamente specificato con l'istruzione Option Private Module. In questo
caso, le variabili saranno pubbliche solo all'interno del progetto in cui si
trovano.
Forse non è Public ma Global (però nel manuale On Line Global non la trovo)
O forse questo è VB e non VBA. Boh!
Chi ci aiuta?
Ciao
Filippo

 ha scritto nel messaggio
news:vjCs8.6016$SR5.1...@twister1.libero.it...

Non c'è alcuna differenza tra public (A97) e global (prec.versioni). E' solo
possibile assegnare un valore ad una Const Global in un modulo standard
(Esempio Const Global NomeVariabile = "Pippo") - Il valore di NomeVariabile
in questo caso sarà visibile da tutti i moduli.  Ma ripeto il mio problema é
:
A - aprire una maschera
B - assegnare un valore ad una variabile
C - chiudere la maschera (importante)
D - catturare il valore della variabile da un' altra maschera
Il valore della variabile lo posso soltanto archiviare in una tabella per
poi prelevarlo ?
Questa è la mia domanda.
Grazie Max


Se la memorizzi in una variabile global che, come hai detto anche tu e'
visibile in tutti i moduli, Fino a che il progetto rimane attivo non perde
di significato ed e' quindi possibile "catturare il valore della variabile
da un' altra maschera".
Ciao Alessandro

 Filippo
No, non hai sbagliato, la variabile dichiarata PUBLIC
a livello di Modulo è Public per tutto il DB, le variabili Global
erano utilizzate nelle vecchie versioni di A2.
Però un'appunto alla tecnologia lo faccio:
esiste un metodo più coerente, nel senso che non richiede
dichiarazioni esterne, basta utilizzare le proprietà dell'oggetto
FORM, che nel caso possono essere implementate ricorrendo
alle istruzioni Property Let/Get.
Se io dall'esterno leggo la proprietà(Get) mi restituisce quello
che cerco.....!!
Nella Form inserirò:
Property Get TuaProprietà() As Variant
   TuaProprietà=Me.CasellaTesto
End Property
Dalla Form chiamante per recuperare il valore dovrò fare
riferimento alla proprietà della Form:
Dato=Forms("NOMEFORM").Tuaproprietà
Questa tecnica è diffusa per i moduli di classe quindi
a maggior ragione sfruttabile nelle FORM.
Ciao.
Alessandro.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 D - catturare il valore della variabile da un' altra maschera
Apri questa maschera,
Al momento giusto ci sarà il codice
XYZ = StaCavoloDiVariabile
E funziona. Ma attenzione, la dichiarazione Public deve essere nel modulo
generale nonso esattamente come si dice, per intenderci quello dove si
mettone le Sub e le Function accessibile da tutti gli altri moduli di
classe, e NON deve essere ripetuta nei moduli di classe.
Commettevo anche io questi errori ma poi, prova e riprova, ci sono riuscito
e a me ha funzionato.
Ciao
Filippo

 ha scritto nel messaggio
news:yazs8.5201$m41.1...@twister2.libero.it...

Le variabili dichiarate public in un modulo di una form sono disponibili in
tutto il progetto, chiaramente soltanto finchè la form è caricata. Per
rendere disponibile una variabile in tutto il progetto è necessario
dichiararla public in un modulo non appartenente ad una form.
Ciao TIR