Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
MiniChart mit Access Bordmitteln
zurück: Wahl der Datentypen in Access: Integer, Double oder Currency weiter: Listenfeld mit Tree - View Funktion. Super einfach! Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
26. Jan 2013, 22:18
Rufname:


MiniChart mit Access Bordmitteln - MiniChart mit Access Bordmitteln

Nach oben
       Version: (keine Angabe möglich)

Hallo zusammen,

ein Bild sagt mehr als tausend Worte - entsprechend beliebt sind Charts.

Hier ist diesmal eine einfache Methode, wie man unter Zuhilfenahme zweier TTF-Fonts entweder ein Kuchendiagramm oder ein Balkendiagramm in einem herkömmlichen Formular anzeigen kann. Dabei kann man beide beliebig verwenden, sowohl als einzelne Chartgrafik als auch in jeder Zeile eines Endlosformulars, wie die angehängte Demodatenbank zeigt.

Da es sich um einfache Zeichen einer Schriftart handelt, kann als Ziel jedes Control verwendet werden, das Zeichen darstellen kann, im Fall einer Textbox etwa kann man dann auch Conditional Formatting anwenden, um je nach Wertebereich eine andere Farbe darstellen zu können.

Damit das Ganze funktioniert, muß man lediglich die beiden im Anhang enthaltenen Schriftarten installieren und das Modul "modCCMiniChart" in die eigene Datenbank importieren. Die einzige Funktion darin ist folgende:
Code:
Option Compare Database
Option Explicit

'---------------------------------------------------------------------------------------
' Module      : modCCMiniChart
' Version     : 1.0
' Author      : Christian Coppes
' Date        : 19.01.2013
' Last Change : 26.01.2013
' Purpose     :
'---------------------------------------------------------------------------------------

Private dblPercent As Double
Private intPercent As Integer

Public Function fnCCMiniChartValue(dblValue As Double, dblMax As Double, _
                                   Optional strType As String = "Bar", _
                                   Optional strChartChar As String = "|", _
                                   Optional intScale As Integer = 100) As String
    If dblMax = 0 Then dblMax = 1
    dblPercent = (1 / dblMax) * Abs(dblValue)
    Select Case strType
      Case "Bar"
        ' Bar chart characters:
        '<>(){}[]|!/\01
        fnCCMiniChartValue = String(dblPercent * intScale, strChartChar)
      Case "Pie"
        ' Pie characters are ASCII 33 to 126 and 161 to 246
        intPercent = Int(dblPercent * 180)
        If intPercent + 32 <= 126 Then
            fnCCMiniChartValue = Chr(intPercent + 32)
          Else
            fnCCMiniChartValue = Chr(intPercent + 66)
        End If
    End Select
End Function
Diese Funktion verwendet man dann einfach in einem passenden Control, das die Grafik anzeigen soll, wobei als Font für dieses Control dann entweder "CC MiniChart Bars" oder "CC MiniChart Pies" eingestellt werden muß.

Als erster Parameter wird ein Wert erwartet, der dargestellt werden soll, als zweiter der Wert, der als 100%-Wert verwendet werden soll. In der Demo ist es der Einfachheit halber der feste Wert 10.000, in einer richtigen Datenbank würde man den Max-Wert der Wertespalte ermitteln und diesen hier einsetzen.

Als Parameter "strType" kann man entweder "Bar" oder "Pie" angeben, entsprechend variiert die Berechnung. Im Fall von "Bar" werden entsprechend viele Zeichen des gleichen Zeichens ausgegeben, bei "Pie" ist es nur ein Zeichen aus insgesamt 180 Abstufungen (360° Kreisdiagramm in 2°-Schritten).

Der Bar-Font ist so eingestellt, daß es keinen Leerraum zwischen den Zeichen gibt. Je nach gewähltem Zeichen (eins der Zeichen "<>(){}[]|!/\01", der Parameter "strChartChar") sieht das Ergebnis der Balkengrafik anders aus, bei manchen ist ein winziger Leerraum dazwischen, der bewirkt, daß die Darstellung des Zeichensatzes manchmal in doppelt so heller Farbe erscheint und der Balken nicht einfach nur glatt gefüllt aussieht.
Mit dem letzten Parameter "intScale" kann man die Gesamtbreite der Balkengrafik noch skalieren, Standard ist 100.

(Unter Windows XP sieht es nicht ganz so gut aus, ab Windows Vista sieht es besser aus.)

Bei der Kuchengrafik benötigt man die letzten beiden Parameter nicht.

In der Demodatenbank sind keine Datensätze enthalten, um den Download so klein wie möglich zu halten. Um Demodatensätze zu erstellen, gibt es rechts oben einen Button, der mit jedem Klick 10.000 Datensätze nach Zufall erstellt.

Die Anzeige der Balkengrafik (die letzten beiden Parameter der Funktion) können mit der Kombobox und der Textbox im Kopf beeinflußt werden, so daß man sofort sehen kann, wie das Ergebnis aussieht.

Im Formular ist ansonsten im Prinzip kein weiterer Code notwendig, da die Controls die Funktionen selbst ausführen. Der Code, der im Demoformular enthalten ist, sollte selbsterklärend sein.

Viel Spaß beim Experimentieren

Christian



CCMiniChart.zip
 Beschreibung:
MiniChart mit Access Bordmitteln, verwendet zwei TTF-Fonts zur Darstellung von Balken- oder Kuchendiagrammen. Enthalten sind Versionen für >=A2000 sowie die benötigten Fonts

Download
 Dateiname:  CCMiniChart.zip
 Dateigröße:  111.35 KB
 Heruntergeladen:  66 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tipps & Tricks: Slider / Scrollbars ohne ActiveX mit Access Bordmitteln 1 Bitsqueezer 918 19. März 2013, 07:12
Willi Wipp Slider / Scrollbars ohne ActiveX mit Access Bordmitteln
Keine neuen Beiträge Access Tipps & Tricks: TreeView ohne ActiveX mit Access Bordmitteln 0 Bitsqueezer 2605 11. Jan 2013, 00:35
Bitsqueezer TreeView ohne ActiveX mit Access Bordmitteln
Keine neuen Beiträge Access Tipps & Tricks: Flyout-Menü mit Bordmitteln 1 Bitsqueezer 1976 06. März 2010, 15:19
Willi Wipp Flyout-Menü mit Bordmitteln
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Macromedia Dreamweaver