Filterne må være slått på i oppsett, og om man da i SQL vil vise til et av filterne kan man bruke følgende:
?Ans1 = Fra Ansatt
?Ans2 = Til Ansatt
?Dato1 = Fra Dato
?Dato = Til Dato
?Pro1 = Fra Prosjekt
?Pro2 = Til Prosjekt
?Avd1 = Fra Avdeling
?Avd2 = Til Avdeling
?Anl1 = Fra Anlegg
?Anl2 = Til Anlegg
?Kun1 = Fra Kunde
?Kun2 = Til Kunde
?Art1 = Fra Art
?Art2 = Til Art
?Arb1 = Fra Arbeidstype
?Arb2 = Til Arbeidstype
Med datofelter satt på kan man for eksempel lage en SQL som dette:
SELECT [Fornavn] & " " & [Etternavn] AS Ansatt, tblTimeregistrering_behandlet.Dato, [tblArbeidsarter].[ArbeidsartNr] & " " & [ArbeidsartNavn] AS Timetype, tblTimeregistrering_behandlet.Ma_Timer AS Antall
FROM (tblAnsatte INNER JOIN tblTimeregistrering_behandlet ON tblAnsatte.Ansattnummer = tblTimeregistrering_behandlet.AnsattID) INNER JOIN tblArbeidsarter ON tblTimeregistrering_behandlet.ArbeidsartNr = tblArbeidsarter.ArbeidsartNr
WHERE (((tblTimeregistrering_behandlet.Dato)>?dato1));
Eller med begge datofiltrene på som dette:
SELECT [Fornavn] & " " & [Etternavn] AS Ansatt, tblTimeregistrering_behandlet.Dato, [tblArbeidsarter].[ArbeidsartNr] & " " & [ArbeidsartNavn] AS Timetype, tblTimeregistrering_behandlet.Ma_Timer AS Antall
FROM (tblAnsatte INNER JOIN tblTimeregistrering_behandlet ON tblAnsatte.Ansattnummer = tblTimeregistrering_behandlet.AnsattID) INNER JOIN tblArbeidsarter ON tblTimeregistrering_behandlet.ArbeidsartNr = tblArbeidsarter.ArbeidsartNr
WHERE (((tblTimeregistrering_behandlet.Dato)between ?dato1 AND ?dato2));
Det er viktig å merke seg at normalt at man ikke skal bruke # foran dato felter, og heller ikke ' foran tekstfelter, slik man ville gjort her:
Select * from tblOppgaver where OppgaveNr=’1000’;
Select * from tblTimeregistrering_behandlet where dato >=#01/01/2011#;
Når man bruker filteret erstatter man disse slik:
Select * from tblOppgaver where OppgaveNr=?Pro1;
Select * from tblTimeregistrering_behandlet where Dato >=?Dato1;
Denne rapporten er laget ved hjelp av Sql-Rapport:
Som en ser er det mulig å legge til en delrapport for eksempel til summering nederst.
Slik er rapporten satt opp:
Når man kjører rapporten kommer det ene filteret man har valgt frem, og man må velge en dato:
Man kan slå på alle filterne – men det er SQL setningen som bestemmer om filterne virker. Det hjelper ikke å slå på FraDato og TilDato
dersom man ikke bruker filterne ?Dato1 og ?Dato2. Det er viktig å merke seg at disse filterne er case-sensitive, så ?dato1 vil ikke virke.
Et eksempel til:
Slå på Avdelingsfilter og datofilter fra til:
Sql som lister timer for en avdeling i en bestemt periode.