Condividi tramite

Filtri multipli

Anonimo
2019-04-01T08:57:12+00:00

Buongiorno a tutti

premetto che sono un neofita di Access per cui il mio problema farà sorridere qualcuno ma, per me è invece molto importante.

Ho creato un a maschera continua da una tabella (SCADENZARIO) che contiene più campi, questi sono:

ID = Numerazione Automatica

CLIFOR = campo Testo, indica se CLIENTE o se FORNITORE

FATTURA = campo Testo, indica il numero di fattura

DATAFT = campo Data, Indica la data della fattura

DATASC = campo Data, indica la data di scadenza della fattura

IMPORTO = campo Numerico, indica l'importo della fattura

NOMINATIVO = campo Testo, indica il nome del cliente/fornitore, preleva il dato da una tabella ANAGRAFICA

BANCA = campo Testo, indica il nome della banca, preleva il dato da una tabella BANCHE

TIPO = campo testo, indica la modalità di pagamento/incasso, preleva il dato da una tabella TIPOLOGIA

ANTICIPO = campo SI/NO, indica se la fattura è stata o meno anticipata in banca

DATAPG = campo Data, indica, se compilato, la data di pagamento/incasso della fattura

NOTE = campo Testo lungo, indica eventuali note

DATAOGGI = campo Data, con valore predefinito =Date$(), viene aggiornato ogni volta che si apre la maschera

DAY = campo calcolato, riprende il numero del giorno dal campo DATAOGGI

MESE = campo calcolato, riprende il numero del mese dal campo DATAOGGI

ANNO = campo calcolato, riprende il numero dell'anno dal campo DATAOGGI

STATO = campo calcolato, effettua un calcolo particolare per verificare se la fattura è stata o meno pagata/incassata e assegna un valore (TESTO) diverso a seconda della situazione, del tipo (INCASSATA/SCADUTA/IN ATTESA)

(I Campi DATAOGGI; DAY; MESE e ANNO sono stati creati esclusivamente per calcolare il campo STATO)

la maschera continua riporta i seguenti dati presi da una query di selezione (viene filtrato il campo CLIFOR):

ID - FATTURA - DATAFT - DATASC - IMPORTO - NOMINATIVO - BANCA - TIPO - DATAPG - STATO

veniamo al problema, riesco ad effettuare la ricerca solo tramite due filtri, ovvero tramite un filtro sui NOMINATIVI e sulle BANCHE ma non riesco a effettuare filtri multipli, ad esempio sul TIPO, sullo STATO, sulle DATE ecc.

i filtri li ho creati tramite VBA, riporto di seguito il codice:

Private Sub cboDENOMINAZIONE_AfterUpdate()

    On Error Resume Next

    If Left(Me.cboDENOMINAZIONE, 1) = "(" Then

        cboBANCA.Enabled = True

        cboBANCA = ""

        Me.FilterOn = False

    Else

        cboBANCA = ""

        cboBANCA.Enabled = False

        Me.Filter = "NOMINATIVO='" & Me.cboDENOMINAZIONE & "'"

        Me.FilterOn = True

    End If

End Sub

Private Sub cboBANCA_AfterUpdate()

    On Error Resume Next

    If cboDENOMINAZIONE = "(TUTTO)" Then

        cboBANCA.Enabled = True

        StrCriteria = Replace(Me.cboBANCA, "'", "''")

        StrCriteria = "[banca] like '" & StrCriteria & "'"

    Else

        cboBANCA = ""

        cboBANCA.Enabled = False

    End If

    DoCmd.ApplyFilter , StrCriteria

End Sub

dove con cboDENOMINAZIONE ho chiamato la casella combinata che riporta i NOMINATIVI e con cboBANCA la casella combinata che riporta la BANCA.

è possibile, utilizzando VBA, inserire più filtri? mi interesserebbe anche effettuare filtri per limiti di data.

Ringrazio in anticipo tutti coloro che vorranno aiutarmi

C. Miranda

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

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