| 
 Member
 
 Beiträge: 19
 
 
 | Hallo Karl, 
 Sorry, ich arbeite mit Access2007.
 
 Zum Ablauf:
 Zuerst zeige ich die Auswertung in einem Formular an. Wo wie gesagt die Formatierung der Datentabelle mittels VBA funktioniert.
 Der Bericht wird dann über ein Button im Formular aufgerufen. Hinter dem Button steht folgender Code:
 
 Private Sub Befehl4_Click()
 Application.Echo False
 DoCmd.OpenReport "ber_dia_periode", acViewDesign
 Reports![Ber_Dia_periode]!ole_absolut_linie.RowSource = Forms![For_dia_Periode]!ctr_Sqlstr_Dia1
 Reports![Ber_Dia_periode]!ole_absolut_balken.RowSource = Forms![For_dia_Periode]!ctr_Sqlstr_Dia1
 Reports![Ber_Dia_periode]!ole_absolut_balken_vk.RowSource = Forms![For_dia_Periode]!ctr_Sqlstr_Dia2
 'Reports![ber_diagramme]!ctr_Überschrift.Caption = Forms![For_diagramme]!ctr_Überschrift.Caption
 'Reports![ber_diagramme]!ctr_Periode.Caption = Forms![For_diagramme]!ctr_Periode.Caption
 
 'Formatieren der Datentabelle im Diagramm. Hintergrund:
 'Egal wie die Herkunftsdaten formatiert wurden, werden diese in der Datentabelle des Diagramms in der "Roh"-version dargestellt
 'und müssen somit nach der Zuweisung des RowSource programmtechnisch formatiert werden!
 Dim objGraph As Object, objDS As Object, rsData As Recordset
 Dim intRowMax As Integer, intColMax As Integer
 Dim i As Integer, j As Integer
 Set objGraph = Reports![Ber_Dia_periode]!ole_absolut_linie.Object
 Set objDS = objGraph.Application.DataSheet
 Set rsData = CurrentDb.OpenRecordset(Reports![Ber_Dia_periode]!ole_absolut_linie.RowSource)
 rsData.MoveLast
 intRowMax = rsData.RecordCount
 rsData.Close
 For i = 0 To intRowMax - 1
 For j = 0 To ErmPer
 objDS.cells(i + 2, j + 1) = Format(objDS.cells(i + 2, j + 1), "#,###.00")
 Debug.Print objDS.cells(i + 2, j + 1)
 Next j
 Next i
 Set objDS = Nothing
 DoEvents
 objGraph.Refresh
 Set objGraph = Nothing
 
 DoCmd.Close acReport, "ber_Dia_Periode", acSaveYes
 DoCmd.OpenReport "ber_dia_Periode", acViewPreview
 Application.Echo True
 End Sub
 
 Hier Kurz zur Erklärung:
 Der Bericht besteht aus insges. 3 Diagrammen, wobei nur das Diagramm "ole_absolut_linie" mit einer Datentabelle angezeigt wird.
 Die Debug.print_Anweisung dient nur zum Prüfen ob die formatierten Werte übernommen werden. (Was momentan nicht der Fall ist!)
 
 Danke schon mal für Deine Hilfe
 
 Gruß
 Willi
 
 Anhänge
 ----------------
 
  Screenshot's_Dia.docx (51KB - 3 downloads) 
 |