Avatar billede lady Novice
30. juni 2003 - 12:49 Der er 19 kommentarer og
1 løsning

rapporter fra samme forespørgsel

Jeg har en forespøgsel med data. Nu vil jeg gerne lave forskellige rapporter men med forskellige kriterier. Er det så nødvendigt at lave en forespørsel for hver kriterie?
Avatar billede overchord Nybegynder
30. juni 2003 - 13:01 #1
Det kommer lidt an paa...

Hvis det feks er det samme felt men forskellige kriterier kan du skrive [] i kriteriet i forespoergslen hvorefter en inputbox dukker op og mna kan indskrive kriteriet. Denne foresporgslen kan saa vaere grundlaget for din rapport.
Hvis du har flere forskellige felter du vil lave forespoergsler paa skal du nok ud i at have flere forskellige. De kan via kode opbygges og slettes igen i runtime.
Det kommer selvf an paa hvor bekendt du er med koden (vba og lidt sql)
Avatar billede mugs Novice
30. juni 2003 - 13:17 #2
Det er ike nødvendigt at lave mere end een rapport. I stedet for at indsætte kriteriet i forespørgslen flytter du det til en kommandoknap i en formular.
Vender lige tilbage med et eksempel.
Avatar billede juks Novice
30. juni 2003 - 13:21 #3
du kan evt anvende filtre
Avatar billede mugs Novice
30. juni 2003 - 13:24 #4
Vede et alfanumerisk felt kan du bruge flg:
DoCmd.OpenReport "rapport1", acViewPreview, "", "[Tabel1]![tekst]=""a""", acNormal
Der åbner rapport1 hvor Tabel1 feltet tekst er = a

Ved et numerisk felt skal det se således ud:
DoCmd.OpenReport "rapport1", acViewPreview, "", "[Tabel1]![tal]>3", acNormal
Der åbner samme rapport hvor feltet tal er > 3

Begge koder kan du indsætte i hver sin kommandoknap i en formular. I stedet for en tabel, kan du bruge en forespørgsel, syntaksen er den samme.
Avatar billede terry Ekspert
30. juni 2003 - 13:49 #5
mugs has the right idea but not QUITE correct :o)

DoCmd.OpenReport "YourReport", acViewNormal, ,"[Tabel1]![tekst]= 'test'"
Or
DoCmd.OpenReport "YourReport", acViewNormal, ,"[Tabel1]![tal]= 1"

The last paramater is the same as a WHERE clause without "WHERE" !
Avatar billede terry Ekspert
30. juni 2003 - 13:50 #6
and you can use more than one paramater

DoCmd.OpenReport "YourReport", acViewNormal, ,"[Tabel1]![tekst]= 'test' AND [Tabel1]![tal]= 1"
Avatar billede mugs Novice
30. juni 2003 - 13:53 #7
Hi terry > I must say that Your code is more elegant. My code is testet and works.

I Have to go to work now, so I don't have the time to find an example :o)
Avatar billede mugs Novice
30. juni 2003 - 13:55 #8
terry > Now You just to write the code, where You use the field in a form:

DoCmd.OpenReport "rapport1", acViewNormal, ,"tekst = & Me.tekst &

or something like that. I have to run. Have a nice day.
Avatar billede terry Ekspert
30. juni 2003 - 14:17 #9
DoCmd.OpenReport "rapport1", acViewNormal, ,"tekst = '" & Me.tekst & "'"

You have a good day too :o)
Avatar billede lady Novice
02. juli 2003 - 10:38 #10
Jeg kan godt bruger kriterieudvælgelsen. Men hvis jeg skal se alle kort, mangler jeg en eller anden kode.
Avatar billede mugs Novice
02. juli 2003 - 10:43 #11
Hvis du skal se alle poster, lader du blot være med at indtaste et kriterie.
Avatar billede mugs Novice
02. juli 2003 - 10:47 #12
VBA-koden til at udskrive alle poster ser således ud:

DoCmd.OpenReport "rapport1", acViewPreview
Avatar billede lady Novice
02. juli 2003 - 11:04 #13
Hej mugs
Hvis jeg ikke indtaster noget i kriterieboksen som kommer frem vises der intet.
Jeg kunne godt tænke mig at hvis jeg f.eks. satte en * kunne jeg se alle kort i formularen
Avatar billede mugs Novice
02. juli 2003 - 11:16 #14
Det er fordi der ikke er nogen poster der matcher dit kriterie, altså er tom (Null). Du skal helt fjerne [] i forespørgslens kriterie linie. Alternativt kan du kopiere din forespørgsel og fjerne [] her, når du vil se alle poster.

Der skal nok være en funktion, hvor du kan se alle poster, selvom du har [].

Een af svaghederne ved dit valg af metode er, at der er risiko for stavefejl, og dermed forkerte data. Du vil udskrive kort kan jeg forstå. Hvis disse kort indeholder et navn, f.eks. Åge og Aage, så vil jeg mene at risikoen er stor for fejlagtige data. Jo længere ord du skal indtaste som kriterie, jo større er risikoen for fejl. Hvis dine kort indeholder bynavne, så er risikoen overordentlig stor. Tænk på byer som :

Haderslev i Sønderjylland og
Haverslev i Nordjylland.

Jeg vil på det kraftigste opfordre dig til at vælge en anden løsning som skitseret af terry og mig. Jeg skal gerne hjælpe dig videre, men skal på arbejde nu og er først hjemme ca 23:00.
Avatar billede mugs Novice
04. juli 2003 - 14:28 #15
lady > Hvordan går det her? Er dit problem løst?
Avatar billede lady Novice
07. juli 2003 - 13:09 #16
Hej Mugs!
Jeg tror jeg er ved at det løst.
Avatar billede lady Novice
07. juli 2003 - 13:12 #17
Hej Mugs
Du står ikke på listen så jeg kan acceptere dit svar/kommentar.
Avatar billede mugs Novice
07. juli 2003 - 14:30 #18
Det gør jeg nu. Hvilken løsning benytter du?
Avatar billede lady Novice
08. juli 2003 - 07:19 #19
Mugs
løsningen fra kl. 13.24.40
Avatar billede mugs Novice
08. juli 2003 - 08:30 #20
Tak for point.
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