Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: JOG am März 27, 2016, 16:35:07

Titel: Individueller Diagrammtitel
Beitrag von: JOG am März 27, 2016, 16:35:07
Hallo Access - Freunde
Ich habe eine Abfrage, welche ich über eine Formularauswahl starte (siehe Bild Beilage). Nun möchte ich, dass mein Diagrammtitel entsprechend der Auswahl aus dem Formular bezeichnet wird. Kann mir jemand sagen, wie ich per VBA diesen Titel variabel machen kann?
Titel: Re: Individueller Diagrammtitel
Beitrag von: Hondo am März 27, 2016, 18:03:10
Hallo,
doppelt auf das Diagramm klicken, dann den Titel anklicken und ändern.

Gruß Andreas
Titel: Re: Individueller Diagrammtitel
Beitrag von: Xoar am März 27, 2016, 19:40:43
Hi, kann dir nur nen Ideenansatz geben, da ich unterwegs bin.

Unter vba kann man mit (diagramm).caption die Beschriftung festlegen. Wenn du das Diagramm öffnest müsste man über die OpenArgs Methode den jeweiligen Name mit übergeben können und als bei .caption einsetzen, oder einfach beim open Ereignis des Diagramms die caption über "select case (wert der Optionsgruppe)" und dann je Fall direkt benennen.
Titel: Re: Individueller Diagrammtitel
Beitrag von: JOG am März 28, 2016, 10:17:55
Hallo Xoar

Vielen Dank für Deinen Input. Leider habe ich noch keine Erfahrung mit der OpenArgs-Methode o.ä.. Ich habe nachfolgend meinen Code eingefügt. Demnach müsste ich nach jeder Option (if-Variante) den Diagramm-Namen definieren. Hast Du mir eine Idee, wie der Code lauten könnte?

Private Sub cmdAbfrDiaGewicht_Click()

    If Me.WertOption = 1 Then
    DoCmd.OpenQuery "abfrDiaGewicht", acViewPivotChart, acEdit
    ElseIf Me.WertOption = 3 Then
    DoCmd.OpenQuery "abfrDiaAusbeute", acViewPivotChart, acEdit
    ElseIf Me.WertOption = 4 Then
    DoCmd.OpenQuery "abfrDiaVit_C", acViewPivotChart, acEdit
    ElseIf Me.WertOption = 5 Then
    DoCmd.OpenQuery "abfrDiaGewichtGR", acViewPivotChart, acEdit
    ElseIf Me.WertOption = 6 Then
    DoCmd.OpenQuery "abfrDiaGewichtGE", acViewPivotChart, acEdit
    Else: DoCmd.OpenQuery "abfrDiaGlycerin", acViewPivotChart, acEdit
    End If
End Sub
Titel: Re: Individueller Diagrammtitel
Beitrag von: MaggieMay am März 28, 2016, 19:38:14
Hallo,

ich verstehe nicht worauf du hinaus willst. Ein PivotChart ist doch etwas anderes als ein Diagramm.
Wie öffnest du denn das in Bild #2 gezeigte Formular?
Titel: Re: Individueller Diagrammtitel
Beitrag von: JOG am März 28, 2016, 20:44:22
Hallo

Ok, ich habe mich vielleicht nicht ganz präzise ausgedrückt  ;) - meine natürlich, wie Du korrekt gesehen hast die PivotChart-Ansicht der Abfrage. Daraus entsteht dann eben das Liniendiagramm der beigefügten Abbildung, welche dann wohl einen fixen Titel hat, den ich in den Eigenschaften wohl ändern kann, jedoch eben nicht automatisch angepasst an die Formularauswahl.
Das Formular öffnen ich ganz normal mit einer entsprechenden Schaltfläche aus dem Hauptmenü.
Titel: Re: Individueller Diagrammtitel
Beitrag von: Xoar am März 28, 2016, 22:44:13
Hi, kann es leider erst Miitwoch selbst testen, aber man kann bei dem DoCmd.open Methode optional als letztes Argument für OpenArgs einen "String" festlegen. Also z.B. DoCmd.openQuery "Abfrage",,,,,,"Titel1"

Unter der Ereignisprozedur bei Open kann man dann auf dieses Argument zugreifen.

me.caption = Me.openArgs

Ob das auch bei Querys klappt, oder nur bei Formularen weiß ich leider nicht.

Wie gesagt, kann das zur Zeit leider nicht testen.
Titel: Re: Individueller Diagrammtitel
Beitrag von: MaggieMay am März 29, 2016, 00:14:38
Hi,
Zitat von: JOG am März 28, 2016, 20:44:22
meine natürlich, wie Du korrekt gesehen hast die PivotChart-Ansicht der Abfrage. Daraus entsteht dann eben das Liniendiagramm der beigefügten Abbildung
ich weiß ehrlich gesagt nicht, wie ein Liniendiagramm aus einer Abfrage entstehen kann.
ZitatDas Formular öffnen ich ganz normal mit einer entsprechenden Schaltfläche aus dem Hauptmenü.
Welches Formular?!
Du hast lediglich den Code gezeigt, mit dem du diverse Abfragen öffnest.
Diese zeigen aber kein Diagramm!
Zeige uns also bitte den kompletten Code bzw. beschreibe den vollständigen Zusammenhang.
Titel: Re: Individueller Diagrammtitel
Beitrag von: JOG am März 29, 2016, 11:04:50
Hallo MaggieMay
Du kannst aus einer Abfrage die Ansicht als PivotChart wählen (siehe Bild). Das Formular benötige ich lediglich, um die Daten für die Abfrage zu selektieren. Mit der Schaltfläche "Diagramm erstellen" löse ich den entsprechenden VBA-Code (wie vorhin beigefügt) aus.
Titel: Re: Individueller Diagrammtitel
Beitrag von: MaggieMay am März 29, 2016, 11:23:00
Um welche Access-Version geht es denn hier?
Ich hatte das ausprobiert (mit A2010) und erhielt keinesfalls ein fertiges Diagramm, sondern eine Art Entwurf, in dem ich mir die Vorgaben für die Diagrammerstellung erst noch zusammenklicken musste - daher meine Frage wie du zu dem gezeigten Diagramm (inkl. Titel und Legende) kommst.
Titel: Re: Individueller Diagrammtitel
Beitrag von: JOG am März 29, 2016, 13:39:17
ja bei mir ist es ebenso A 2010. Man kann durchaus sagen, dass es sich dabei um eine Art "Entwurf" handelt, wo halt noch diverse Ansichtseinstellungen definiert werden können. Hat mir bisher gereicht.
Gibt's aus Deiner Sicht für mein Problem denn eine bessere Lösung für Diagramme als via eine Abfrage?
Titel: Re: Individueller Diagrammtitel
Beitrag von: MaggieMay am März 29, 2016, 14:22:23
Naja, ich würde halt ein Diagramm in einem Formular anlegen und dieses mit einer Abfrage füttern. Das dürfte auch der einzige Weg sein, die Beschriftung dynamisch einzustellen, denn bei einer geöffneten Abfrage hast du IMO kein "Diagramm-Objekt" auf das du per VBA zugreifen könntest.
Zitatwo halt noch diverse Ansichtseinstellungen definiert werden können
Nicht nur können, sondern müssen - wie sonst kommst du zur grafischen Ansicht des Abfrageergebnisses?!
Titel: Re: Individueller Diagrammtitel
Beitrag von: Beaker s.a. am März 29, 2016, 14:33:00
Hallo Xoar,
ZitatOb das auch bei Querys klappt, oder nur bei Formularen weiß ich leider nicht.
Nein, den OpenArgs-Parameter gibt es nur bei Formularen und (seit A2007) bei Berichten.
gruss ekkehard