2014-02-06 17 views
5

Ich möchte wissen, ob es möglich ist, die rowsource -Eigenschaft eines Diagramms in meinem Bericht zur Laufzeit festzulegen.So ändern Sie dynamisch die Rowsource eines Zugriffsdiagramms

Ich beabsichtige, ein Diagramm in der Kopfzeile meines Berichts zu haben. Die Zeilenquelle dieses Diagramms sollte entsprechend dem Wert des Gruppenkopfs aktualisiert werden.

Ich habe den Fehler 2455 - ungültiger Verweis auf die Eigenschaft RowSource, wenn ich dies in VBA versucht habe.

Ich benutze Access 2003.

Vielen Dank.

+0

Ja. Es gibt. Hast du es schon probiert? – david

+0

@david Ja, ich habe es mehrmals auf verschiedene Arten versucht. Aber wann immer ich versuchte, der RowSource-Eigenschaft einen Wert zuzuweisen, bekam ich den Fehler 2455 – got2nosth

+0

Sie können ein Diagramm dynamisch durch ein neues Diagramm ersetzen, das eine andere Zeilenquelle hat, aber Ihre vorgeschlagene Lösung ist normalerweise besser – david

Antwort

5

Ich habe gerade eine Inspiration bekommen, nachdem ich einige Zeit im Internet gesucht habe. Hier ist die Lösung, die ich derzeit implementiere.

Erstens ist es wahr, dass die rowsource-Eigenschaft eines Diagramms programmgesteuert zur Laufzeit nicht geändert werden kann. Wir können jedoch die rowsource-Eigenschaft als Query-Objekt festlegen und dieses Query-Objekt später in VBA aktualisieren.

Hier ist ein Teil meines Codes.

CurrentDb.QueryDefs("myQuery").SQL = "a new query" 
Me.myChart.Requery 

Ich habe die Zeilenquelle meines Diagramms auf ein Abfrageobjekt namens "myQuery" festgelegt. Ich habe den obigen Code in das Format-Ereignis meiner Gruppenkopfzeile platziert, sodass ich jedes Mal, wenn die Gruppenkopfzeile geladen wird, den Wert meiner Gruppenkopfzeile verwenden kann, um das Abfrageobjekt zu aktualisieren.

+0

Gleichermaßen können Sie eine lokale Tabelle verwenden Als Datenquelle, und füllen Sie es für jede Gruppe/Seite/Element/Diagramm auf. Es ist besonders geeignet, wenn Sie viele Diagramme haben, die auf einfachen Teilmengen komplexer Daten basieren. Je nach Berichtsdesign müssen Sie möglicherweise nicht erneut abgefragt werden - an einigen Stellen werden die Diagramme automatisch erneut abgefragt. – david

+0

Dank @david habe ich etwas Neues gelinkt. – got2nosth