title image


Smiley Kill ist nicht der einzige coole VBA-Befehl!
Hier heisst das Zauberwort 'Explosion' (also Karl-Heinz, wie früher mit dem Chemie-Baukasten: Nicht unbedarft damit rumspielen; erhöhte Obacht! *eg*)



Bei mir sieht das etwa so aus:



Ich habe ein Formular mit Unterformular und Tortendiagramm

Im Unterformular (Datenblattansicht) stünde beispielsweise eine Liste mit Unternehmen und deren Umsätzen

Das Tortendiagramm hat die gleiche Datenherkunft wie das Unterformular

Ziel war es nun, das Tortenstück raus zu rücken, das zu dem im Unterformular markierten Datensatz gehört



Soweit klar? Tja, und dazu liegt jetzt im Unterformular folgendes Coding hinter Form_Current:





Private Sub Form_Current()

Dim objChart As Chart

Dim rst As DAO.Recordset

Dim i As Long

Dim strForm As String

' (...kongeniales Coding; dann:)

Set rst = Me.RecordsetClone

If rst.RecordCount > 0 Then

rst.MoveLast

rst.Bookmark = Me.Bookmark

Set objChart = Forms(strForm).Controls("diaStatistik1").Object

On Error Resume Next

For i = 1 To rst.RecordCount

objChart.SeriesCollection(1).Points(i).Explosion = 0

Next i

objChart.SeriesCollection(1).Points(rst.AbsolutePosition + 1).Explosion = 30

Err.Clear

On Error GoTo Form_CurrentErr

rst.Close

End If

' (...mehr kongeniales Coding...)

End Sub





Was da passiert ist folgendes:



Hinter den Points verbergen sich die einzelnen Tortenstücke (Aufzählung beginnt bei 1). Da die Datenherkunft bei Unterformular & Diagramm identisch ist, merke ich mir also die AbsolutePosition des gerade markierten Datensatzes und ändere die Explosion-Eigenschaft des Points, die der AbsolutePosition entspricht (AbsolutePosition beginnt bei 0, deshalb immer eins draufrechnen).



Die For...Next-Schleife sorgt dafür, dass alle zuvor mal "explodierten" Tortenstücke zunächst wieder in die Mitte gerückt werden, bevor anschließend wieder eines raus gerückt wird.



Cool, oder?



Viel Spass beim Ausprobieren,

Eric

Spotlight-Kicktipp gestartet!

Steig ein und trete mit Deinem Bundesliga-Tipp gegen die Besten an! :o)

http://www.kicktipp.de/spotlight/



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: