Stewie ha scritto:
Ogni persona avrà un ordinanza
No. Piuttosto il contrario. Una Ordinanza RIGUARDA una Persona. Una Persona può produrre nel corso del tempo molte Ordinanze. Riepilogando tu devi avere 2 tabelle così (poi aggiusterei...vedi dopo):
Persone
IDPersona (contatore, chiave primaria)
Cognome
Nome
Indirizzo
Comune
...altri campi tipicamente anagrafici...
Ordinanze
IDOrdinanza (contatore, chiave primaria)
Protocollo
DataProtocollo
NumeroOrdinanza
DataOrdinanza
IDPersona (numerico)
DataEvasione (io userei un campo così per indicare quando l'Ordinanza viene FATTA SCADERE in un modo o in un altro...piuttosto di un campo Sì/No. In ogni caso si tratterebbe di un campo che solo l'utente può digitare)
Relazione Persone.IDPersona uno-a-molti con Ordinanze.IDPersona.
Sia chiaro che DataProtocollo+>30 e DataOrdinanza+>30 NON DEVONO essere campi da inserire in tabella Ordinanze, ma il frutto di una apposita query che prende i campi DataProtocollo e DataOrdinanza e li fa diventare, grazie a una espressione Data (vedi il link suggerito e trova tu l'espressione più consona a te) DataProtocollo+>30 e DataOrdinanza+>30.
Non finisce qui. Nella query devi aggiungere anche il campo DataEvasione e filtrare Null. In questo modo tu stai filtrando non solo i DataProtocollo+>30 e/o DataOrdinanza+>30, ma affinchè l'avviso cercato non si perpetui in eterno, verifichi anche i Null che ho detto prima.
Devi agire passo passo:
1. Normalizzare da una Tabella in 2 tabelle
2. Crea la query secondo tutte le indicazioni che ho scritto prima
3. Imposta la tua strategia (via macro o codice VBA) per far apparire l'avviso che deve comunque far leva sulla query