Avatar billede rasmusd Praktikant
13. september 2002 - 13:11 Der er 7 kommentarer

FIlter på mange rapporter

Hej, jeg har en udskrivningsformular med 20 rapporter på , jeg har derudover brug for at kunne filtrere på dem, via 3 kriterier, jeg har felterne i formularen.
Dvs. hvis der er valgt et kriterie skal filteret bruge det, hvis to skal filteret bruge det, osv, filteret skal ikke bruges hvis der ikke er valgt noget.
Findes der en smart måde at lave filter på som omfatter samtlige rapporter.
Avatar billede hekla Nybegynder
13. september 2002 - 16:18 #1
Du kan lave det med tre if-sætninger indeni hinanden. F.eks:

if felt1 = kriterie1 then
if felt2 = kriterie4 then
  if felt3 = kriterie7 then
    DoCmd.OpenReport "Rapport1", acPreview
    exit sub
  elseif felt3 = kriterie8 then
    DoCmd.OpenReport Rapport2, acPreview
    exit sub
  elseif felt3 = kriterie9 then
    DoCmd.OpenReport "Rapport3, acPreview
    exit sub
  end if
elseif felt2 = kriterie5 then
  if felt3 = kriterie7 then
    DoCmd.OpenReport "Rapport4", acPreview
  exit sub
  elseif felt3 = kriterie8 then
    DoCmd.OpenReport Rapport5, acPreview
  exit sub
  elseif felt3 = kriterie9 then
    DoCmd.OpenReport "Rapport6, acPreview
  exit sub
  end if
osv. osv.
Avatar billede rasmusd Praktikant
13. september 2002 - 22:24 #2
Nej, det var ikke lige det.
Jeg håbede på en metode, hvor man ved valg af en af rapporterne, fik lavet det filter der var valgt i et eller flere kriteriefelter. dvs. samme fuktion til alle rapporter.
Det kan jeg ikke læse ud af dit svar, rapporterne vælges ikke udfra kriterierne
Avatar billede hekla Nybegynder
13. september 2002 - 23:59 #3
Så tror jeg at du skal lave dine rapporter ud fra forespørgsler, hvor du i kriterierne henviser til din formular. F.eks:

SELECT * FROM tabel1 WHERE ((tabel1.tabelfeltnavn) = ([forms]![formularnavn]![formularfeltnavn]))
Avatar billede rasmusd Praktikant
14. september 2002 - 08:06 #4
Jamen, det har jeg lavet flere gange, men munder ud i at hvis der ikke er valgt noget i formularen, er alt data sorteret fra, hvis man kunne sortere fra via hvis null ingen udvælgelse og hvis ikke null udvælgelse, kunne det bruges
Avatar billede hekla Nybegynder
14. september 2002 - 15:59 #5
Den hedder:

If DCount("*", "forespørgselsnavn") = 0 Then
msgbox "Der findes ingen poster, som kan skrives i rapporten"
exit sub
else
docmd.openreport "Rapportnavn", AcPreview
end if

Har du en knap til hver rapport, eller hvordan vælger du rapport?
Avatar billede rasmusd Praktikant
14. september 2002 - 16:51 #6
Hej, jeg sætter pris på at du gider at svare.
Men, det du skriver der, klarer jeg ved rapporten "Ved ingen Data", det der er galt er at der ikke kommer nogen data, når kriteriefeltet ikke er valgt, skal alle data komme med, det var det jeg ville via filter. Når man bruger feltet i forespørgslen kommer man ud i at alle data er frasorteret ved ingen valg. jeg har en knap til hver af de 20 rapporter.
Avatar billede nbhe Nybegynder
17. september 2002 - 09:53 #7
Jeg har samme problem desværre uden en løsning, jeg har en formular med et antal felter som skal kunne udfyldes, og derefter skal en forespørgsel så finde de poster som matcher de udfyldte søgekriterier.
Jeg har forsøgt med at indsætte både * og ? i det eller de kriteriefelter som eventuelt ikke i den aktuelle søgning skal indeholde et kriterie.
Men det resulterer altid at ingen poster udvælges.
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