1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Access - leere Felder im Bericht

Discussion in 'Office-Programme' started by MSharmed, Sep 16, 2014.

Thread Status:
Not open for further replies.
  1. MSharmed

    MSharmed ROM

    Hallo,

    ich möchte in einem Bericht leere Felder ausblenden.
    Dazu habe ich schon im Internet gesucht und ensprechend herumprobiert:

    Ich habe alle Felder und den Detailbereich vergrößerbar und verkleinerbar eingestellt (bei Berichtseigenschaften gibt es die Einstellung nicht).
    Damit werden die Textfelder zwar unsichtbar, aber manche Bezeichnungsfelder bleiben stehen.
    Diese werden auch nur als Bezeichnungsfeld12, ... benannt wohingegen die ausgeblendeten den Namen der Textfelder plus "_Bezeichnungsfeld" haben. Es sind aber doch gebundene Bezeichnungsfelder!
    ... vielleicht ein Access-Fehler ?!?

    Ich habe dann weitergeforscht, dass man im Detailbereich unter "beim Formatieren" diese Bezeichnungsfelder per VBA ausblenden kann ( "Me!MeinBezeichnungsFeld1.Visible = Not isNull(Me!MeinTextFeld1)" ).

    Allerdings rücken die unteren Felder nicht nach und es bleibt ein leerer Zwischenraum.

    Ich habe auch versucht, die Felder, die meistens leer sind, zusammenzufassen und in einen Unterbericht zu packen. Aber diesen per VBA auszublenden funktioniert irgendwie überhaupt nicht.

    Es könnte funktionieren, indem man das Textfeld verkleinerbar setzt, das Bezeichnungsfeld per VBA unsichtbar macht und die unteren Felder per VBA neu positioniert. Aber bei vielen Feldern ist das sehr aufwendig, zumal man bei Memofeldern auch deren unterschiedliche Höhe berücksichtigen müsste.

    Hat jemand einen anderen Tip?
    In Verwendung ist Access 2010

    Vielen Dank und liebe Grüße!
    Alex
     
  2. blendax

    blendax Byte

    Hi,

    ich meine, da gibt es was, wenn man die Felder in eigene Sortierebenen packt, daß man die ganze Ebene unterdrücken kann, wenn die Felder leer sind ...
     
  3. Hascheff

    Hascheff Moderator

    Zwei Tipps so als Schnellschuss:

    Kannst du in der zugrunde liegenden Abfrage leere Datensätze filtern?

    Nimm die Bezeichnungsfelder aus dem Detailbereich in den Kopfbereich.
     
  4. MSharmed

    MSharmed ROM

    Also es geht in der DB um die Dokumentation von aufgetretenen Fehlern.
    Dabei sind mehrere Dinge einzutragen wie z.B. Datum, Fehlerbeschreibung, Abteilung, Auswirkungen, ...

    Der Bericht listet die Fehler auf, wobei vorher per Abfrage eine Filterung statt findet (nur Fehler in gewissem Zeitraum, Abteilung, ...).
    Bei vielen Fehlern werden aber nicht alle Felder benötigt bzw. ausgefüllt.
    Diese leeren Felder sollen dann auch am Bericht nicht aufscheinen.

    Insofern gibt es keine leeren Datensätze (das wäre ja ein kompletter Fehler), sondern nur einzelne leere Felder.
    Der Bericht ist auch nicht in Tabellenform sondern Blockmäßig aufgebaut.
    Wenn ich da die Bezeichnungsfelder untereinaner in den Kopfbereich gebe würden diese ja dann auf Seite 1 aufgelistet und auf Seite 2 des Berichtes dann die zugehörigen Textfelder - oder?

    Das mit den Sortierebenen muss ich noch testen.
    Mir ist aber aufgefallen, dass das Ausblenden der Felder bzw. von Unterberichten im Bericht nicht funktioniert - wohl aber dann beim Ausdruck bzw. wenn man ihn als PDF exportiert!

    Lg Alex
     
  5. Hascheff

    Hascheff Moderator

    Also du hast z.B. ein Feld "Verursacher". In deiner Tabelle ist natürlich nur eine Personalnummer und diese ist mit einer Tabelle "Personal" verknüpft, die die Felder "Name" und "Abteilung" enthält.

    Die Felder "Name" und "Abteilung" müssen in den Bericht aufgenommen werden, aber als unsichtbar formatiert werden.
    Dann erstellst du ein weiteres Textfeld, in das du eine Formel schreibst:

    =WENN(ISTNULL(Name);"";"Verursacher: " & Name & " (" & Abteilung & ")")

    Die Formel habe ich jetzt aus dem Kopf erstellt, ich hoffe, ohne Fehler.
     
  6. blendax

    blendax Byte

    ... eventuell hilft auch das Feld und den Inhalt weiß zu machen in Abhängigkeit des Inhaltes. Das geht dann auch bei den Überschriften, denn das sind ja Textfelder. Nicht die automatisch erstellten Feldbeschreibungen, sondern eigene.

    Ein Ausgabefeld kann ja auch ein Datenbankfeld enthalten. Da kannst Du fast alle 'Properties' ergebnisabhängig programmieren. Ich habe auch schon Felder mit anderen weiß gefüllten Feldern ergebnisabhängig überlagert und damit 'unsichtbar' gemacht.
     
    Last edited: Sep 18, 2014
Thread Status:
Not open for further replies.

Share This Page