Newsgroup: it.comp.appl.access
Titolo: problemi con openargs access 2002

Salve sono Fanciullo
ho un programmino fatto con access 2002
da una maschera con un pulsante di comando apro un'altra maschera e
passo il valore 1 come openargs:
Private Sub Comando85_Click()
  DoCmd.OpenForm "frmINTERVALLOANNO", , , , , , 1
End Sub
nella maschera  aperta   ho questo codice:
Private Sub cmdRENDI_Click()
debug.print OpenArgs
If Me.OpenArgs = 1 Then
Me.Form.Visible = False
DoCmd.OpenForm "frmINSERISCIGIUDIZIO"
Else
Me.Form.Visible = False
DoCmd.OpenForm "PANNELLO DI CONTROLLO"
End Sub
Ho fatto il debug di OpenArgs e mi da nullo. Praticamente
parrebbe che la prima maschera non passa nulla come argomento
di apertura.
Allora per curiosità ho tradotto il programmino in access 97 e funziona.
Da cosa può dipendere?
Comq c'è un'altra possibilità per ottenere il mio scopo cioè quello
di aprire una maschera anziché un'altra (in pratica io vorrei tornare alla
prima maschera
che ha aperto la seconda ).
Grazie

 ha scritto nel messaggio
news:AEl6i.20826$%k.9...@twister2.libero.it...

Perchè non prelevi il Valore della Proprietà OpenArgs su OPEN
di Form per verificare se effettivamente è valorizzato....?
Io solitamente se devo tornare alla Form che ha aperto l'attuale faccio
cosi:
DoCmd.OpenForm "frmINTERVALLOANNO", , , , , , Me.Name
Su Load della form aperta salvo in una Variabile a livello di Form:
Private BackForm    as string
Private Sub Form_Load()
     If Len(Me.OpenArgs & "")>0 Then BackForm=Me.OpenArgs
End Sub
Su Unload:
If Len(BackForm)>0 Then Docmd.OpenForm BackForm
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 ha scritto nel messaggio
news:f3cs67$1ff$1...@aioe.org...

Ciao
Ho provato il tuo codice ma non funziona.........ma
poi mi sono accorto di una cosa!!! Accidenti:
Il pulsante di comando che lancia
DoCmd.OpenForm "frmINTERVALLOANNO", , , , , , Me.Name
si trova in una sottomaschera, che sia quello?
Ehhhhhhhh sì, perché ora ho aperto la sottomaschera come maschera
singola e parrebbe funzionare.......mi rimane il problema che
non riesco a tornare alla maschera desiderata!!
Ciao grazie

 Ciao grazie
Ovviamente essendo una SubForm non puoi passare quella ... non può essere
chiusa, quindi dovrai passare la Form che la contiene, ed usare il codice
che ti
ho suggerito...!
DoCmd.OpenForm "frmINTERVALLOANNO", , , , , , 
Me.Parent.Name
Nella Form CHiamata...:
Private BackForm    as string
Private Sub Form_Load()
     If Len(Me.OpenArgs & "")>0 Then BackForm=Me.OpenArgs
End Sub
Su Unload:
If Len(BackForm)>0 Then Docmd.OpenForm BackForm
-- 



Grazie finalmente ce l'ho fatta...................poi ho avuto un altro
problema...
a titolo di cronoca:
la frmINTERVALLOANNO č una maschera sempre aperta
ma nascosta (mi servono certi valori per tutto il database).
Quindi non faceva effetto l'argomento openargs perché agisce
sulla apertura della maschera quindi si presume che deve stare
prima chiusa......eheheheh
allora ho risolto cosě:
private Sub Comando85_Click()
  DoCmd.Close acForm, "frmINTERVALLOANNO"
  DoCmd.OpenForm "frmINTERVALLOANNO", , , , , , 
Me.Parent.Name
End Sub
allora finalmente il famoso  debug
Private Sub Form_Open(Cancel As Integer)
Debug.Print OpenArgs
End Sub
mi dava   frmINSERISCIGIUDIZIO
segno che l'argomento era finalmente passato
......ma quanti cazzi diceva Baldini
Grazieeeeeeee