Discussione:
Dichiarazione variabile
(troppo vecchio per rispondere)
giggio
2007-09-18 10:32:20 UTC
Permalink
Ho una maschera MA1: con un pulsante apro una maschera MA2 ed in questo
passaggio dico:
A = forms!MA1!Testo1 (il testo1 è una stringa numerica: 5 o 6)

Private Sub Etichetta84_Click()
A = Me!Testo1
DoCmd.OpenForm "MA2", acNormal, "", "", , acNormal
End sub

Sulla MA2 faccio clic su un suo campo per aprire una maschera MA3 con questo
codice:

Private Sub E50_Click()
DoCmd.OpenForm "MA3", acNormal, "", "[CSE] = A", , acNormal
End Sub

Ovviamente la maschera non si apre.

Penso che il problema sta nel fatto che sbaglio il modo con il quale
comunico, da una maschera all’altra, il valore di A. Vero?
--
Ciao, giggio.
giorgio rancati
2007-09-18 11:22:26 UTC
Permalink
Post by giggio
Ho una maschera MA1: con un pulsante apro una maschera MA2 ed in questo
A = forms!MA1!Testo1 (il testo1 è una stringa numerica: 5 o 6)
Private Sub Etichetta84_Click()
A = Me!Testo1
DoCmd.OpenForm "MA2", acNormal, "", "", , acNormal
End sub
Sulla MA2 faccio clic su un suo campo per aprire una maschera MA3 con questo
Private Sub E50_Click()
DoCmd.OpenForm "MA3", acNormal, "", "[CSE] = A", , acNormal
End Sub
Ovviamente la maschera non si apre.
Penso che il problema sta nel fatto che sbaglio il modo con il quale
comunico, da una maschera all'altra, il valore di A. Vero?
vero :-)
La variabile A deve essere dichiarata public in un modulo Bas, poi se CSE è
numerico apri la maschera così
----
DoCmd.OpenForm "MA3", acNormal, "", "[CSE] = " & A, , acNormal
----

oppure senza variabile pubblica
----
DoCmd.OpenForm "MA3", acNormal, "", ""[CSE]=Forms!MA1!Testo1", , acNormal
----

Ciao
--
Giorgio Rancati
[Office Access MVP]
Saverio
2007-09-18 11:32:00 UTC
Permalink
Post by giggio
Ho una maschera MA1: con un pulsante apro una maschera MA2 ed in questo
A = forms!MA1!Testo1 (il testo1 è una stringa numerica: 5 o 6)
Private Sub Etichetta84_Click()
A = Me!Testo1
DoCmd.OpenForm "MA2", acNormal, "", "", , acNormal
End sub
Sulla MA2 faccio clic su un suo campo per aprire una maschera MA3 con questo
Private Sub E50_Click()
DoCmd.OpenForm "MA3", acNormal, "", "[CSE] = A", , acNormal
End Sub
Ovviamente la maschera non si apre.
Penso che il problema sta nel fatto che sbaglio il modo con il quale
comunico, da una maschera all’altra, il valore di A. Vero?
--
Ciao, giggio.
sei stato un po' vago ma vediamo di capire:
1a cosa
le variabili che tu crei in visual basic non vengono viste dalle query
quindi devi passare il valore, non la variabile:

DoCmd.OpenForm "MA3", acNormal, "", "[CSE] =" & A, , acNormal

2a cosa: la variabile A dove è stata creata? perkè se la crei all'interno di
una routine viene vista solo all'interno della stessa, quindi non puoi usarla
in un'altra routine o addirittura in un altro form.
Per farlo dovresti creare una variabile pubblica all'interno di un modulo vb

Public a as long

oppure scrivere una cosa così:

DoCmd.OpenForm "MA3", acNormal, "", "[CSE] =" & forms!MA1.Testo1, , acNormal

Spero di esserti stato utile

ciao

Saverio
giggio
2007-09-18 12:34:04 UTC
Permalink
Post by Saverio
Post by giggio
Ho una maschera MA1: con un pulsante apro una maschera MA2 ed in questo
A = forms!MA1!Testo1 (il testo1 è una stringa numerica: 5 o 6)
Private Sub Etichetta84_Click()
A = Me!Testo1
DoCmd.OpenForm "MA2", acNormal, "", "", , acNormal
End sub
Sulla MA2 faccio clic su un suo campo per aprire una maschera MA3 con questo
Private Sub E50_Click()
DoCmd.OpenForm "MA3", acNormal, "", "[CSE] = A", , acNormal
End Sub
Ovviamente la maschera non si apre.
Penso che il problema sta nel fatto che sbaglio il modo con il quale
comunico, da una maschera all’altra, il valore di A. Vero?
--
Ciao, giggio.
1a cosa
le variabili che tu crei in visual basic non vengono viste dalle query
DoCmd.OpenForm "MA3", acNormal, "", "[CSE] =" & A, , acNormal
2a cosa: la variabile A dove è stata creata? perkè se la crei all'interno di
una routine viene vista solo all'interno della stessa, quindi non puoi usarla
in un'altra routine o addirittura in un altro form.
Per farlo dovresti creare una variabile pubblica all'interno di un modulo vb
Public a as long
DoCmd.OpenForm "MA3", acNormal, "", "[CSE] =" & forms!MA1.Testo1, , acNormal
Spero di esserti stato utile
ciao
Saverio
Mi siete stati utilissimi. Ho fatto come mi avete suggerito, ho dichiarato
la variabile public. Grazie.
VT @ home
2007-09-18 12:06:14 UTC
Permalink
(.....)
Ho una maschera MA1: con un pulsante apro una maschera MA2 ed in questo
A = forms!MA1!Testo1 (il testo1 è una stringa numerica: 5 o 6)
Private Sub Etichetta84_Click()
A = Me!Testo1
DoCmd.OpenForm "MA2", acNormal, "", "", , acNormal
End sub
Sulla MA2 faccio clic su un suo campo per aprire una maschera MA3 con questo
Private Sub E50_Click()
DoCmd.OpenForm "MA3", acNormal, "", "[CSE] = A", , acNormal
End Sub
Ovviamente la maschera non si apre.
Penso che il problema sta nel fatto che sbaglio il modo con il quale
comunico, da una maschera all’altra, il valore di A. Vero?
Non ti serve la variabile:

Private Sub E50_Click()
DoCmd.OpenForm "MA3", acNormal, "", "[CSE] = " & forms!MA1!Testo1, , acNormal
End Sub

ovviamente MA1 dev'essere aperta.

Vincenzo Turturro

Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------

Continua a leggere su narkive:
Loading...