Newsgroup: it.comp.appl.access
Titolo: Filtro per Anno

Salve a tutti. 
Ho una tabella in Access 2007 chiamata "TBL_distribuzioni" con i seguenti campi: 
--------- 
ID_Dist  Numerazione automatica 
ID_Ass   Numerico 
DataDist Data/Ora 
Consegnato Si/No 
--------- 
Dovrei creare un filtro che mi elencasse tutti i nominativi che non si sono presentati dalla ultima data presente in archivio e cioè al campo "DataDist". 
 
Premetto che la tabella in questione fa parte di una sottomaschera, i quali nominativi vengono presi dalla tabella "TBL_Assistiti". 
Mi date un aiuto? 
Grazie a tutti. 
Scusate mi sono dimenticato di scrivere che il filtro mi deve elencare tutti gli assistiti che non si presentano da due anni e disporre per la cancellazione. 
Grazie e scusate la dimenticanza.

 cancellazione.  Grazie e scusate la dimenticanza.
1 - Il filtro si può ottenere con una query che vai ad aprire dalla
    finestra database e che ti mostra solo quelli che...
2 - Con due pulsanti da form: uno ti filtra l'elenco dei record,
    l'altro ti annulla il filtro. Per l'eliminazione, sempre da form,
    ci sono varie possibilità.
3 - Codice VBA che ti elimini quelli che..., in completo background.
 
Io opterei per la 2.
 
Bruno

Ciao, grazie del tuo intervento, mi dici come fare la 2 opzione che mi Consigli?  Grazi

 Consigli?  Grazi
 
In OnClick di un CommandButton nella scheda che abbia come RecordSource
la tabella TBL_Distribuzioni, per attivare il filtro:
FilterOn = True
DoCmd.ApplyFilter , "[DataDist]<DateAdd("YYYY",-2,Date())"
 
Per disattivare il filtro, analogamente in altro CommandButton:
FilterOn = False
Requery
 
Con le date non si è mai sicuri del risultato se non si verifica.
E io non ho i dati per farlo, se hai problemi mandami il file coi
dati essenziali.
 
Bruno


Solo una riflessione, che credo fosse quanto ipotizzava Bruno.
 
Da fare attenzione al Campo [DataDist] se viene popolato con l'estensione hh:mm:ss, o solo con dd/mm/yyyy ci si potrebbe trovare qualche sorpresa sulle Date BORDERLINE..., a quel punto si dovrebbe fare un FIX(DataDist)...
 
 
@Alex

 Date BORDERLINE..., a quel punto si dovrebbe fare un FIX(DataDist)...
 
Riflessione per riflessione... metter le ore assieme alle date a me è
sempre sembrato una gran cazzata.
Comunque de gustibus...
 
E comunque con:
SELECT TBL_Distribuzioni.ID_Dist, TBL_Distribuzioni.ID_Ass, 
Format([DataDist],"dd-mm-yy") AS DataD, TBL_Distribuzioni.DataDist, 
TBL_Distribuzioni.Consegnato
FROM TBL_Distribuzioni
WHERE (((Format([DataDist],"dd-mm-yy"))<DateAdd("yyyy",-2,Date())) AND 
((TBL_Distribuzioni.DataDist)<DateAdd("yyyy",-2,Date())));
 
la query riproduce la selezione evidenziando in DataD le sole date,
in DataDist le date e le ore.
L'OP sceglierà quel che più gli aggrada.
 
Incidentalmente ho notato che se voglio far apparire una data-ora per
es. 10:06:17 00:00:00 per una operazione fatta a mezzanotte,
la query e il campo della tabella mi mostrano solo 10:06:17, dovrò
quindi inserire l'ora indicando almeno un secondo: 00:00:01.
 
Bruno


Hai provato ad usare FIX(CampoData) come ho indicato prima..., penso sia un buon compromesso per evitare quello che hai appena esposto, che appunto era l'oggetto della mia osservazione.
 
@Alex


Ciao, ti faccio sapere se funziona quanto torno a casa questa sera


Non conosco il comando e non so neanche dove inserire il comando, se mi posti qualche esempio lo provo stasera quando torno a casa e ti faccio sapere.


Ciao, per fare prima ti posto il link dove poi scaricare il file in access 2007 così gli puoi dare un occhiata e mi fai sapere.
https://drive.google.com/file/d/0BzxHP1k-hVGQaE1fWEVhSXJDRkE/view?usp=sharing
 

 
https://drive.google.com/file/d/0BzxHP1k-hVGQaE1fWEVhSXJDRkE/view?usp=sharing
 
 
- Se non ho la finestra database col suo ribbon originale io non ci so
  metter le mani.
 
- Una volta che sappia metterci le mani che cosa dovrei fare?
 
Bruno


Pensavo che lo sapessi fare, cmq tieni premuto il tasto maiuscolo di sx e biclicca sul file  (tieni premuto il tasto maiuscolo fino che non si apre definitivamente il db in modalità struttura e poi lo lasci) che si apre in modalità struttura e da li disabilta l'apertura a tutto scermo e il menu nascosto(da codice vb).
Volevo farti vedere il file popolato con alcuni nominativi e quando si apre la prima scermata in formato tabella biclicca su un nominativo qualsiasi e ti si apre na maschera di inserimento dati con  che due sottomaschere quella  di mio interesse è quella alla tua dx e cioè quella solo con la data e la casella di controllo.
Ecco la mia domanda:
è possibile all'apertura del db si apra una maschera che mi avvete che ci sono tot iscritti che non si presentano da due o più anni a ritirare (minimo due anni) e con un pulsante anteposta alla domanda: Vuoi vedere la lista dei nominativi che non si presentano  da tot anni? Si/No e poi farmi uscire la lista dei nomi da poter cancellare o riattivarli.
Questo è tutto.
Ti ringrazio della tua pazienza nel leggere e .

..:: GiGhEn ::.. explained on 20-09-17 :

La mia pazienza è già finita.
Quando mi manderai un file che si apra senza trucchi, con schede al cui
design possa accedere premendo l'apposito tasto della finestra
database, che non contenga Autoexec in formato macro 1992 e altre
amenità del genere (sto usando un eufemismo!)... ne riparliamo.
 
Bruno
 
si aprano

 
 
Pensavo che con l'età si diventasse più pazienti... dai Bruno applicati.
 
@Alex
 

 Pensavo che con l'età si diventasse più pazienti... dai Bruno applicati.
 
No, no, no!
È proprio vero il contrario: meno pazienti e meno tolleranti.
 
Non ho mai sopportato i programmatori che in considerazione della
ritenuta stupidità dell'utilizzatore finale mettono in atto stupidi
accorgimenti quali il richiedere continue conferme, celare l'accesso
a interazioni che potrebbero pregiudicare il funzionamento del loro
prezioso codice, etc.
 
L'utilizzatore finale, ancorché genericamente inesperto, deve essere
lasciato limitatamente libero di sbagliare e non considerato un
perfetto imbecille capace di combinare chissà quali guai.
 
Ché solo sbagliando s'impara!
 
Bruno


Ma come non hai tutti quei trucchi per mettere e togliere i blocchi al VBA e blindare il SW...?
Ma che programmatore sei...? 
 
Non mi esprimo su queste cose... ho un concetto un po mio... più o meno giusto possa essere... lascio sempre tutto aperto.
Chi si sente il DRAGO del VBA ha diritto di smanettare su quello che faccio io... se ci capisce(faccio fatica io a volte)...
 
;-)
 
@Alex

@Alex expressed precisely :

Lo stesso faccio io!
E chi vuoi che ci metta le mani nei panni sporchi altrui?
Dopo una settimana non mi ricordo più il perché ho messo lì quella
istruzione If...
Né mi son mai sognato di porre righe di commento, che se
l'avessi fatto avrei perso più tempo ad aggiornar quelle che tutto il
resto.
 
Abbiamo perso il nostro OP.
Mi spiace se l'ho indisposto con le mie parole.
Dai risalta fuori che @Alex ci sa andar dentro al tuo programma.
 
Bruno