Newsgroup: it.comp.appl.access
Titolo: richiamo procedura

richioamo la procedura con il suo nome senza par e ottengo questo errore
errore di compilazione
prevista variabile o routine e non modulo
TIA

 ha scritto nel messaggio
news:ejECb.88150$AX1.3...@news1.tin.it...

Scrivi tutto anche il codice che hai usato perchè forse l'hai capito solo tu
quello che ti serve....!
@Alex.

pubblic sub posizione()
if (Forms("maschera1").isloaded) then
posiziona form....
end if
if (Forms("maschera2").isloaded) then
posiziona form....
end if
....
end sub
salvata su un modulo
all'evento click di un bottone presente in una maschera ho messo
posizione
ma non funzia xchč mi ritorna l'errore


 TIA
Porta pazienza caro ragazzo......!
Stai chiedendo lumi su qualcosa che ti dà errore e mi posti quello
che funziona..........????
Secondo te abbiamo la sfera di cristallo.............????????
@Alex.

 che funziona..........????
ma se ti ho postato il cod dove richiamo la procedura ed è lì che il
debugger si ferma
su
"posizione"
in + ti ho postato il cod della procedura x verificare che sia corretta
grazie

 ha scritto nel messaggio
news:nHXCb.207976$hV.80...@news2.tin.it...

Se si ferma li è perchè la procedura POSIZIONE non va, se non la POSTI
non si capisce il perchè.
Posizionare le Form non è banale come pensi, hai pensato alla risoluzione
dello
SCHERMO o credi che non serva a nulla.....??
Hai pensato di convertire in Pixel le coordinate della Form MDI(ACCESS)
e sapere l'area disponibile di posizione......???
Poichè non si capisce cosa hai fatto non sò come fare ad aiutarti....!!!
@Alex.

 non si capisce il perchč.
questa la proc.
public sub posizione()
if (Forms("MASCHERA1").isLoaded) then
Forms("MASCHERA1").setFocus
DoCmd.MoveSize 0,1400
if x tutte le maschere
le maschere sono settate a popup
x riposizionare le maschere uso un bottone richiamando la procedura


Grazie per la cortese concessione.... ;-)
Allora io per verificare se una Form č caricata uso un'altro sistema la
funzione di seguito
inserita in un Modulo Generico:
Public Function IsLoaded(ByVal strFormName As String) As Integer
'*****************************************************************
'Name      : IsLoaded (Function)
'Purpose   : Verifie if Form passed is already OPEN
'Called by :
'Calls     :
'Inputs    : String=Form.Name
'Output    : Return True if Form is Open
'*****************************************************************
    Const conObjStateClosed = 0
    Const conDesignView = 0
    If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <>
conObjStateClosed Then
        If Forms(strFormName).CurrentView <> conDesignView Then
            IsLoaded = True
        End If
    End If
End Function
Quindi nella tua
 public sub posizione()
     if  isLoaded("MASCHERA1") then
         Forms("MASCHERA1").setFocus
         DoCmd.MoveSize 0,1400
    ' if x tutte le maschere
End Sub
Prova cosě se funziona č molto semplificato e come ti dicevo non tiene conto
della
Risoluzione Video, ma questo eventualmente lo risolvi in seguito se ti
serve.
@Alex.

 End Sub
scusami ma cosa è cambiato da quella che ho scritto io? non voglio usare la
procedura passandogli una maschera alla volta!come la procedura presente
nell'help
mi da sempre lo stesso errore. puoi fare una prova tu
grazie ancora

 ha scritto nel messaggio
news:xX2Db.93353$AX1.3...@news1.tin.it...

A me così funziona......!
Se non vuoi passare una Form alla volta devi ciclare la Collection Forms
Se non ricordo la collection di cui sopra è popolata delle sole Form aperte
pertanto controllare che siano aperte non serve.......!
Public Function PosizionaForm()
   Dim n, x As Integer
    n = Forms.Count
    For x = n - 1 To 0 Step -1
         Forms(x).setfocus
        'quì devi decidere tu come posizionarle
        'un esempio può essere questo le mette in fila
        docmd.Movesize Forms(x-1).left+Forms(x-1).Width,0
    Next
End Function
Ciao.
@Alex.
Ciao.
@Alex.