Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: datekk am April 02, 2014, 11:33:59

Titel: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: datekk am April 02, 2014, 11:33:59
Hi. Ich führe eine Access Datenbank zur Angebotserstellung. Hierüber werden zwei Firmen verwaltet. Die Zuordnung der Firma erfolgt bei der Angebotserfassung. Also in der Tabelle steht dann in der Spalte Firma eine 1 oder eine 2.

Nun möchte ich, dass sich im Angebot automatisch bestimmte Felder einblenden oder ausblenden, je nachdem zu welcher Firma der Datensatz zugeordnet ist. Auch das im Bericht hinterlegte Hintergrundbild (Briefkopf der jeweiligen Firma) sollte sich ändern.

Da ansonsten die Inhalte der Angebotsschreiben beider Firmen absolut identisch sind, möchte ich es vermeiden, mit zwei verschiedenen Auftragsformularen(Berichtsvarianten) zu arbeiten.

Also noch etwas genauer:

Bei Firma 1 soll das Hintergrundbild eingeblendet werden, sowie 2 Textfelder ausgeblendet.
Bei Firma 2 genau anders herum.

Gibt es diese Möglichkeit?

Danke schonmal.
..::datekk::..
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: DF6GL am April 03, 2014, 10:29:14
Hallo,

sicher gibt es die Möglichkeit:

Beim Berichts-Ereignis "Beim Formatieren" des entspr. Bereiches die Felder (Objekte) in Abhängigkeit der Firma-Kennung auf sichtbar, bzw. unsichtbar setzen...
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: datekk am April 08, 2014, 15:08:24
Kannst Du mir bitte sagen, wo ich diese Einstellung vornehmen kann? Ich kann nur manuell in den Eigenschaften die Sichtbarkeit auf Ja oder Nein stellen. Ich würde das aber gern automatisch geregelt haben. So könnte ich mir vorstellen, dass wenn ich einen Bericht erstelle, vorher ein Fenster erscheint in dem verschiedene Bereiche aktiviert oder deaktiviert werden können und sich diese Einstellungen dann auf das Layout des Berichtes auswirken. Nur, wo kann ich die Formel eingeben, wann etwas sichtbar ist und wann nicht?
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: DF6GL am April 08, 2014, 15:22:48
Hallo,

es geht hierbei nicht um manuelles Einstellen, sondern um VBA-Ereignisprozeduren , die diese Einstellungen vornehmen:

Sub Detailbereich_Format(....)
Me!Feld1.Visible = Me!Firma = 1
End Sub

um das Feld "Feld1" sichtbar zu stellen, wenn der Inhalt des Feldes Firma dem Wert 1 entspricht.
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: datekk am April 08, 2014, 16:21:09
Ok das werd ich dann mal versuchen. Vielen Dank. Eins noch: Beim manuellen ausblenden von Textfeldern (und manche beinhalten richtige Textblöcke) belegen diese weiterhin ihren Platz... Also es entstehen dann z.B. große Lücken im Bericht. Kann man das auch so einstellen, dass die nicht ausgeblendeten Felder den Platz der ausgeblendeten einnehmen und somit ein normaler Textverlauf entsteht?

Es wäre hier evtl. nötig zusätzlich zum ausblenden die Höhe auf null zu setzen.

Und wie funktioniert das mit dem Hintergrundbild im Bericht?

Das ein und ausblenden der Felder kann ich dank Deiner Hilfe nun umsetzten.
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: DF6GL am April 08, 2014, 18:39:35
Hallo,

Wenn die Felder untereinander stehen, könnte die Höhe der auszublendenden Felder auf 0 (zumindest sehr klein) gesetzt werden, um das nachfolgende Feld "hochzurücken".


Das Bild des Bericht kann über die Zuweisung einer Bilddatei verändert werden.

Letztendlich sind das alles aber nur Krücken und nicht sehr zielführend, gelinde gesagt.


"dass sich im Angebot automatisch bestimmte Felder einblenden oder ausblenden, je nachdem zu welcher Firma der Datensatz zugeordnet ist."

Was hindert einen daran, zwei individuell passende Berichte für jeweils Firma1 und Firma2 zu generieren, anstatt die Felder dynamisch (und damit aufwendig/problematisch) ein/auszublenden?



Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: datekk am April 08, 2014, 20:51:36
Die Antwort auf das Warum ist einfach: Weil ich dem Forum nicht alle Informationen benenne, weil dies der Sache nicht dienlich ist.

Ich vereinfache die Fragestellung um das Forum, die Leser usw nicht mit unwichtigen Dingen zu nerven. Aus den Hilfestellungen leite ich dann selbst ab welchen Aufwand ich fahren möchte.

Im konkreten Fall habe ich gesagt ich möchte das sich ein Textfeld je nach Firma ein oder ausblendet... Das ist ein Furz von dem was ich daraus umsetzen möchte. Ich habe eine ganze Reihe von Feldern welche sich aufgrund unterschiedlicher Daten ändern müssen. Je nach Firma, nach Produktgruppe, nach Menge, nach Empfängerkategorie etc. Habe ich die Antwort, wie ich ein Feld ändere, kann ich dies auf alle anderen anwenden. Ich bräuchte 10 verschiedene Berichte um das abzudecken was ich brauche... Wenn ich dann mal was ändern muss, ändere ich 10 Berichte... Dann muss ich jedes mal aus 10 Berichten wählen... Diesen Aufwand versuche ich zu umgehen, um a) Fehler auszuschließen und b) Geschwindigkeit in meine Arbeit zu bekommen. Die ganze Datenbank ist sehr umfangreich 20 Tabellen, 40 Abfragen, 35 Formulare, 20 Berichte.. aber das interessiert doch keinen...

Der Plan ist, aus einem Formular heraus via Schaltfläche einen Bericht auszugeben.

Als Zwischenschritt soll nun ein weiteres Formular erscheinen, mit welchem die Eigenschaften des zu erstellenden Berichtes vorab definiert werden können... Also z.B. welche Textblöcke erscheinen sollen, welche nicht, ob ein Datum im Detailbereich erscheinen soll, oder lieber nur das naheliegendste im Gruppenkopf... ob Einzelpreise im Detailbereich oder nur Summen im Gruppenfuß... etc etc etc.

Kannst Du mir bitte noch sagen, wie das mit dem zuweisen der Bilddatei und dem ändern der Höhe der Felder mit VBA funktioniert?
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: DF6GL am April 09, 2014, 09:17:34
Hallo,
patzig zu reagieren ist, ist auch "der Sache nicht dienlich.."

Aus dem Posting lese ich nur einen chaotischen Arbeitsablauf und ein nicht durchdachtes DB-Konzept heraus..  Sorry, und richtig ist:  aber das interessiert doch keinen

Wenn wirklich individuell (nach vorhandenen Daten abhängig)  aufgebaute Berichte verwendet werden müssen (und daran ist nach wie vor zu zweifeln),  dann kann das nur sinnvoll mittels VBA-basierter Entwicklung der Berichte im Entwurfsmodus geschehen.



Konkret zu:

"Der Plan ist, aus einem Formular heraus via Schaltfläche einen Bericht auszugeben. "
Docmd.Openreport "rptBericht1",,,"AuftragsID= " & Me!AuftragsID

" ändern der Höhe der Felder "
Me!Feld1.Height = 300

" zuweisen der Bilddatei "
Me.Picture = "c:\Bilddatei.jpg"

Sinnvoll ist auch der Blick in die Access- bzw. VBA-Hilfe...

Das reicht, um alles andere dann selbst abzuleiten...
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: datekk am April 09, 2014, 09:44:43
Das war überhaupt nicht patzig gemeint. Und sicher wird meine Datenbank nicht der eines Access Profis entsprechen, diesen Anspruch habe ich auch gar nicht.. Ich gehe einer ganz anderen Tätigkeit nach... Und dennoch habe ich es geschafft, eine Datenbank so aufzubauen, mit welcher ich sinnvoll arbeiten kann. Vor einem Jahr kannte ich keinen Unterschied zwischen Berichten und Formularen, wusste nicht wie man in Access 1+1 berechnet... Nun lerne ich täglich, gerade auch aus Fehlern und es macht mir Spaß etwas zu erschaffen was meine Arbeit erleichtert. Und gerade Dir Franz bin ich sehr dankbar, denn Du hast Dich in die meisten meiner Themen hilfreich eingeklinkt. 1000 Dank dafür.

Aber, ich bin kein Profi und will auch keiner werden. Alles Step by Step. :)
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: datekk am April 09, 2014, 09:56:35
Ich bekomme eine Fehlermeldung wegen dem Bild:

"MS Access kann das in Ihrem Ausdruck angesprochene Feld "Picture" nicht finden...
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: DF6GL am April 09, 2014, 10:45:33
Hallo,

hast Du GENAU die Codezeile abgeschrieben und den Dateinamen angepasst?

WO genau (in welcher Prozedur) steht die?
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: datekk am April 09, 2014, 12:00:07
Im Bericht als Ereignisprozedur "Beim Laden"

Private Sub Report_Load()
Me!Picture = "C:\xxxxxx\Grafik_Briefbogen2.jpg"
End Sub
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: DF6GL am April 09, 2014, 12:09:06
Hallo,


Me.Picture = ....
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: datekk am April 09, 2014, 13:08:40
Schwupp... funktioniert...

Was bedeutet ein Punkt bzw. ein Ausrufezeichen?
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: DF6GL am April 09, 2014, 14:27:14
Hallo,

siehe:  http://www.donkarl.com/?FAQ6.3
Titel: Re: Berichtsinhalte (Textfelder/Hintergrundgrafik) nach Vorgabe ein- oder ausblenden
Beitrag von: datekk am April 09, 2014, 14:37:36
Besten Dank... Dann mal.... GELÖST :)