Avatar billede kasp Nybegynder
17. maj 2009 - 15:50 Der er 14 kommentarer og
1 løsning

Link mellem formular og rapport

Hej,
Jeg håber der er en der kan hjælpe mig med min lille udfordring.

Jeg har lavet en formular i Access som viser fakturaer ved at søge på fakturanummer. Jeg har desuden lavet en rapport der udskriver fakturaer.  Nu kunne jeg godt tænke mig at linke de to sammen, således at jeg kun udskriver rapporten for den faktura jeg har valgt i formularen.

Er dette muligt og evt. hvordan?

Ser frem til Jeres svar.

kasp
Avatar billede mugs Novice
17. maj 2009 - 15:58 #1
Til det skal du have et unikt felt der indentificerer fakturaen. Hvis dette felt er alfanumerisk kan du bruge denne:

DoCmd.OpenReport "DIN RAPPORT", acViewPreview, , "[DIN TABEL]![KRITERIEFELT] = '" & Me!KRITERIEFELT & "'"
Avatar billede mugs Novice
17. maj 2009 - 15:59 #2
Hvis kriteriefeltet er numerisk så er det denne:

DoCmd.OpenReport "DIN RAPPORT", acViewPreview, , "[DIN TABEL]![KRITERIEFELT] = " & Me!KRITERIEFELT & ""
Avatar billede kasp Nybegynder
17. maj 2009 - 18:08 #3
Hej mugs.
Mange tak for dit hurtige svar. Jeg tror jeg behøver en lille uddybning. Den kode du nævner skal indsættes i rapporten i feltet "kontrolelementkilde" under egenskaber, er det rigtigt forstået?

Min formular er opbygget af tre elementer herunder, fakturanummer og fakturalinienummer. Er det korrekt at jeg putter tabellen faktura ind i den du kalder tabel og fakturanummer ind i kriteriefeltet?... ved den så godt at det er formularen den skal se i?
Avatar billede mugs Novice
17. maj 2009 - 18:20 #4
Koden skal indsættes i en kommandoknap i formularen. Da jeg ikke ved hvad dine objekter hedder har jeg navngivet således, og du skal erstatte dem med:

DIN RAPPORT > navnet på rapporten du vil udskrive

DIN TABEL > Navnet på tabellen der indeholder dit kriteriefelt

KRITERIEFELT > det felt i formularen / tabellen der indeholder et unikt ID for den enkelte post. Normalt bruger man tabellens primære nøgle. Jeg vil tro, at dit fakturanummer er unikt, og derfor kan du bruge det.

ME.KRITERIEFELT >  Er det samme felt, som ovenfor, altså kriteriefeltet. Det reserverede ord Me. henviser til den altid aktuelle formular efterfulgt at navnet på et felt, derfor vil du altid udskrive efter KRITERIEFELTET og ikke andre fakturaer, idet der jo ikke eksisterer flere fakturaer med samme nummer. 

I "pseudokode" betyder min kode:

Udskriv "Din RAPPORT" til skærm der hvor DIN TABEL's KRITERIEFELT er det samme som FORMULARENS KRITERIEFELT.

DoCmd.OpenReport "DIN RAPPORT", acViewPreview, , "[DIN TABEL]![KRITERIEFELT] = '" & Me!KRITERIEFELT & "'"

Håber det gav lidt klarhed i problematikken.
Avatar billede mugs Novice
17. maj 2009 - 18:22 #5
Jeg ser nu, at du 690 point ude. Skulle du ikke lukke nogle af de gamle spørgsmål, der er ikke sandsynlighed for, at der kommer brugbare svar.
Avatar billede kasp Nybegynder
19. maj 2009 - 17:07 #6
Hej igen.
Tak for svaret, jeg vil prøve det så snart jeg kommer hjem.

Jo jeg skal have lukket mine spørgsmål.. men jeg må være ærlig at sige at jeg ikke kan se hvordan jeg gør når de er blevet grå.
Avatar billede mugs Novice
19. maj 2009 - 17:26 #7
Tak for point.

Får du problemer vender du blot tilbage. Men det er en god gammel kode, deer er brugt i mange spørgsmål her på e.

En grå farve på et spørgsmål indikerer, at der ikke er lagt et svar. Hvis du ikke har fået et brugbart svar, kan du selv lægge et svar og acceptere dette. Du bør dog i givet fald lige forklere hvorfor.
Avatar billede kasp Nybegynder
30. maj 2009 - 08:22 #8
Hej mugs.
Jeg har et lille problem med at få macroen til at fungere. Jeg har sat den op således:

DoCmd.OpenReport "Fakturaudskrift", acViewPreview, , "Faktura Underformular!Faktura no = " & Me!Faktura no & ""

Den kommer med følgende fejl:

Compile error
Expected end of statement (når den skriver dette er no i Faktura no til sidst i sætningen makeret.

Håber du kan hjælpe.
Avatar billede mugs Novice
30. maj 2009 - 08:31 #9
Prøv først at sætte fokus på din underformular.
Avatar billede kasp Nybegynder
30. maj 2009 - 12:02 #10
undskyld det kan godt være jeg er lidt tung at danse med, men hvordan mener du?

Skal der byttes om på fakturaudskrift og "" hvor faktura underformular indgår?
Avatar billede mugs Novice
31. maj 2009 - 09:44 #11
Problemet er jo, at du benytter en underformular og derfor er nødt til at hente din værdi herfra. Desuden har du mellemrum i feltnavnet, og det kan kun give yderligere problemer. Prøv evt, denne:

Dim VARa As String
VARa = Me.subform!faktura_no
DoCmd.OpenReport "Fakturaudskrift", acViewPreview, , "[Tabel1]![faktura_no] = '" & VARa & "'"
Avatar billede kasp Nybegynder
01. juni 2009 - 08:49 #12
Hej Mugs.

Jeg får stadig en fejlmeddelse:

Methode or datamember not found

Det er .subform der er markeret.
Avatar billede mugs Novice
01. juni 2009 - 08:57 #13
Hvad hedder din subform?
Kontroller navnet og ret det eventuelt.
Avatar billede kasp Nybegynder
01. juni 2009 - 09:36 #14
Faktura underformular
Avatar billede mugs Novice
01. juni 2009 - 10:08 #15
Har du indsat dette navn i koden?

Du skal bruge en underscore mellem ordene Faktura od underformular. Det er en uskik at have mellemrum i objektnavnene og kan kun give anledning til problemer.
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