25. april 2010 - 08:51 Der er 2 kommentarer og
1 løsning

Aabne rapporter i layout view.

I DoCmd.OpenReport "x" finder jeg acViewPreview, acViewReport, o.s.v., men ikke nogen mulighed for aabne en rapport i layoutview.  Kan man programmatisk aabne en rapport i layoutview?

I et velvaerdscenter hvor jeg arbejder som frivillig proever jeg at automatisere (blandt andet) udskrift af lister med personer der kommer i centeret.  For eksempel, forsikringen skal have lister med navne, adresser, og personnumre for de der deltager i en camp, medarbejderne har brug for navne, telefonnumre, og emailadresser for de der deltager i de forskellige aktivitetsgrupper, kommunen (der giver tilskud) skal have indberetninger med navne og deltagelse i aktiviteter, og somme tider skal der bruges lister bare med navne hvor medarbejderne kan goere notater.  Oplysningerne om de der er tilmeldt centeret staar i en Access 2007 database.

Jeg har i en formular lavet en listbox til at udvaelge de personer der skal forekomme i den udskrevne liste.  Naar personerne er valgt genereres der en liste i acViewPreview som saa kan sendes til printeren.  Jeg spekulerede saa paa at lave valgmuligheder med checkboxe for at vaelge om listen skal vaere blot med navne, ogsaa med personnumre, ogsaa med adresser, o.s.v.  Men det slog mig at det ville vare meget nemmere at lave en liste med det hele og aabne den i layout view hvor man saa kan fravaelge det der ikke skal paa listen.  Men hvordan?

For orientering vedhaefter jeg vba koden jeg bruger efter at man har valgt et antal navne i listboxen lstPersoonZoeken og trykket paa knappen ctrPersoon.  Skulle nogen have kommentarer til koden modtager jeg dem gerne.  I koden fylder jeg en tabel med oplysninger ved hjaelp af en query og saa laver jeg en rapport over tabellen.  closereports er en procedure der lukker rapporter hvis man allerede har lavet andre lister.  (Velfaerdscenteret ligger i Antwerpen, derfor forekommer der udtryk paa hollandsk.)

Private Sub ctrPersoon_Click()
    Dim i As Variant
    closereports
    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE * FROM PersoonZoeken"
    With Me.lstPersoonZoeken
        For Each i In .ItemsSelected
            DoCmd.RunSQL "INSERT INTO PersoonZoeken(persoonid, voornaam, achternaam, adres, postcode, plaats, geboortedatum, rijksregistratienr) SELECT p.persoonid, p.voornaam, p.achternaam, a.straat, a.postcode, a.plaats, p.geboortedatum, p.rijksregistratienr FROM Persoon AS p INNER JOIN Adres AS a ON p.adres = a.adresid WHERE p.persoonid = " & .ItemData(i)
            .Selected(i) = False
        Next
    End With
    DoCmd.OpenReport "PersoonZoeken", acViewPreview
    Reports("PersoonZoeken").Printer.Orientation = acPRORLandscape
    DoCmd.SetWarnings True
End Sub
Avatar billede mugs Novice
25. april 2010 - 09:29 #1
Hvis du med "layoutview" mener Designview, gør jeg sådan i Access 2003:

DoCmd.OpenReport "DIN RAPPORT", acViewDesign, "", "", acNormal
25. april 2010 - 10:10 #2
Nej men ja!  Jeg tror at Layoutview er en ny feature i Access 2007.  Men i pop-op vinduet der aabnes efter DoCmd.OpenReport "DIN RAPPORT", saa jeg hverken acViewDesign eller acViewLayout.  Ved at lede lidt mere energisk efter acViewDesign som du aabenbart kan se fandt jeg ud af at acViewDesign og acViewLayout staar oeverst i pop-op vinduet men altid daekket af det hjaelpevindue man faar som forklarer hvilke elementer DoCmd indeholder.  Jeg har nu indsat acViewLayout og det virker.

(acViewLayout er en slags mellemting mellem acViewReport og acViewDesign.  Man faar, som  i acViewDesign, opbygningen af rapporten men som i rapport view med data fyldt ind.  Layout view er ideal til at se, for eksempel, om felterne er store nok til at indeholde dataerne.  Man kan i layoutview lave mange af (men ikke alle) de tilpasninger man kan lave i designview.  Jeg skoennede at ikke-programmoerer, saa som medarbejderne ved velfaerdscenteret, uden problemer i layoutview kan tilpasse en rapport efter behov ved at slette felter der ikke behoeves hvorimod designview ser saa abstrakt ud at det straks ville afskraekke alle andre end de mest modige.)

mugs, dit indlaeg ledte mig (endnu en gang) paa rette vej til loesning.  Laeg et svar.
Avatar billede mugs Novice
25. april 2010 - 10:35 #3
Tak :o)
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