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 ⏩

database

Hallo,

wie schon geschrieben habe ... ich habe dein Beispiel geöffnet und den Bericht in der Seitenansicht geöffnet.
KEINE Fehlermeldung ausser dem fehlenden Bezug zu einer Abfrage (daher auch die Bemerkung zum Tabellenkonstrukt), der dadurch entsteht, dass du im Beziehungsfenster offensichtlich eine Beziehung zwischen Tabellen und Abfragen erstellt hast statt die Beziehungen zwischen den zu grundeliegendene Tabellen zu erstellen.

Ich habe danach versucht unterschiedliche RGB-Werte einzustellen, was ebenfalls ohne Probleme möglich war.

Daher kann es nur entweder an bei dir nicht funktionierenden Verweisen oder an der Office-Installation selbst liegen.

Hast du dein Office-Paket selbst installiert oder kommt dieses aus einer Domänenumgebung?
Wurde das Office Paket 'benutzerdefiniert' installiert oder lediglich eine Vollinstallation durchgeführt? - bei der allerdings NICHT alle Features des Office-Pakets auf der Festplatte vorhanden sind!

Hast du dein Verweisfenster schon mal kontrolliert ob da vielleicht 'gebrochene' Verweise bestehen (NICHT VORHANDEN)
Ich habe dieses jedenfalls in deinem Beispiel bei zumindest Einem festgestellt ... siehe Anhang ...



[Anhang gelöscht durch Administrator]

PeFo

Hallo!
Das Tabellenkonstrukt ist lediglich ein Beispiel und wird in seiner endgültigen Fassung korrekt aufgebaut. Also daran liegt es nicht, da in meiner Original-Datei die Bezüge korrekt eingestellt funktionieren.

Bei den eingestellten Verweisen habe ich keine Fehlermeldungen erhalten. Aber bei der Office-Installation handelt es sich definitiv um eine Standard-Installation. Ich habe unserem IT-Mann bereits geschrieben und warte auf eine Antwort.

Ich hoffe es klappt dann - ich halte Dich informiert.

lg
Peter

database

Hi,

ich meinte auch nicht, dass der Fehler deiner Beschreibung aus dem Tabellenkonzept entsteht - mein Einwand war auf die zugeordnete Fehlermeldung beim Aufruf des Berichts bezogen.
Ein Fehler der in einem VBA-Modul entsteht wird sehr selten ein wackeliges Datenmodel zur Ursache haben - in deinem Fall weist es auf nicht intaktes Objektverhalten hin.

Wie angedeutet könnte vielleicht eine Neuinstallation / Reparaturinstallation im Modus 'benutzerdefiniert' mit der Option 'Alles vom Arbeitsplatz starten' Abhilfe schaffen.

HTH


PeFo

Also ich habe nun alles auf "von der Festplatte" geändert. Es funktioniert trotzdem nicht.

Ich habe jedoch den VBA-Code auf "Report-Current" geändert. Beim Klicken in den Report ändern sich die Farben. Ein kleiner Teilerfolg sozusagen.

Leider ist nun das nächste Problem aufgetaucht.

Das Ziel war, dass Access jede Zeile eigenständig nach dem Wert prüft und je nach Wert (>90, >70, >40, <40) entsprechend formatiert. Dies funktioniert nun leider überhaupt nicht. Hättest Du noch einen Tipp?

Der verwendete VBA-Code lautet:
   Private Sub Report_Current()
    Dim DiagObj As Chart
    Set DiagObj = Me.Diagramm1.Object
   
    If Me.MittelwertvonaurBewertung >= 90 Then DiagObj.SeriesCollection(1).Interior.Color = RGB(4, 200, 13)
    If Me.MittelwertvonaurBewertung >= 70 Then DiagObj.SeriesCollection(1).Interior.Color = RGB(153, 255, 102)
    If Me.MittelwertvonaurBewertung >= 40 Then DiagObj.SeriesCollection(1).Interior.Color = RGB(4, 200, 13)
    If Me.MittelwertvonaurBewertung < 40 Then DiagObj.SeriesCollection(1).Interior.Color = RGB(255, 51, 0)
End Sub

Es wird die erste Zeile abgefragt und dementsprechend die Farbe im ganzen Report verwendet. Wenn ich statt ...Collection(1) ... Collection(), dann gibt es einen Laufzeitfehler.

Vielen Dank für einen Tipp!

Peter

database

#19
Hallo,

steht deine Datenbank in einem 'vertrauenswürdigen Speicherort'? Dieses Feature gibt es bei Access / Office seit der Version 2007. Es ist nicht unbedingt egal, WO so eine Applikation abgelegt wird.
Kontrolliere bitte daher die Einstellungen die deine Offis-Installation in dem Zusammenhang beinhaltet - findest du im Sicherheitscenter.

ZitatIch habe jedoch den VBA-Code auf "Report-Current" geändert.
??? wenn das funktioniert kann ich mir nicht erklären wieso es beim Formatieren nicht gehen soll?

ZitatDas Ziel war, dass Access jede Zeile eigenständig nach dem Wert prüft und je nach ....

Versuch mal...


If Me.MittelwertvonaurBewertung >= 90 Then DiagObj.SeriesCollection(1).Interior.Color = RGB(4, 200, 13)
If Me.MittelwertvonaurBewertung >= 70 AND Me.MittelwertvonaurBewertung <90 Then DiagObj.SeriesCollection(1).Interior.Color = RGB(153, 255, 102)
If Me.MittelwertvonaurBewertung >= 40 AND Me.MittelwertvonaurBewertung  <70 Then DiagObj.SeriesCollection(1).Interior.Color = RGB(4, 200, 13)
If Me.MittelwertvonaurBewertung < 40 Then DiagObj.SeriesCollection(1).Interior.Color = RGB(255, 51, 0)


Du musst bei der Angabe eines unteren Grenzwertes auch dessen obere Grenze anführen sonst wirkt das Ganze nicht so recht  ;)

Alternativ kannst auch das testen:


Select Case Me.MittelwertvonaurBewertung
        Case Is >= 90
            DiagObj.SeriesCollection(1).Interior.Color = RGB(4, 200, 13)
        Case 70 To 90
            DiagObj.SeriesCollection(1).Interior.Color = RGB(153, 255, 102)
        Case 40 To 70
            DiagObj.SeriesCollection(1).Interior.Color = RGB(4, 200, 13)
        Case Is < 40
            DiagObj.SeriesCollection(1).Interior.Color = RGB(255, 51, 0)
    End Select

PeFo

Ja, die Settings im Sicherheitscenter stimmen. Die Anzahl an Verweisen habe ich auch auf ein Minimum reduziert.

Der grundsätzliche If- oder (alternativ) Case-Befehl funktioniert - und zwar dann, wenn ich in die jeweilige Zelle klicke. In diesem Fall werden aber alle Diagramme/Datenbalken des Berichts in die jeweilige Farbe transferiert. Es gibt wieder keine farbliche Differenzierung.

Der Bericht hat ja ein eigenständiges Diagramm je Zeile im Bericht. Basis dafür sind die Werte in "aurHflRefID" / "MittelwertvonaurBewertung".

Kann Access nun zwischen den einzelnen Diagrammen nicht unterscheiden? Mit meinem Laien-Wissen vermute ich das - könnten da Variablen ins Spiel kommen um zu differenzieren?

Danke für die Geduld (!!!) und für Tipps natürlich auch!

Peter


PeFo

Schönen Abend!
Ich denke ich habe das Problem identifiziert. Es ist die Logik!

Das Diagramm hat den Namen "diagramm1". Somit kann Access/VBA nicht differenzieren, da der Name nicht variabel ist. Variablen schaffen jedoch keine Abhilfe.

Ich denke, es ist somit nicht möglich meinen Bedarf umzusetzen, oder?

Freue mich über eine Rückmeldung.

Peter



database

Hallo,

ZitatIch denke ich habe das Problem identifiziert. Es ist die Logik!
NÖ!

sieh mal im Anhang...

Beim Aufbau des Berichts wird JEDE Zeile des Detailbereichs für sich 'gezeichnet' und berechnet.
Wodurch es dann nicht zum Tragen kommt, dass sich der Name des Diagramms nicht pro Zeile ändert - was ja auch ein Wahnsinn wäre - denk mal wenn es da 55287 Zeilen (Datensätze) im Abfragergebnis geben würde.

Nimm mal die Seitenansicht (also die Druckvorschau) und nicht die Berichtsansicht - Bericht also nicht durch Doppelklick öffnen!
Mit dem Doppelklick funktioniert es bei mir auch nicht

[Anhang gelöscht durch Administrator]

database

<<gelöscht - doppelt gesendet!>>


PeFo

Heureka! Ich bin sprachlos - habe ich jetzt unzählige Stunden verschwendet, weil ich die falsche Ansicht genutzt habe...? Ja, so sieht es aus. Hauptsache es funktioniert, über die verschwendeten Stunden wird demnächst keiner mehr nachdenken. Jetzt kann ich die Anwendung ohne Systembruch nutzen, soll heißen, ich erspare mir die Auslagerung der Berichtserstellung ins Excel.

Vielen, vielen Dank - ohne Deiner Hilfe hätte ich das nicht realisieren können.

Viele Grüße,
Peter