Avatar billede finhjoing Nybegynder
15. marts 2001 - 09:21 Der er 14 kommentarer og
1 løsning

komandoknapper i access

Hvordan man opretter en komandoknap i en formular, i access der viser udskrift ( kun den aktuelle post )
Hvis man laver den på normalvis, kommer alle poster
Avatar billede hyperactive Nybegynder
15. marts 2001 - 09:25 #1
Du laver først en Makro, som viser udskriften.

Derefter laver du en kommandoknap, som kalder makroen.

Det kan også laves i VBA, men makroen er den nemmeste løsning.
15. marts 2001 - 09:26 #2
Hej finhjoing,

I .OpenReport-metoden er det 4. argument et Where-kriterium. Dvs, at du her kan indtaste betingelserne.
Du skriver:

docmd.OpenReport \"Rapportnavn\",acViewPreview,,\"[Nøglefelt] = \" & Me![Nøglefelt]

hvor Nøglefelt skal erstattes af navnet på et unikt felt, som både er på formularen og på rapporten (på rapporten behøver feltet ikke direkte at forekomme. Blot det er en del af datagrundlaget)

mvh
Thomas
15. marts 2001 - 09:33 #3
(fortsat...)

Husk, at hvis [Nøglefelt] er et tekstfelt, skal sætningen hedde:

docmd.OpenReport \"Rapportnavn\",acViewPreview,,\"[Nøglefelt] = \'\" & Me![Nøglefelt] & \"\'\"

/Thomas

PS: Man bør altid benytte VBA i stedet for makroer. Det giver større fleksibilitet, fejlhåndtering og er lettere at vedligeholde. Når man får bare en smule erfaring med VBA, vil man også opdage, at det er en del hurtigere at bruge end makroer.
Men det er blot min holdning :-)
Avatar billede saubermacher Nybegynder
15. marts 2001 - 09:36 #4
Kender du en bog eller et websted hvor man kan lære lidt vba?
Avatar billede finhjoing Nybegynder
15. marts 2001 - 10:02 #5
-> thomas - Jeg kan ikke få det til at virke, kan du give et eksempel
15. marts 2001 - 10:12 #6
Ok, men kan du så ikke lige give mig nogle oplysninger om hvad rapporten hedder og hvad nøglefeltet i tabellen hedder?
Jeg går ud fra, at du har et eller flere felter, som er unikke og som går igen både på formularen og på rapporten?

Avatar billede janbangm Nybegynder
15. marts 2001 - 10:40 #7
Hvis du vil kan du sende databasen til mig. Så skal jeg kikke på det ieftermidddag. Access@edb.dk
Avatar billede finhjoing Nybegynder
15. marts 2001 - 11:15 #8
->thomas- her er nogle data
Tabellen hedder,NAVNE,og indeholder 3 poster
Niels Jensen
Hans Petersen
Peter Nielsen
Formularen er lavet over tabellen NAVNE
selve databasen hedder LØB
Avatar billede finhjoing Nybegynder
15. marts 2001 - 11:18 #9
->THOMAS- Rapporten er lavet over tabellen NAVNE,og hedder AKTUEL
Formularen hedder VIS
15. marts 2001 - 11:19 #10
Ok, jeg mangler stadig navnet på kolonnen i tabellen \'Navne\'. Men jeg antager, at den også hedder \'Navnne\'
Ligeledes mangler jeg også navnet på rapporten, men den må du selv lige udskifte.

Hvis du laver en knap på din formular, hvortil du knytter følgende kode (højreklik på knappen og vælg \"Generer hændelsesprocedure -> Kode generator\")

docmd.OpenReport \"Rapportnavn\",acViewPreview,,\"[Navne] = \'\" & Me![Navne] & \"\'\"

Så skulle den gerne virke.

Der kan dog stadig være andre faktorer, som kan drille.

/Thomas

15. marts 2001 - 11:20 #11
docmd.OpenReport \"Aktuel\",acViewPreview,,\"[Navne] = \'\" & Me![Navne] & \"\'\"
Avatar billede finhjoing Nybegynder
15. marts 2001 - 12:07 #12
->thomas- hej du får foreløbig tak, jeg vender tilbage i morgen
Avatar billede finhjoing Nybegynder
18. marts 2001 - 12:05 #13
->thomas-hej thomas nu kan jeg få det til at virke, hvis du kan skrive hvordan det kan lade sig gøre ved hjælp af Makro, på en enkel måde, da vi ikke skal kunne VBA
/Fhi
18. marts 2001 - 16:27 #14
Hmm, nu er \"makroer\" lidt af et bandeord i Access-terminologi. Makroer er lavet, så din niece på 7 år også kan lave Access-applikationer ;-)
Nuvel, jeg har spurgt MIN niece på 7 år og hun siger, at du kan lave en makro, hvor du vælger handlingen \"ÅbnRapport\". Derefter har du 4 handlingsargumenter nederst. Den første er navnet på rapporten (altså \"Aktuel\")
Det næste argument angiver om du vil have rapporten på skærmen eller direkte til printeren.
Det 3. springer vi over.
Det 4. angiver Where-kriteriet. Altså svarende til sidste del at min sætning. Forskelen er bare, at når du bruger Makroer, så kan du ikke bruge alle de normale regler om tekst-datatyper kontra nummeriske m.m. Men du skriver altså:

[Navne] = Forms![NavnPåFormular]![Navne]

Derefter skal du selvfølgelig sørge for at knappen peger på makroen istedet for hændelsesproceduren. Dette ændres i egenskaberne for knappen.
18. marts 2001 - 16:30 #15
PS: Jeg mente det ikke så slemt (det med min niece og makroerne) Men sagen er, at VBA er MEGET MEGET mere effektivt og rent faktisk også hurtigere at bruge. Der er alt for mange ting, man slet ikke kan, når man kun bruger Makroer. Så mit råd er: \"væn dig af med at bruge makroer, ligesom du i sin tid blev vænnet af med at bruge sut\".

/Thomas
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