Avatar billede hok10 Nybegynder
30. maj 2003 - 15:05 Der er 17 kommentarer og
1 løsning

Rapporter og forespørgsler

Jeg har lige overtaget et medlemskartotek i access. Tidligere har det kun været muligt at få udskrevet én rapport over hver af de forskellige hold. Det fungerede på denne måde: En forespørgsel til hvert hold , ialt 10 forespørgsler og 10 rapporter. Nu vil jeg så tilføje en rapport med et nyt layout, dvs 10 ekstra rapporter.

Det må kunne gøres smartere, f.eks. kun en forespørgsel hvor kriteriet ændres eller 2 rapporter hvor postkilden og overskriften ændres.

Problemet (tror jeg) er at jeg ikke kan finde ud af at ændre i rapport og forespørgelses egenskaberne gennem Visual Basic dimsen. Kunne jeg det, ville det være muligt at nøjes  med kun en forespørgsel og 2 rapporter, og så programmere mig ud af resten. 

Er jeg helt galt på den og hvordan gør man???
Jeg er rimelig grøn mht. access.
Avatar billede janbangm Nybegynder
30. maj 2003 - 15:13 #1
Du kan gøre det at lave en forespørgsel og og rapport. I kriterier for hold kan en lave en henvisning til en lille formularer du laver med et felt til at vælge eller indtaste holdet. Du kan også bare skriv = hold i kriterer. Du vil du blive spurgt om hold hver gang hver gang du åbner rapporten.

Håber jeg har forstået spørgsmålet rigtigt
30. maj 2003 - 15:21 #2
Du kan lave en parameterforespørgsel.

I forespørgslen indtaster du i det felt, der vælger hvilket hold, det drejer sig om (Holdnr. f.eks.:
[Indtast holdnr:]
Det indtastes på linien: Kriterier
Hver gang du kører forespørgslen popper en dialogboks op, og beder dig indtaste holdnummeret.
Avatar billede henrik13 Nybegynder
30. maj 2003 - 15:21 #3
Lav en forespørgsel, med rapport til. I kriterier for hold skriver du:
Like [Indtast hold]
Vh Henrik
30. maj 2003 - 15:24 #4
Det skulle være et svar.
Avatar billede hok10 Nybegynder
30. maj 2003 - 15:30 #5
Ja nu nærmer jeg mig, men jeg vil gerne have at når jeg kan trykke på en knap så vises rapporten, for jeg kan ikke huske hvilke nummer de forskellige hold har.

I øvrigt så viste det sig at ordet "Like" er rimelig vigtigt  ;-)
Avatar billede hok10 Nybegynder
30. maj 2003 - 15:33 #6
og så vil jeg også gerne kunne ændre overskriften på rapporten
Avatar billede henrik13 Nybegynder
30. maj 2003 - 15:48 #7
DEr går du i designvisning og skriver den overskrift du ønsker.
Avatar billede henrik13 Nybegynder
30. maj 2003 - 15:50 #8
Du kan lave en listebox der vises når du trykker på knappen til udskriv hold.  :o)
Avatar billede hok10 Nybegynder
30. maj 2003 - 16:01 #9
Men jeg skal jo have forskellige overskrifter til hvert hold!

kan man virkelig ikke lave disse ting i "kodegeneratoren"???
Avatar billede henrik13 Nybegynder
30. maj 2003 - 16:06 #10
en listebox der vises alle dine hold, Du skal selv under like , når boxen kommer frem indtaste det hold der skal udprintes. Ellers skal du lave en udprintningsformular. :o)
Avatar billede henrik13 Nybegynder
30. maj 2003 - 16:10 #11
Ps, udprintningsformular er en meget stor sag at gå i gang med, men må anbefales i dit tilfælde.
Avatar billede hok10 Nybegynder
30. maj 2003 - 16:17 #12
hmmm.... ok hvad hedder udprintningsformular på engelsk?? så må jeg jo kigge lidt på det.

tak for hjælpen, pointene går til henrik da, de andre svar ikke fungerede (manglede Like)
Avatar billede henrik13 Nybegynder
30. maj 2003 - 16:21 #13
Tak for poient.  :o)
Avatar billede mugs Novice
31. maj 2003 - 00:36 #14
Jeg mener nu det kan laves lidt mere elegant:

Hvis du står i en formular for et bestemt hold, og ønsker at udskrive rapporten specifikt for dette hold kan du bruge flg. kode:

DoCmd.OpenReport "Rapport1", acViewPreview, "", "felt1 = [Forms]![form1]![felt1]", acNormal

hvor felt1 er et unikt id for det pågældende hold. Feltet skal være både i formularen og i rapporten.

Rapportens overskrift kan du lave på flg måde:

Sæt en ubundet tekstboks i sidehovet (eller rapporthovedet), og giv den postkilden:

="Holdliste " & [felt1]

Bemærk at teksten i "" er ren tekst, og til sidst har et mellemrum.

De foreslåede metoder med parametre, er sådan set udmærket, men risikerer at give fejlagtige udskrifter, hvis du ikke staver holdenes navne 100% korrekt. Risikoen for fejl af naturligvis afhængig af holdenes navne. Hvis de hedder 1, 2, 3 o.s.v. er der jo ikke de store fejlmuligheder, hvorimod navne som "miniputter hold 4" er mere oplagte fejlkilder.
Avatar billede mugs Novice
31. maj 2003 - 00:44 #15
Hvis du har en formular hvorfra du vil kunne udskrive alle hold, kan du bruge flg. kode ved et alfanumerisk felt:

DoCmd.OpenReport "Rapport1", acViewPreview, "", "felt1 = 'c'", acNormal

På denne måde kan du ved at bruge kun 1 forespørgsel og en rapport udskrive alle hold, blot ved at ændre kriteriet i din kommandoknap. Men du skal naturligvis have en kommandoknap for hvert hold.

Dette vil også hjælpe dig, da du jo også kommenterer, at du ikke kan huske de forskellige hold.
Avatar billede hok10 Nybegynder
31. maj 2003 - 13:19 #16
Ja, det omtrent sådan jeg vil have det, men der er lige det med overskriften, kan det ikke lade sig gøre med noget ligende:

[Reports]![test]![Etiket18].Caption = "Ny overskrift"

Ovenstående fungere ikke. Indsætter jeg det før rapporten åbnes, skriver access at rapporten ikke er åben, og hvis jeg så flytter det bagefter åbnes rapporten, men der sker ikke andet.
Avatar billede mugs Novice
31. maj 2003 - 19:27 #17
Denne fungerer, ved at sætte rapportfeltets kontrolkilde (Recordsource) til at referere til et felt i formularen:

=Forms!form1!felt1

Men resultatet er det samme som mit forslag fra iaftes. Men da jeg har lidt svært ved at gennemskue hvilke felter du har i din formular, og hvad du vil opnå er det vanskeligt at give flere løsninger.
Avatar billede hok10 Nybegynder
31. maj 2003 - 19:59 #18
Jeg har oprettet et spørgsmål så du kan få points mugs.

tak for hjælpen

http://www.eksperten.dk/spm/359205
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