Avatar billede shadowdance Nybegynder
11. juli 2006 - 11:34 Der er 9 kommentarer og
1 løsning

Rapporter med parametre

Hejsa,

hvis jeg fra en formular gerne vil åbne en rapport med en valgfri begrænsning på, f.eks. et dato-interval, hvordan gør jeg så?

Lige nu har jeg en primitiv form der virker, men jeg har ikke så meget kontrol over den: jeg baserer rapporten på et query, som har to navngivne parametre, der ikke findes i stamtabellen, og som den derfor beder om ved åbning. Det virker som sagt fint, men jeg ved ikke hvordan jeg f.eks. leverer værdien med fra en formular istedet for at nøjes med den tåbelige lille inputbox...

Nogle der kan hjælpe?
Avatar billede shadowdance Nybegynder
11. juli 2006 - 11:39 #1
Iøvrigt kunne det samme måske opnås ved hjælp af et filter, men i så fald skal det også kunne manipuleres fra formularen...
Avatar billede jensen363 Forsker
11. juli 2006 - 11:40 #2
Den forespørgsel som din rapport bygger på, kan io kriteriefelterne medtage/hente de variabler som du indtaster i din formular
Avatar billede jensen363 Forsker
11. juli 2006 - 11:48 #3
Et eksempel hvor du i din formular har et felt indeholdende varablen [CPRnr] :

SELECT Tabel.CPRnr, Tabel.Navn
FROM Tabel
WHERE (((Tabel.CPRnr)=[Forms]![Formular]![CPRnr]));
Avatar billede shadowdance Nybegynder
11. juli 2006 - 11:56 #4
Det er jo en lidt omvendt logik. Med ovenstående kode kan jeg kun forespørge fra den ene formular...!
Avatar billede -anders- Juniormester
11. juli 2006 - 11:57 #5
Hej
Der er  også denne mulighed:

Opret en forspørgsel, medtag alle relevante felter, angiv denne forspørgsel som postkilde til din rapport.

I design på din forspørgsel i kriteriefeltet for dato skriver du:

Between [Forms]![NavnPåDinForm]![NavnPåDatofelt1iform]And [Forms]![NavnPåDinForm]![NavnPåDatofelt2iform].

Denne metode er en standardparameterforspørgsel, og virker faktisk rigtig godt.

På den form hvor du har knappen til at åbne rapporten skalder så være 2 tekstbokse en til startdato og en til slutdato
Avatar billede mugs Novice
11. juli 2006 - 14:37 #6
Jeg synes spørgeren er lidt selvmodsigende. Først:

"leverer værdien med fra en formular "

og så:

"Med ovenstående kode kan jeg kun forespørge fra den ene formular...!"

Kan du forklare lidt nærmere?
Avatar billede shadowdance Nybegynder
11. juli 2006 - 14:54 #7
nja, det jeg mente var bare, at jeg gerne ville kunne åbne rapporten fra en hvilken som helst formular; og at denne formular selv havde muligheden for at levere værdien med, fx som en parameter.

Men efter et par forsøg må jeg indrømme at der er nogle stærke sider ved at hente direkte fra formularen i forespørgselen... så jensen og anders burde have point...:-)
Avatar billede mugs Novice
11. juli 2006 - 15:01 #8
Hvis du vil lave det pænt i formularen, kan du bruge inputbokse.
Avatar billede -anders- Juniormester
11. juli 2006 - 15:24 #9
Hej shadowdance, hvis du mener at mit indlæg kan være brugbart er der hermed et svar, jeg anvender selv den type parameterførspørgsel i mange sammenhænge, men det rigtigt at det kan virke lidt låst til gengæld kan man nemt udbygge med flere eller færre kriterier.

Man kan også anvende filter i stedet, på denne webside http://www.nyholm.dk/makeiteasy/Home.asp er der under menuen Download/Access eks. en fremragende dynamisk søge/filterfunktion som kan downloades eks. hedder Dynamisk Søgefunktion, dette kan jeg varmt anbefale, det virker fremragende, men blot til inspiration :o)
Avatar billede jensen363 Forsker
11. juli 2006 - 15:45 #10
Svar :-)
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