Avatar billede roose Nybegynder
20. juni 2003 - 15:22 Der er 1 kommentar og
1 løsning

Dynamisk rapport ved brug af krydstabulering

Jeg har en krydstabuleringsforespørgsel, der kører dynamisk (afhængigt af noget input i en form).

På baggrund af denne forespørgsel ønsker jeg at danne en rapport. Antallet af rapportens felter skal være "dynamisk" afhængigt af antallet af kolonner i krydstabuleringsforespørgselen. Hvordan gør jeg dette ?
20. juni 2003 - 22:14 #1
Du er nødt til at vurdere hvor mange felter, som maksimalt kan være på rapporten (afhængigt af om du benytter Landscape eller Portrait)

Du laver en rapport, hvor du placere en række tekstbokse ved siden af hinanden i detaljesektionen. Labels placeres oven over i sidehovedet.
Alle labels navngives lbl0, lbl1, lbl2.....lbl10,...?
Alle tekstbokse navngives ctrl0, ctrl1, ctrl2,..., ctrl10,...

Herefter placeres nedenstående kode på rapportens VedÅben-hændelse:

Private Sub Report_Open(Cancel As Integer)
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim n As Integer
    Dim AntalKolonner As Integer
    Const MaxAntalKolonner = 14
   
    Set cn = CurrentProject.Connection
    Set rs = New ADODB.Recordset
    rs.Open Me.RecordSource, cn, adOpenStatic
   
    AntalKolonner = rs.Fields.Count - 1
    If AntalKolonner > MaxAntalKolonner Then
        AntalKolonner = MaxAntalKolonner
    End If
   
    For n = 0 To AntalKolonner
        Me("ctrl" & Trim(CStr(n))).ControlSource = rs(n).Name
        Me("lbl" & Trim(CStr(n))).Caption = rs(n).Name
    Next n
   
    For n = n To MaxAntalKolonner
        Me("ctrl" & Trim(CStr(n))).Visible = False
        Me("lbl" & Trim(CStr(n))).Visible = False
    Next n
End Sub

NB: Husk at angive konstanten MaxAntalKolonner til antallet af tekstbokse -1 (den tæller jo fra 0). Dvs at hvis der er 10 tekstbokse skal MaxAntalKolonner  sættes til 9.

/Thomas
Avatar billede roose Nybegynder
22. juni 2003 - 12:15 #2
Tak for hjælpen, Thomas. Det virker !!
I forlængelse af dette har jeg brug for hjælpe til at summe.
Se i øvrigt lige: http://www.eksperten.dk/spm/367766
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