Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Vorrei eseguire l'operazione su tutte le maschere, pertanto starei cercando un comando da eseguire una volta sole e non pensarci più.
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
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.
Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
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.
Vorrei eseguire l'operazione su tutte le maschere, pertanto starei cercando un comando da eseguire una volta sole e non pensarci più.
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
Option Compare Database
Sub DisableFilterOnLoadForAllForms()
CurrentDb.AllForms
frm.FilterOnLoad = False
End Sub
scusa, ma non sono pratico nella scrittura VBA
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.