Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Diagramm im Bericht

Begonnen von PeterFormatissimo, November 18, 2011, 14:13:29

⏪ vorheriges - nächstes ⏩

PeterFormatissimo

Hallo!
Mir geht es ähnlich wie vielen anderen Kollegen, wenn man dem Internet glauben darf. Ich möchte ein Balkendiagramm abhängig vom Wert dynamisch formatieren.

Dazu wollte ich eine Prozedur schreiben - leider komme ich noch nicht zur If-Kombination, da die Anzeige der Farbe via VBA noch nicht funktioniert.

Der Code lautet:

Option Compare Database
Option Explicit

Private Sub Report_Activate()
 Dim DiagObj As Object
  Set DiagObj = Me!Diagramm1
  DiagObj(Me!Diagramm1).Activate
   Me!Diagramm1.SeriesCollection(1).InteriorColor = RGB(255, 0, 0)
End Sub

Beim Ausführen erhalte ich eine Fehlermeldung: Laufzeitfehler 438 - Objekt unterstützt diese Eigenschaft oder Methode nicht.

Da in den Forenbeiträgen dieser Code jedoch als zielführend beschrieben wird wollte ich um Rat fragen - vielleicht habt Ihr eine Ahnung was ich falsch gemacht habe.

Vielen Dank,
Peter

database

Hallo,

nur mal soi in den Wind gereimt:

----> Dim DiagObj As Object

Du deklarierst hiermit ein Object und danach ...

Set DiagObj = Me!Diagramm1
DiagObj(Me!Diagramm1).Activate

----> warum nicht    DiagObj.Activate   
Achte darauf ob nach der Eingabe des Punkts 'Activate' im Kontext auswählbar ist!

----> Me!Diagramm1.SeriesCollection(1).InteriorColor = RGB(255, 0, 0)

analog dazu ...    DiagObj.SeriesCollection(1).InteriorColor = RGB(255, 0, 0)

HTH



PeterFormatissimo

Hallo HTH,
vielen Dank für den Tipp.

Werde ich morgen gleich ausprobieren - war leider die letzten Tage nicht verfügbar. Melde mich dann mit dem Ergebnis!

lg
Peter

PeterFormatissimo

Hallo,
leider tritt der Laufzeitfehler 438 wieder auf.

Das Kontextmenü öffnet sich ebenso nicht - bedeutet das, dass die Variable nicht deklariert wurde? Ist die Deklarierung als "Object" falsch?

Freue mich über Hilfe.

lg
Robert

database

Hallo,

versuch mal so:

Dim ObjDiag As Chart
Set ObjDiag = Me.Diagramm1.Object

siehe auch bei donkarl.com  FAQ 6.22

PeterFormatissimo

Hallo!
DonKarl´s Weg mit dem Excel-Rekorder finde ich gut.

Leider funktioniert die Deklaration des Objekts nicht.

Code:
    Dim ObjDiag As Chart
    Set ObjDiag = Me.Diagramm1.Object

Beim Aufruf folgt die Fehlermeldung: Laufzeitfehler 2771: Das gebundene oder ungebundene Objektfeld, das Sie bearbeiten wollten, enthält kein OLE-Objekt.

Leider komme ich bei der Lösung nicht weiter.

lg
Peter

PeterFormatissimo

So, durch den Input, welchen ich zufällig via Google gefunden habe, habe ich die Prozedur nun wie folgt verändert...

Private Sub Report_Format()
    Dim DiagObj As Graph.Chart
    Set DiagObj = Me!Diagramm1.Object
   
    DiagObj.SeriesCollection(1).InteriorColor = RGB(0, 255, 0)
End Sub

--> Laufzeitfehler gibt es NICHT mehr!
--> Der Datenbalken ist jedoch unverändert, gemäß Einstellung in Access. Eine Formatierung via VBA hat NICHT stattgefunden.

(Verwendet wird MS Graph, Version 14, d.h. Access 2010. Die Verweise sind gesetzt!)

Gibt es noch Ideen?

lg
Peter

DF6GL

Hallo,

was soll das

Private Sub Report_Format()
für eine Ereignisprozedur sein?

Benutz mal das Ereignis "Beim Formatieren" des Berichts-Bereiches , in dem sich das Diagramm befindet.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

PeterFormatissimo

Hallo!
Vielen Dankf für den Input. Ist ein Anfängerfehler, oder! Achja, ich bin ja Anfänger...

Ich habe die Prozedur gemäß Deiner Hilfe geändert.

Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
   Dim DiagObj As Graph.Chart
   Set DiagObj = Me!Diagramm1.Object
   DiagObj.SeriesCollection(1).InteriorColor = RGB(255, 0, 0)
End Sub

Die Prozedur liefert jedoch noch immer keine Formatierung via VBA.

Hättest Du noch einen Tipp für mich?

lg
Peter

DF6GL

Hallo,

lad die DB mal hier hoch (Anmeldung erforderlich)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

PeFo

Guten Morgen!
Ich habe beim Upload leider zwei Probleme:
1. Die Datei wird auch mittels Komprimierung nicht kleiner als 600 kb
2. Die Datei ist im Access2010-Format (.accdb). Dieses Format ist lt. Beschreibung der Upload-Funktion nicht möglich.
    Eine Umwandlung kleiner 600 kb konnte ich ebenso nicht realisieren.

Ich habe jetzt einmal einige Screenshots angehängt. Vielleicht ist darauf auch ein etwaiger Fehler ersichtlich...

lg
Peter

[Anhang gelöscht durch Administrator]

database

Hallo,

probiers mal mit Konvertierung auf *.mdb anschließend komprimieren/reparieren und zippen

PeFo

Sorry das ich mich erst jetzt wieder melde. Das Problem ist noch immer akut. Leider war ich unterwegs.

Ich habe dummerweise übersehen, dass zip akzeptiert wird.

Ich schicke daher einmal die Original-2010-Version. Wenn notwendig, könnte dann noch immer ein Konvertierung stattfinden.

Danke für die Hilfe!

lg
Peter

[Anhang gelöscht durch Administrator]

database

Hallo,

also ich habe dann mal dein Dingsda getestet - ich kann OHNE irgendwas zu verstellen KEIN Problem erkennen!
Getestet mit unterschiedlichen Farbeinstellungen!

Ausser einer Fehlermeldung zu einer fehlenden Referenz ist nichts sonderbar - vielleicht noch die Zusammenstellung deines Tabellenkonstrukts was aber nicht Thema deiner Anfrage ist.

Siehe dazu angehängete Screenshots von den grün gefärbten Diagrammbalken und den von mir geänderten Verweisen (in späterer Folge) ...  ;D

Ich gehe daher davon aus, dass es bei deiner Officeinstallation oder den gesetzten Verweisen schiebt. (ich habe alle nicht benötigten entfernt und AUCH mit unten am Bild sichtbaren getestet)

[Anhang gelöscht durch Administrator]

PeFo

Also jetzt verstehe ich die Welt nicht mehr. Bei mir sind die Balken in oranger Farbe. Von einer grünen Färbung keine Spur.

Woran kann das wieder liegen?

Hättest Du dazu vielleicht eine Idee? An den zusätzlichen Verweisen kann es ja nicht liegen?

lg
Peter