axelkorte
Goto Top

MS Access 2019 Diagramm

Hallo allerseits,
ich stoße in meinem Script auf zwei Fehler beim Aufbereiten eines Diagramms im Access 2019.

Private Sub Report_Open(Cancel As Integer)
On Error GoTo Err_Report_Open

    Dim Laufzeit As String
    Laufzeit = "Bericht öffnen"                                        ' Variable für Fehlermeldung und Protokollierung  

    Dim Modul As String
    Modul = Me.Report.Name                                        ' Variable für Fehlermeldung und Protokollierung  

    Dim db As Database
    Set db = CurrentDb

    Dim I As Integer

    Dim Chart

    Dim rsx92 As Recordset
    Dim sqlTX92
    sqlTX92 = "SELECT Sum([TX92 Jahresstatistik].Spalte1) AS SummevonSpalte1" _  
        & ", Sum([TX92 Jahresstatistik].Spalte2) AS SummevonSpalte2" _  
        & ", Sum([TX92 Jahresstatistik].Spalte3) AS SummevonSpalte3" _  
        & ", Sum([TX92 Jahresstatistik].Spalte4) AS SummevonSpalte4" _  
        & ", Sum([TX92 Jahresstatistik].Spalte5) AS SummevonSpalte5" _  
        & ", Sum([TX92 Jahresstatistik].Spalte6) AS SummevonSpalte6" _  
        & ", Sum([TX92 Jahresstatistik].Spalte7) AS SummevonSpalte7" _  
        & ", Sum([TX92 Jahresstatistik].Spalte8) AS SummevonSpalte8" _  
        & ", Sum([TX92 Jahresstatistik].Spalte9) AS SummevonSpalte9" _  
        & ", Sum([TX92 Jahresstatistik].Spalte10) AS SummevonSpalte10" _  
        & ", Sum([TX92 Jahresstatistik].Spalte11) AS SummevonSpalte11" _  
        & ", Sum([TX92 Jahresstatistik].Spalte12) AS SummevonSpalte12" _  
        & " FROM [TX92 Jahresstatistik]" _  
        & " WHERE [TX92 Jahresstatistik].Jahr < 13"  

    If Terminal2 <> "" Then Call SQLlogbuch("--- " & Laufzeit & " Open: " & sqlTX92)      ' Protokollierung des Open  
    Set rsx92 = db.OpenRecordset(sqlTX92, dbOpenSnapshot)

    Call Wasserzeichen                                                                     ' Wasserzeichen in den Bericht einfügen  

    Me.Caption = Me.Caption & " - " & Forms!Vertraege.T16Verweis.Column(1)                 ' Berichtsüberschrift ergänzen  
    
    If rsx92.RecordCount > 0 Then                                                                                               ' Daten gefunden  
        rsx92.MoveFirst
        Me.Berichtsfuß.Visible = True                                                                                            ' Berichtsfuß mit Diagramm sichtbar machen   
        Me.Diagramm.PrimaryValuesAxisTitle = Forms!Vertraege.T16Verweis.Column(2) ' Diagrammaxe beschriften  

        For Each Chart In Me.Diagramm.ChartSeriesCollection                                         ' Alle Datenreihen des Diagrammes lesen  
            I = I + 1
            Select Case (I)
                Case Is = 1
                    If rsx92(0) > 0 Then                                                              ' Hier möchte ich entweder den Legendennamen des Balkens ändern oder ausblenden  
**                        Set Chart.Name = Format(Date, "yyyy") - 11              ' Datenreihe mit Jahr benennen Error 424 Objekt erforderlich  
**                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete    ' Datenreihe löschen, da leer Error 428 Objekt unterstützt diese Eigenschaft oder Methode nicht  
                    End If
                Case Is = 2
                    If rsx92(1) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 10  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 3
                    If rsx92(2) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 9  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 4
                    If rsx92(3) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 9  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 5
                    If rsx92(4) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 7  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 6
                    If rsx92(5) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 6  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 7
                    If rsx92(6) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 5  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 8
                    If rsx92(7) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 4  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 9
                    If rsx92(8) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 3  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 10
                    If rsx92(9) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 2  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 11
                    If rsx92(10) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy") - 1  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
                Case Is = 12
                    If rsx92(11) > 0 Then
                        Set Chart.Name = Format(Date, "yyyy")  
                    Else
                        Chart.SeriesCollection(I).Points(1).DataLabel.Delete
                    End If
            End Select
        Next

        If Terminal2 <> "" Then Call SQLlogbuch(Me.Report.Name & ": " & Laufzeit & ": Select Open " & Me.Diagramm.RowSource) ' Protokollieren  
    Else
        Me.Berichtsfuß.Visible = False                         ' Berichtsfuß mit Diagramm ausblenden  
    End If


Exit_Report_Open:
    If Terminal2 <> "" Then Call SQLlogbuch(Me.Report.Name & ": " & Laufzeit & ": Select Open " & Me.RecordSource)  
    Exit Sub

Err_Report_Open:
    Call Fehlermeldung(Err.Number, Error$, Modul, Laufzeit)
    Resume Exit_Report_Open

End Sub

Ich weiß nicht, welches Objekt beim Ändern des Anzeigenamens einer Datenreihe fehlt, ebenso wenig warum das Objekt beim Ausblenden einer Datenreihe das Objekt die Eigenschaft oder Methode nicht unterstützt.

Ich hoffe, mir kann jemand helfen.

Vielen Dank im voraus.

Content-Key: 549183

Url: https://administrator.de/contentid/549183

Printed on: April 26, 2024 at 21:04 o'clock