Avatar billede roose Nybegynder
22. juni 2003 - 12:13 Der er 1 løsning

Sum af felter i dynamisk rapport

Jeg har netop oprettet en "dynamisk" rapport, med et svingende antal kolonner, se http://www.eksperten.dk/spm/367209

I en normal rapport, summer jeg over et kendt kolonnenavn. I min dynamiske rapport, kender jeg ikke kolonnenavnet. Jeg ved dog hvilken kolonne det er (fx. kolonne 2).

Hvordan summer jeg ?
22. juni 2003 - 12:30 #1
Du skal lave en ekstra række tekstbokse i RAPPORTFODEN (ikke sidefoden), som du navngiver Sum0, Sum1....Sum10...

Herefter skifter du koden ud med denne:
Private Sub Report_Open(Cancel As Integer)
    On Error Resume Next
    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
        If IsNumeric(rs(n)) Then
            Me("Sum" & Trim(CStr(n))).ControlSource = "=Sum([" & rs(n).Name & "])"
        End If
    Next n
   
    For n = n To MaxAntalKolonner
        Me("ctrl" & Trim(CStr(n))).Visible = False
        Me("lbl" & Trim(CStr(n))).Visible = False
        Me("Sum" & Trim(CStr(n))).Visible = False
    Next n
End Sub
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