FILTRO SU CARICAMENTO - ACCESS 2019

Anonimo
2023-01-18T10:45:11+00:00

Buongiorno. Su Access 2019, all'apertura delle maschere, i dati vengono filtrati in base all'ultimo filtro applicato all'apertura precedente... questo perché c'è selezionato sulle proprietà di maschera, il "Sì" sul campo "filtro al caricamento". Sto usando un database convertito da una precedente versione dove nelle proprietà di machera questa possibilità del filtro su caricamento non era prevista e su ACCESS 2019 a quanto pare lo mette per default si "Sì"... Come posso massivamente cambiare questa impostazione su tutte le maschere del database postando il dato su "No"? Grazie.

Microsoft 365 e Office | Access | Per la casa | Altro

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

6 risposte

Ordina per: Più recente
  1. Anonimo
    2023-01-19T08:26:49+00:00

    Vorrei eseguire l'operazione su tutte le maschere, pertanto starei cercando un comando da eseguire una volta sole e non pensarci più.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-01-19T07:52:42+00:00

    ciao R RDF,

    francamente non realizzerei una routine VBA che si occupi di reimpostare la proprietà FilterOnLoad, imposta semplicemente il reset del filtro su scaricamento della form, alla successiva riapertura dovresti essere allineato :

    Private Sub Form_Unload(Cancel As Integer) 
    
    With Me 
    
        .Filter = vbNullString 
    
        .FilterOn = False 
    
    End With 
    

    End Sub

    valuta magari anche questa opzione su apertura :

    Private Sub Form_Open(Cancel As Integer) 
    
    With Me    
    
          .Filter = "1=0"     
          .FilterOn = True 
    
    End With 
    
    End Sub 
    

    e questa nel caso in cui si tenti di rimuovere forzatamente il filtro agendo sul ribbon :

    Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer) 
    
    Cancel = (ApplyType = 0) 
    

    End Sub

    HTH. ciao, Sandro

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2023-01-19T06:58:47+00:00

    Option Compare Database

    Sub DisableFilterOnLoadForAllForms()

    CurrentDb.AllForms

    frm.FilterOnLoad = False

    End Sub

    scusa, ma non sono pratico nella scrittura VBA

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2023-01-18T15:54:20+00:00

    Mi scuso se la mia risposta precedente non è stata utile. La riga di codice menzionata, "Form.FilterOnLoad = True", non è una proprietà predefinita per i moduli in Access. Questo codice esisterebbe solo se è stato aggiunto al modulo del modulo da uno sviluppatore o se faceva parte di una funzione personalizzata o di una subroutine.

    Se si desidera disabilitare la proprietà Filtro al caricamento per tutti i moduli nel database, sarà necessario creare una funzione o una subroutine che scorrerà tutti i moduli nel database e impostare la proprietà FilterOnLoad su false per ogni modulo.

    È possibile utilizzare il frammento di codice seguente come punto di partenza:

    Sub DisableFilterOnLoadForAllForms() Per ogni frm in CurrentDb.AllForms frm. FilterOnLoad = False Avanti frm Fine sub

    È necessario eseguire questa subroutine per eseguirla e disabilitare il filtro sul caricamento per tutti i moduli nel DB.

    Si noti che questo funzionerà solo per i moduli che hanno la proprietà di filtro sul caricamento abilitata, se la proprietà non è abilitata per alcuni moduli non cambierà nulla.

    Saluti

    Abdal

    Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2023-01-18T15:41:45+00:00

    Grazie, ma non trovo nessun modulo che abbia la riga cui ti riferisci.

    La risposta è stata utile?

    0 commenti Nessun commento