Newsgroup: it.comp.appl.access
Titolo: Chiamata di una SUB

Da codice come faccio a chiamare una sub di un'altra maschera?
call .....
1000 Grazie
Graziano

 call .....
Se la sub è dichiarata public e se la form è aperta basta che fai
call forms("nomeform").nomesub
Esempio
call forms("nomeform").Pulsante1_click
Però chi te lo fa fare?!?!
Fatti una sub public in un modulo e la richiami da dove vuoi!!!
Antonio

 call .....
    Puoi operare in due modi, quello tradizionale, che prevede che la
maschera sia aperta, oppure quello che si basa sul fatto che le maschere
sono moduli di classe. Ovviamente in entrambi i casi la routine dovra'
essere definita Public.
Option Compare Database
Option Explicit
Option Base 0
Public Function OldChiamaSub1DiMaschera1()
  Const c_sFormName$ = "Maschera1"
  Dim bIsLoaded As Boolean
  Dim oAcApp    As Access.Application
  Dim oAcForm   As Access.Form
  Set oAcApp = Access.Application
  With oAcApp
    bIsLoaded = .CurrentProject.AllForms(c_sFormName).IsLoaded
    If (bIsLoaded = False) Then
      .DoCmd.OpenForm c_sFormName, acNormal, , , , acHidden
    End If
    Set oAcForm = .Forms(c_sFormName)
    oAcForm.Sub1
    If (bIsLoaded = False) Then
      .DoCmd.Close acForm, c_sFormName, acSaveNo
    End If
  End With
  Set oAcForm = Nothing
  Set oAcApp = Nothing
End Function
Public Function NewChiamaSub1DiMaschera1()
  Dim oAcForm As Progetto1.Form_Maschera1
  Set oAcForm = New mbPEsercizi.Form_Maschera1
  oAcForm.Sub1
  Set oAcForm = Nothing
End Function
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

   Set oAcForm = New mbPEsercizi.Form_Maschera1
    Set oAcForm = New Progetto1.Form_Maschera1


 ha scritto nel messaggio
news:FoBV9.11493$ZE.3...@twister2.libero.it...

Grazie Antonio
Se la chiamata è di una sottomaschera?
call ....
Grazie ancora

 call ....
Non ho provato, ma seguendo la solita sintassi per interagire con oggetti di
una sottomaschera partendo dalla form principale direi
forms("form").controllosottomaschera.form.nomesub
Antonio

 Public Function NewChiamaSub1DiMaschera1()
    Aggiornamento. Visto che nel 3d si e' fatto cenno alle sottomaschere...
Public Function NewChiamaSub1DiSottomaschera1Direttamente()
  Dim oAcForm As Progetto1.Form_Sottomaschera1
  Set oAcForm = New Progetto1.Form_Sottomaschera1
  With oAcForm
    .Sub1
  End With
  Set oAcForm = Nothing
End Function
    -oppure-
Public Function NewChiamaSub1DiSottomaschera1ComeSottomaschera()
  Dim oAcForm1 As Progetto1.Form_Maschera1
  Dim oAcForm2 As Progetto1.Form_Sottomaschera1
  Set oAcForm1 = New Progetto1.Form_Maschera1
  With oAcForm1
    Set oAcForm2 = .Sottomaschera1.Form
  End With
  With oAcForm2
    .Sub1
  End With
  Set oAcForm2 = Nothing
  Set oAcForm1 = Nothing


 ha scritto nel messaggio
news:bnCV9.11878$YG2.3...@twister1.libero.it...

Grazie Antonio Non riesco
Esempio
Nome Machera principale = Lista
Nome sottomaschera =Sub Lista
Nella sottomaschera esiste il pulsante Copia, e devo richiamare sull'evento
click
Public sub Copia_Click()
Msgbox("CI SEI RIUSCITO")
end sub
forms("form").controllosottomaschera.form.nomesub
forms("Lista").Copia.form.Copia_Click()
Saluti

 ha scritto nel messaggio
news:b08c97$gs7$1...@lacerta.tiscalinet.it...

Se il controllo sottomaschera nella maschera si chiama Sottolista, la
sintassi è
forms("Lista").sottolista.form.Copia_Click()
Antonio

 ha scritto nel messaggio
news:IMOV9.13834$ZE.3...@twister2.libero.it...


Nome Controllo Sottomaschera =Copia
non funziona o NON HO CAPITO
Call forms("Lista").Sub Lista.form.Copia_Click
Scusa
1000 Grazie

 Call forms("Lista").Sub Lista.form.Copia_Click
Allora. Per fare una sottomaschera tu hai bisogno prima di tutto di fare una
maschera, si chimerà pippo.
Ok, pippo non ci interessa.
Dentro la form principale tu metterai un controllo di tipo Sottomaschera, la
cui origine è pippo, no?
Questo controllo avrà un nome, no?
Ok, io ho detto che è sub_lista.
Dentro la sottomaschera c'è il pulsante Copia.
Ribadisco la sintassi
forms("Lista").Sub_Lista.form.Copia_Click
Antonio



Scusate, a parte il fatto che il codice di Maurizio Borrelli non l'ho
capito granché, ma se io inserisco in un modulo separato (non di
classe) una Sub Public MioNonno(con o senza parametri) e in qualsiasi
parte del programma, su qualsiasi evento, la richiamo con Call
MioNonno (parametri se ce ne sono) non dovrebbe funzionare?
Esempio:
Private Sub Tasto_Click()
	Call MioNonno
End Sub
Private Sub Form_Current()
	Call MioNonno
End Sub
eccetera
Si o no?
A me pare di si
Ciao e grazie
Filippo

 classe) una Sub Public MioNonno
[...]
    5. e' cio che ha gia' scritto Biso nel suo primo (se non erro) post, .
       ( Non e' che il tuo problema di non capire deriva dalla poca
       attenzione che metti nel leggere? ;-))))


 ha scritto nel messaggio
news:JjRV9.14266$ZE.3...@twister2.libero.it...

100000 GRAZIE HAI RAGIONE.
Non mi funzionava perchè i nomi avevano dei caratteri e degli spazi, ho
tolto e tutto funziona
Sei Forte!!!
Saluti
G.Franchi