Query access con ordinamento relativo a anno e mese

lunedì 23 novembre 2009 - 20.36

pusher Profilo | Newbie

Salve, ho un db in access2007. In una particolare tabella, in cui tramite query vengono inseriti tutti gli interventi tecnici, ho bisogno di generare dei report filtrati per mese.
in origine avevo pensato di filrarli usando un criterio con il parametro between del tipo

WHERE ((([Totale per intervento].Data) Between #5/1/2009# And #5/31/2009#));
questa ad esempio come si puo capire benissimo è per filtrare i record relativi al mese di maggio 2009



ma così facendo mi rendo conto che avrò all'infinito necessità di creare una query per ogni mese DI OGNI ANNO....!!!
vorrei fare in modo che magari, all'esecuzione della query, venga proposto un form dove viene selezionato dapprima l'anno ( che avrà come come valore suggerito l'anno attuale) e in seguito il mese ( anche quì suggerito quello attuale ma logicamente sostituibile da uno differente tramite menu a tendina), con un pulsante che esegua la query in base al filtro appena indicato. Eventualmente anche se l'anno e il mese sono scritti in formato numerico e a mano, quindi non selezionabile da tendina non è che casca il mondo!!!


Qualcuno potrebbe gentilmente aiutarmi in quest'impresa? non ho molta esperienza di access, ma leggendo tra forum e guide sono riuscito a tirarmi su un buon gestionale, che per le mie esigenze è ottimo, e soprattutto dà soddisfazione usare qualcosa di autoprodotto!!!

ma_di Profilo | Junior Member

Ciao.
Ti premetto che non ho mai usato Access, ma ad ogni modo, se metti le due date in due stringhe e le concateni penso che il gioco sia fatto.

In VB:

Dim dt1 as string
Dim dt2 as string
dim qry as string

dt1="01/01/2009"
dt2="31/01/2009"

qry="where....between " + dt1 " and " + dt2

Ho scritto al volo...non ho verificato il codice, ma l'idea è questa.



pusher Profilo | Newbie

grazie per l'interessamento!!!
comunque nel frattempo, leggendo e straleggendo, ho risolto creando una maschera con delle textbox, in cui vengono inseriti in una l'anno e in una il mese, e tramite una query che le legge, li paragona usando datepart con "aaaa" e "m" come parametri, restituisce i vari record filtrati!!!


a grandi linee è qualcosa tipo
WHERE ((DatePart("yyyy",([tABELLA].[Data]))) Like [Forms]![maschera]![Testo1].[Value]);

Grazie ancora per l'interessamento!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5