Avatar billede claus66 Nybegynder
29. november 2006 - 15:24 Der er 11 kommentarer og
1 løsning

Ja/Nej/Alle som parameter i forespørgsel

Hej

Jeg har svært brug for hjælp til en forespørgsel. Jeg har to parametre A og B der begge er kriterier til hvert sit felt af typen ja/nej.
Det jeg mangler er muligheden for at finde alle kombinationer af ja/nej/alle. F.eks A=Ja og B=Alle(Ja eller Nej).
Kan det lade sig gøre???
Claus
Avatar billede tolveren Nybegynder
29. november 2006 - 15:26 #1
Hvordan ser din forespørgsel ud lige nu.
Avatar billede tolveren Nybegynder
29. november 2006 - 15:28 #2
Lav en kolonne 3 som svarer til alle. Lad defaultværdien i dette felt være = 1
så kan du altid tælle recorderne
Avatar billede claus66 Nybegynder
29. november 2006 - 15:30 #3
PARAMETERS B Bit, K Bit;
SELECT Format([ansøgningsdato],"yyyy/mm") AS datofelt, Count(tbAnsøgning.AnsøgningsDato) AS AntalOfAnsøgningsDato
FROM tbAnsøgning
WHERE (((tbAnsøgning.A)=[A]) AND ((tbAnsøgning.B)=[B]))
GROUP BY Format([ansøgningsdato],"yyyy/mm");
Avatar billede claus66 Nybegynder
29. november 2006 - 15:32 #4
Det er selvfølgelig en kommentar - ikke et svar
Parametrene er A og B!
Avatar billede tolveren Nybegynder
29. november 2006 - 15:36 #5
Skal du ikke anvende GROUP BY datofelt
Avatar billede claus66 Nybegynder
29. november 2006 - 15:44 #6
Forespørgslen virker fint som den er nu, så længe A og B er af type bit (ja/nej). Det er det jeg vil have ændret til at kunne finde f.eks alle poster hvor A=JA uanset hvad B måtte være og omvent.
Avatar billede tolveren Nybegynder
29. november 2006 - 18:39 #7
Du skal vel have lavet 2 counts. En på A og en på B GROUP BY måned
Avatar billede tolveren Nybegynder
29. november 2006 - 18:55 #8
Prøv den her men ret lige dine felter til:
SELECT DISTINCT tb_ansøgning.Md, Count(*) AS [Antal Of tb_ansøgning], Sum(IIf([Ja]=Yes,1,0)) AS [Antal A], Sum(IIf([Nej]=Yes,1,0)) AS [Antal B]
FROM tb_ansøgning
GROUP BY tb_ansøgning.Md;
Avatar billede Slettet bruger
30. november 2006 - 00:01 #9
SELECT Format([ansøgningsdato],"yyyy/mm") AS datofelt, "A=Ja" AS Udtryk, Count(tbAnsøgning.Ansøgningsdato) AS Antal
FROM tbAnsøgning
WHERE (((tbAnsøgning.A)=Yes))
GROUP BY Format([ansøgningsdato],"yyyy/mm"), "A=Ja"
UNION SELECT Format([ansøgningsdato],"yyyy/mm") AS datofelt, "B=Ja" AS Udtryk, Count(tbAnsøgning.Ansøgningsdato) AS Antal
FROM tbAnsøgning
WHERE (((tbAnsøgning.B)=Yes))
GROUP BY Format([ansøgningsdato],"yyyy/mm"), "B=Ja";
Avatar billede claus66 Nybegynder
30. november 2006 - 09:19 #10
God morgen begge.
Desværre ikke lige det jeg er efter.
Forespørgslen har to input/parametre, A og B som hver, uafhængigt af hinanden, skal kunne antage værdierne ja, nej eller alle. Output er en opgørelse af hvor mange poster pr. måned der opfylder betingelserne A og B

A=Ja, B=Alle -> Kun poster hvor A=ja
A=Alle, B=Alle -> Alle poster
A=Nej, B=ja -> Poster hvor A=nej OG b=ja

eks.:
Dato    AntalOfAnsøgning
2006-10 6
2006-11 15
2006-12 2
Avatar billede claus66 Nybegynder
30. november 2006 - 09:57 #11
En tålelig løsning omend ringe kunne være:
SELECT Format([ansøgningsdato],"yyyy/mm") AS datofelt, Count(tbAnsøgning.AnsøgningsDato) AS AntalOfAnsøgningsDato
FROM tbAnsøgning
WHERE ((((tbAnsøgning.A)=[A1]) OR ((tbAnsøgning.A)=[A2])) AND (((tbAnsøgning.B)=[B1]) OR ((tbAnsøgning.B)=[B2]))
GROUP BY Format([ansøgningsdato],"yyyy/mm");

Hvor JA => A1=ja og A2=ja og Alle=> A1=ja og A2=nej og tilsvarende for B'erne
Avatar billede claus66 Nybegynder
12. december 2006 - 12:26 #12
Lukker desværre for spm.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester