Il Filtro Di Microsoft Access Sottomaschera

Ho una sottomaschera popolate con compiti diversi. Voglio filtro li DUE_DT con un filtro che avviene automaticamente. Alcuni dei record vuoto e DUE_DT, che vorrei filer fuori. Vorrei anche filtrare i record in cui DUE_DT è passati più di 30 giorni. Ho provato ad usare il VB, ma non sono stato in grado di trovare la sintassi appropriata.

InformationsquelleAutor Mike | 2013-07-30

 

3 Replies
  1. 0

    “Voglio filtro li DUE_DT con un filtro che avviene automaticamente.”

    Io non sono molto sicuro di ciò che hai in mente, ma mi chiedo se che potrebbe essere gestito da un WHERE clausola nella sottomaschera record di una query di origine.

    WHERE DUE_DT >= Date() - 30

    Che sarà automatico, nel senso che il filtro si applicano sempre.

    Nota non è necessario aggiungere un’altra condizione per escludere esplicitamente i valori Null (come DUE_DT Is Not Null) perché Null non è >= Date() - 30.

    • Ho provato il tuo suggerimento nella Query di Origine Record, e quando eseguo la query, sto ottenendo i risultati di cui ho bisogno. Tuttavia, quando ho aperto la maschera in Visualizzazione maschera, la sottomaschera uscite gli stessi risultati, come se la query non viene utilizzata. Avete qualche suggerimento su come risolvere questo problema?
    • Quando si esegue la query, si ottengono i risultati desiderati. Che suoni corretta per me, quindi non capisco … hmm … quando hai detto query di origine record, volevi dire l’origine record della maschera principale o la sottomaschera? Volevo dire la sottomaschera in origine record.
    • Purtroppo, non vedo l’opzione per modificare la query di origine record per la sottomaschera.
    • Chiudere la maschera principale. Aprire la sottomaschera in Visualizzazione struttura. Quindi regolare la sua proprietà origine record.
    • Grazie mille, sei un assoluto salvagente. Molto simile a un giubbotto di salvataggio di un uomo disperso in mare.
  2. 3

    Qui è la sintassi per appplying un filtro a un sotto-modulo:

    Forms!MyMainForm.ASubFormOnMyMainForm.Form.Filter = "whatever your filter is"
    Forms!MyMainForm.ASubFormOnMyMainForm.Form.FilterOn = True
  3. 0

    Provare questo in VBA, dovrebbe funzionare su ogni modulo o modulo è messo in:

    Form_subFormName.Filter = "DUE_DT IS NOT NULL AND DUE_DT >= #" & (Date - 30) & "#"
    Form_subFormName.FilterOn = True

    Sostituire il subFormName in Form_subFormName con il nome della sottomaschera, ma mantenere il Form_.

    • Sto lottando per fare questo lavoro sono [Form] e [subFormName] dovrebbero essere modificata con il nome di questa maschera/sottomaschera?
    • Io modificare il post per chiarire che, mi spiace 🙂

Lascia un commento