[Access] Werte aus Textfeld an Diagramm übergeben?

Suchfunktion

Erfahrenes Mitglied
Hallo,
ich habe vor, mir in einem DIagramm ausgeben zu lassen, wieviel Speicher ich noch auf meinem Laufwerk zur Verfuegung habe und wieviel Speicher belegt ist.

Das ausrechnen habe ich bereits und die Werte werden in Textfeldern ausgegeben:
Code:
Private Sub Form_Load()
    Dim fso
    Dim drivename As String
    Dim maindrive
    Dim gesamt As Long
    Dim frei As Long
    Dim belegt As Long
    
    drivename = "c:\"
    
    Set fso = CreateObject("Scripting.FilesystemObject")
    Set maindrive = fso.GetDrive(drivename)
    
    gesamt = maindrive.TotalSize / 1024
    frei = maindrive.AvailableSpace / 1024
    belegt = gesamt - frei
    
    Me.txt_Gesamt = gesamt
    Me.txt_Frei = frei
    Me.txt_Belegt = belegt
End Sub

Also die Werte stehen in den Feldern txt_Gesamt, txt_Frei und txt_Belegt.

txt_Gesamt soll den maximalwert des Diagramms festlegen und txt_Frei und txt_Belegt sollen sich dann dort einordnen.

Wie realisiere ich das am besten?
(Eigentlich sollte das keine rolle spielen, aber wenn doch: Es soll ein Kreis-Diagramm werden, genauso wie wenn man ganz normal nachguckt wieviel speicher belegt ist unter z.B. C:\)

Vielen Dank schonmal!
 
Zuletzt bearbeitet:
Guten Morgen,

Also zunächsteinmal solltest du ein "Microsoft Office Chart x.x"-Objekt in dein Formular einfügen.
Anschließend zum Beispiel diesen Code:
Code:
Private Sub Form_Load()
    Dim fso
    Dim drivename As String
    Dim maindrive
    Dim gesamt As Long
    Dim frei As Long
    Dim belegt As Long
    Dim seriesNames(1)
    Dim categories(7)
    Dim values(7)
    
    drivename = "c:\"
    
    Set fso = CreateObject("Scripting.FilesystemObject")
    Set maindrive = fso.GetDrive(drivename)
    
    gesamt = maindrive.TotalSize / 1024
    frei = maindrive.AvailableSpace / 1024
    belegt = gesamt - frei
    
    Me.txt_Gesamt = gesamt
    Me.txt_Frei = frei
    Me.txt_Belegt = belegt
    
    seriesNames(0) = "Speicherbelegung"

    categories(0) = "frei"
    categories(1) = "belegt"

    values(0) = frei
    values(1) = belegt

    Set cht = ChartSpace1.Charts.Add
    Set c = ChartSpace1.Constants
    cht.Type = c.chChartTypePie

    cht.SetData c.chDimSeriesNames, c.chDataLiteral, seriesNames
    cht.SetData c.chDimCategories, c.chDataLiteral, categories
    cht.SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, values

End Sub
(Code habe ich übrigens aus der Hilfe zu "SetData" kopiert!)

Fertig!

Gruß
thekorn
 
Du hast den Namen des ""Microsoft Office Chart x.x"-Objectes nicht richtig festgelegt. Standartmäßig lautet der glaube ich sowas wie "ActiveX...". Ändere den Namen in "ChartSpace1" und alles ist gut!

Gruß
thekorn
 

Neue Beiträge

Zurück