Newsgroup: it.comp.appl.access
Titolo: Modulo caricata e Maschere criteri di ricerca

Ciao a tutti.
Uso regolarmente il codice di cui sotto per far aprire una determinata 
maschera con i criteri di ricerca dei valori di mio interesse.
Premesso che tutto funziona benissimo, ma per semplificare ho provato a 
metter mano al codice inserito nel report, senza cavarne nulla o peggio, 
ricevendo solamente segnalazioni d'errore.
Il modulo caricata non è stato toccato, mentre il codice del report ho 
provato a riscriverlo al fine di poterlo utilizzare come modulo pubblico da 
richiamare nel report nel seguente modo: Call 
Caricata(MascheraCriteriDiRicercaDaAprirePassataComeVariabile). Diversamente 
per ogni maschera per la ricerca devo cambiare il nome in diversi punti, 
rischiando oltretutto di sbagliare.
Per cortesia, potete aiutarmi a cambiare il codice contenuto nel report.
Mille grazie
            Bruno
---------------------------------------
1 )  Modulo Caricata
---------------------------------------
Option Compare Database
Option Explicit
 Function Caricata(strFrmNome As String) As Boolean
    '  Determina se una maschera è caricata.
    Const conStrutturaMaschera = 0
    Dim intX As Integer
    Caricata = False
    For intX = 0 To Forms.count - 1
        If Forms(intX).FormName = strFrmNome Then
            If Forms(intX).CurrentView <> conStrutturaMaschera Then
                Caricata = True
                Exit Function  ' Esce dalla funzione dopo che la maschera è 
stata trovata.
            End If
        End If
    Next
End Function
---------------------------------------------
2 )  Codice contenuto nel report.
---------------------------------------------
Option Compare Database  ' Utilizza il tipo di ordinamento del database per 
confrontare le stringhe.
Option Explicit  ' Richiede la dichiarazione delle variabili da utilizzare.
' Variabile impostata come vera durante l'esecuzione dell'evento 
Report_Open.
Public blnOpening As Boolean
Private Sub Report_Close()
' Chiude la maschera contenente i criteri di ricerca.
   Dim strNomeDoc As String
    strNomeDoc = "F_Ricerca_Ispez"
    DoCmd.Close acForm, strNomeDoc
    DoCmd.Restore
End Sub
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Private Sub Report_Open(Cancel As Integer)
' Apre la maschera contenente i criteri di ricerca.
' La funzione Caricata (definita nel modulo Funzioni di utilità) determina
' se la maschera specificata è aperta.
    Dim strNomeDoc As String
    strNomeDoc = "F_Ricerca_Ispez"
    ' Imposta la variabile pubblica come vera se il report
    ' è nell'evento Apertura.
    blnOpening = True
    ' Apre la maschera.
    DoCmd.OpenForm strNomeDoc, , , , , acDialog
    ' Se la maschera non è caricata, non visualizza in anteprima o stampa i 
report.
    ' (È stato selezionato il pulsante Annulla dalla maschera.)
    If Caricata(strNomeDoc) = False Then Cancel = True
    ' Imposta la variabile pubblica come falsa per indicare che l'evento 
Apertura è concluso.
    blnOpening = False
End Sub

 maschera con i criteri di ricerca dei valori di mio interesse.
[...]
Risparmiando tutte le prolissità del codice di Bill Gates prova
a dire in parole povere quello che vuoi fare.
Vuoi aprire un report il quale accerti se una determinata scheda
risulta aperta, indi se sì faccia così, diversamente faccia cosà.
Ciao
Bruno 

 ha scritto nel messaggio 
news:oQRPd.887851$35.33...@news4.tin.it...

-----------------------------------
Ciao.
E' proprio così come hai scritto sopra.
Grazie e scusa se non ho risposto subito, ero fuori casa.
             Bruno 

 wrote in message 
news:u1oQd.545520$b5.25...@news3.tin.it...

Metti le seguenti linee di codice in OnOpen del tuo Report:
-----------------------------------------------------
On Error GoTo FormNotLoaded
If IsNumeric(Forms!Form5.DefaultView) Then
    MsgBox "Aperta"
End If
Exit Sub
FormNotLoaded:
On Error GoTo 0
MsgBox "Non Aperta"
----------------------------------------------------
Form5 è il nome della scheda della quale vuoi verificare
l'apertura.
Ciao
Bruno 

 ha scritto nel messaggio 
news:mPpQd.546161$b5.25...@news3.tin.it...

----------------------------------------
Mille grazie
    Bruno s95