Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Filtri multipli
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.