Newsgroup: it.comp.appl.access
Titolo: X Roberto dal Portatile - filtro su date - maschera

ho notato le tue numerose risposte competenti ed esaurienti sulla news.
Mi permetto di esporti questo problema:
Avendo due campi che contengono due date , di cui una quella del PC, l'altra
una data di scadenza post datata.
Quello che vorrei, preferibilmente da maschera e pigiando un pulsante sulla
stessa, fosse una lista di record in cui considerando la data attuale del
PC, inserisca tutti i record avente la data di scadenza che ricadono nel
mese attuale del PC, ed un'altro pulsante che faccia lo stesso ma non in
base alla data del PC,  ma in base ad una data da scegliere e digitare al
momento:
Se sei in grado di rispondere, mi farebbe un enorme piacere
(valido anche per altri!!  :-))
ps si prega dare spiegazioni pratiche ed elementari per la grande ignoranza
al riguardo dello scrivente (io)


Ci provo, sperando che riuscirò a spiegarmi; per risolvere certi problemi di
elementare c'è poco o niente: qualcosina di Access bisogna necessariamente
conoscerla.
Ipotizziamo che la tabella che contiene i dati si chiami Tabella1 ed abbia
la seguente struttura:
ID                        Contatore e chiave primaria
DataScadenza       Data/ora
Importo                Numerico
Creati una query di selezione, basata su Tabella1, chiamata Query1 e che
abbia il seguente codice SQL:
SELECT Tabella1.Id, Tabella1.DataScadenza, Tabella1.Importo
FROM Tabella1
WHERE (((Year([DataScadenza])*100+Month([DataScadenza])) Like
Nz([Forms]![Maschera1]![Pluto],"*")));
Creati una maschera con visualizzazione a Maschere continue chiamata
Maschera1 e che abbia come origine record Query1.
Nell'intestazione (bada bene nell'intestazione e non nel corpo) di Maschera1
inserisci una casella di testo non associata e chiamala DataRic.
Nell'intestazione di Maschera1 inserisci anche una casella di testo non
associata e chiamala Pluto; rendi questo controllo non visibile.
Nell'intestazione di Maschera1 inserisci anche un pulsante di comando e
chiamalo Tutti.
Nell'intestazione di Maschera1 inserisci anche un pulsante di comando e
chiamalo MeseInCorso.
A fronte dell'evento "Su clic" del pulsante di comando Tutti genera il
seguente codice VBA:
Me!Pluto = Null
Me!DataRic = Null
Me.Requery
A fronte dell'evento "Su clic" del pulsante di comando MeseInCorso genera il
seguente codice VBA:
Me!Pluto = Year(Date) * 100 + Month(Date)
Me!DataRic = Date
Me.Requery
A fronte dell'evento "Dopo aggiornamento" della casella di testo DataRic
genera il seguente codice VBA:
Me!Pluto = Year(Me!DataRic) * 100 + Month(Me!DataRic)
Me.Requery
A questo punto se apri Maschera1 vedrai tutti i record contenuti in
Tabella1.
Se poi pigi il pulsante di comando MeseInCorso, vedrai solo i record che
hanno una DataScadenza compresa nel mese della data del PC.
Se digiti una data nella casella di testo DataRic, vedrai solo i record che
hanno una DataScadenza compresa nel mese della data digitata.
Se poi pigi il pulsante di comando Tutti, vedrai nuovamente tutti i record
contenuti in Tabella1.
Spero di essermi spiegato a sufficienza.
Buon 1° maggio.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:FMiH6.7773$0t6.1...@news.infostrada.it...

la spiegazione è impeccabile!, ma la mia ignoranza, mi rendo conto che è
oceanica :-((
chiedo troppo per un esempio pratico con file mdb??
scusa  la sfacciataggine!
ah! grazie per il buon 1° maggio spero di non passarlo a incagliarmi con
questo problema.
una curiosità, ma per imparare ad usare access al tuo livello, quanto tempo
ci vuole e quali libri imparare?'

 e quali libri imparare?'
Una buona guida all'uso di Access penso che sia necessaria: nella nuova
Sezione Libri del Sito Comune (link qui sotto) ce ne sono indicate alcune.
Un buon manuale serve a capire le cose basilari ma soprattutto ad acquisire
la terminologia necessaria a capire e farsi capire.
Però i libri penso proprio che non siano sufficienti. Devi imparare
soprattutto realizzando inizialmente cose facili; devi imparare leggendo più
messaggi possibile di questo NG e da essi capire anche come vengono risolti
i problemi posti dagli altri (prima o poi diventeranno i tuoi); devi
imparare ad usare strumenti insostituibili come l'help ed il Sito Comune;
impari vivisezionando gli esempi che trovi in giro (con Access la Microsoft
te ne ha forniti almeno tre); devi imparare creando dei database con
l'Autocomposizione Database di Access e cercando di capire come sono
relizzati.
Certo che agli inizi devi trovare, anche con sacrificio, molto tempo e molta
voglia di studiare.
Cerca di farti venire la curiosità di apprendere cose nuove: se ci riuscirai
non vedrai più Access come le Forche Gaudine sotto le quali devi passare per
realizzare un database, ma, con lo spirito della sfida continua, lo
considererai uno strumento piuttosto complesso da dominare e se ce la
metterai tutta stai tranquillo che lo domerai alle tue necessità.


 > al riguardo dello scrivente (io)
----------------------------------------------------------------------------
-------->

--------------------------------------------------------------------------
ci ho provato, ma non mi funziona, quando pigio sul pulsante di comando
Tutti o MeseInCorso, mi da il seguente errore "" Errore di run-time "2465" -
Impossibile trovare il campo "Pluto" a cui si fa riferimento
nell'espressione"" mentre se voglio inserire una data nella casella di testo
DataRic, non mi permette di scrivere niente.
Ho provato a farlo 3 volte seguendo le istruzioni, ma è sempre lo stesso.
Da premettere che al passo "crea una query di selezione" ho usato la voce
"creazione guidata mediante una creazione guidata " e dopo averla fatta,
andando in visualizzazione struttura, alla voce Queri ->SQL
specifico ->Definizione dati ho inserito il codice
SELECT Tabella1.Id, Tabella1.DataScadenza, Tabella1.Importo
FROM Tabella1
WHERE (((Year([DataScadenza])*100+Month([DataScadenza])) Like
Nz([Forms]![Maschera1]![Pluto],"*")));
Nella creazione della maschera, la tua dicitura "con visualizzazione a
maschere continue" non l'ho capita e sperando di aver fatto bene ho usato
"Crea una maschera mediante una creazione guidata", alla fine, in
visualizzazione struttura, ho inserito il testo non associato e i pulsanti
di comando.
Alla creazione del pulsante di comando, appare una finestra "scegliere
l'azione da associalre al pulsante, io ho lasciato la voce di default
("categoria = Spostamento tra record" e "Azione = Trova Record") e andando
avanti ho dato il nome Tutti sia al testo contenuto nel pulsante che il nome
del pulsante.(stessa cosa per "MeseInCorso")
il codice da inserire su clik l'ho incollato nella finestra del codice nel
punto in cui si trovava il cursore.
Dove ho sbagliato?
ti ringrazio per la pazienza che stai dimostrando.
ti posso mandare il file realizzato se non mi sono spiegato bene.
grazie

 più di 36 anni. :-))
============= complimenti!  che abisso fra di noi !   :-(

=================questo è un consiglio che sto' cercando di seguire, anche
se per ora è molto difficile.
infatti sto' leggendo vari libri dell'Apogeo dedicati ad Access, a volte
incomprensibili, a volte elementari.
La buona volontà ce la stò mettendo, ma ce ne vuole ancora.....
ciao!

 grazie
Prego
