Timeline - Gantt Chart mit Microsoft Access - DrawLine
Seit einiger Zeit suche ich nach einer Möglichkeit, Datum in Form einer Ganttchart oder einer Timeline in einem Bericht aufzuzeigen. Ich fand einige nicht kostenfreie Software, aber nichts, was mir wirklich geholfen hätte. Ich habe mit Kreuztabellen, Charts und anderem Experimentiert. Heute bin ich auf den Trichter gekommen, einfach die "Draw Line" Funktion zu nutzen und.... ich komme dahin, wo ich hinwill.
MS Info: http://msdn.microsoft.com/en-us/library/ff198297.aspx
zunächst einmal meine Rohdaten:
Tabelle:
Personenname (Text); Geboren (Jahreszahl mit - für v.Chr.); Gestorben (Jahreszahl mit - für v.Chr.)
Bericht:
Ereignis auf Detailbereich_Format des Report Ber_Skolar_Familien_Timeline2
Ereignisprozedur:
MS Info: http://msdn.microsoft.com/en-us/library/ff198297.aspx
zunächst einmal meine Rohdaten:
Tabelle:
Personenname (Text); Geboren (Jahreszahl mit - für v.Chr.); Gestorben (Jahreszahl mit - für v.Chr.)
Bericht:
Ereignis auf Detailbereich_Format des Report Ber_Skolar_Familien_Timeline2
Ereignisprozedur:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
' Call the Drawline procedure
DrawLine
End Sub
Sub DrawLine()
'http://msdn.microsoft.com/en-us/library/ff198297.aspx
'expression.Line(Step(x1, y1) – Step(x2, y2), color, BF)
Dim rpt As Report, lngColor As Long, RasterColor As Long
Dim sngTop As Single, sngLeft As Single
Dim sngWidth As Single, sngHeight As Single
Dim Startoffsetkoordinate As Single
' Name des Reports, auf dem die Prozedur angewandt wird
Set rpt = Reports!Ber_SkolarFamilien_Timeline2
'Skalierungfaktor, damit die Werte auf eine Seite passen
Skalierung = 1.5
'Offset für richtigen Start der Skala (damit Namen noch angezeigt werden können)
Startoffsetkoordinate = 6500
' FARBEN
' Farbe des Rasters
RasterColor = RGB(0, 0, 0)
' Farbe der Balken
lngColor = RGB(0, 0, 255)
' Nutzung der Daten in ... (http://msdn.microsoft.com/en-us/library/bb213754(v=office.12).aspx)
' Millimeter
rpt.ScaleMode = 6
' Pixel
rpt.ScaleMode = 3
' Oben links X-Koordinate
x1 = (Geb + Startoffsetkoordinate) / Skalierung
' Start Y ist die obere Kante des Detailbereich (dieser kann dynamisch sein)
y1 = rpt.ScaleTop
' Breite
' Rechts X-Koordinate
x2 = (Gest + Startoffsetkoordinate) / Skalierung
' Unten Links Y-Koordinate
y2 = rpt.ScaleHeight
' Gefüllte Box mit Farbe aus lngColor zeichnen
rpt.Line (x1, y1)-(x2, y2), lngColor, BF
'Berechnung des Startpunkt für die erste Linie des Raster
Rasterpunkt = Startoffsetkoordinate - StartRaster
' Startoffsetkoordinate Linien
' Startoffsetkoordinate
rpt.Line (Rasterpunkt / Skalierung, y1)-(Rasterpunkt / Skalierung, y2), RasterColor
' 1. Startoffsetkoordinate
rpt.Line ((Rasterpunkt + 1000) / Skalierung, y1)-((Rasterpunkt + 1000) / Skalierung, y2), RasterColor
' 2. Startoffsetkoordinate
rpt.Line ((Rasterpunkt + 2000) / Skalierung, y1)-((Rasterpunkt + 2000) / Skalierung, y2), RasterColor
' 3. Startoffsetkoordinate
rpt.Line ((Rasterpunkt + 3000) / Skalierung, y1)-((Rasterpunkt + 3000) / Skalierung, y2), RasterColor
' 4. Startoffsetkoordinate
rpt.Line ((Rasterpunkt + 4000) / Skalierung, y1)-((Rasterpunkt + 4000) / Skalierung, y2), RasterColor
' 5. Startoffsetkoordinate
rpt.Line ((Rasterpunkt + 5000) / Skalierung, y1)-((Rasterpunkt + 5000) / Skalierung, y2), RasterColor
' 6. Startoffsetkoordinate
rpt.Line ((Rasterpunkt + 6000) / Skalierung, y1)-((Rasterpunkt + 6000) / Skalierung, y2), RasterColor
' 7. Startoffsetkoordinate
rpt.Line ((Rasterpunkt + 7000) / Skalierung, y1)-((Rasterpunkt + 7000) / Skalierung, y2), RasterColor
' 8. Startoffsetkoordinate
rpt.Line ((Rasterpunkt + 8000) / Skalierung, y1)-((Rasterpunkt + 8000) / Skalierung, y2), RasterColor
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 187611
Url: https://administrator.de/contentid/187611
Ausgedruckt am: 09.11.2024 um 01:11 Uhr