6.8k Aufrufe
Gefragt in Datenbanken von
Hallo fleißige Helferlein,

ich habe in Access zwei Berichte, die ausgedruckt und verschickt werden. Auf beiden gibt es ein Bezeichnungsfeld, welches nicht mitangezeigt und mitgedruckt werden soll, wenn das Textfeld dahinter leer ist.

Wie kann ich das machen und wo? Direkt bei den Eigenschaften des Bezeichnungsfeldes? Im vorhandenen Makro? Oder ganz wo anders?

Sollten weitere Infos benötigt werden, geb ich die gerne durch. Aber vielleicht reicht das ja auch so. :-D

Herzlichsten Dank im Voraus.

Lieben Gruß
Mona1980

8 Antworten

0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Mona,

probiere es mit

me!Bezeichnungsfeld.visible = nz(Me!textfeld,"") = ""

einzutragen beim Ereignis "Beim Formatieren" im Detailbereich.

Gruß
Ralf
0 Punkte
Beantwortet von
Hallo Ralf,

habe deinen Tipp dankend gelesen und dachte auch schon, ihn erfolgreich eingebaut zu haben. Aus deiner Angabe habe ich nach Anpassung auf meine Datenbank dies angegeben:

me!Achtung2.visible = nz(Me!Achtung,"") = ""

"Achtung2" = Name meines Bezeichnungsfeldes
"Achtung" = Name meines Textfeldes

Der einzige Unterschied ist, dass ich dies nicht beim Detailbereich angegeben habe, sondern beim Fußbereich, da auch hier diese beiden Felder sind.

Leider bekomme ich jedoch beim Aufruf des Berichtes diese Meldung;

Das Objekt "me!Achtung2" kann von Rechnungsverwaltung nicht gefunden werden.

Rechnungsverwaltung ist der Name meiner Datenbank.

Was habe ich denn hier falsch gemacht?

Herzlichen Dank für eine Hilfestellung.

Lieben Gruß
Mona1980
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Mona,

wenn das Bezeichnungsfeld "Achtung2" im Fußbereich vorhanden ist, ist das seltsam. Ich verstehe allerdings dein Textfeld im Fußbereich nicht. Wenn dies ein Feld im Detailbereich ist kann dies ja verschiedene Werte annehmen und der Fußbereicht hat die Qual der Wahl. Ist das vielleicht ein berechnetes Feld? Kannst du mal erleutern, woher du den Wert me!achtung herbekommst?
Zur Fehlersuche folgendes: In solchen Fällen setze ich in der Formatierung der Fußzeile den Wert von .visible erst ein al auf True und False und beobachte was passiert. Damit kannst du erst einmal die Fehler eingrenzen. Dies sollte allerdings funktionieren. Setze einfach mal ein Haltepunkt (F9) in der Zeile in der der Fehler auftaucht und prüfe den Inhalt der Variablen im Direktfenster (mit "? me!Achtung2") und degugge ggf. zeilenweise mit F8.

Lass' was von dir hören.

Gruß
Ralf
0 Punkte
Beantwortet von
Hallo Ralf,

ich versuche erst mal meine DB noch etwas zu erklären. Im ersten Schritt werden Aufträge angelegt. Darin wird u.a. auch die Angabe für "Achtung" erfasst (z.B. "zusätlziche Kopie an Hrn. XY"). Im zweiten Schritt werden nun den Aufträgen zugeordnet neueingegangene Rechnungen erfasst. Wenn alle Rechnungen erfasst sind, drücke ich auf meinen Button "RG versenden" und es erstellt sich automatisch der Bericht als Serienbrief.

In diesem Bericht wird neben Daten der erfassten Rechnung auch eben Daten von den Aufträgen angegeben. So steht unten im Fußbereich neben meinem Namen auch, wer alles auf jeden Fall eine Kopie bekommt und unter "Achtung" eben die Sonderfälle. "Achtung:" soll nun aber nicht angezeigt werden, wenn keine Ausnahme für einen Auftrag erfasst wurde.

Mein Problem ist, dass ich eigentlich keine VBA-Kenntnisse habe. Daher fällt es mir sehr schwer, die Tipps umzusetzen, aber ich versuche es fleißig. Dennoch kann ich mit deinem Hilfsvorschlag nicht so wirklich viel anfangen. *schäm* Kannst du mir dennoch weiterhelfen?

Herzlichen Dank im Voraus.

Lieben Gruß
Mona1980
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Mona,

anderer Ansatz:

1. Benenne das Textfeld um, z.B. in "ACHTUNG1"
2. als Steuerelementinhalt schreibst du: = "Achtung: " + [ACHTUNG]
3. Das zugehörige Bezeichnungsfeld kannst du löschen.

Bei diesem Ansatz gehe ich davon aus, dass das Feld ACHTUNG <null> ist, wenn kein Wert vorhanden ist (also nicht Default Leerstring) Hat es einen anderen Namen ersetze entsprechend. Wichtig dabei ist das "+"-Zeichen zu verwenden und nicht das "&"-Zeichen.

Probiere es mal aus.

Gruß
Ralf
0 Punkte
Beantwortet von
Hallo Ralf,

wir kommen der Lösung immer näher!!!! *freu*

Jedoch wird in der Seitenansicht dann #Fehler angezeigt. Hab mal nachgeschaut und siehe da, Achtung ist nicht null! Wie kann ich das jetzt, schnell und einfach, umstellen?

Sicherlich wird es einen Code geben. Aber da weiß ich wieder nicht, wo ich den eingeben muss, was genau anpassen und wie abspielen.

Vielleicht gibt es ja auch mit einer Aktualisierungsabfrage eine Möglichkeit?

Dank dir wirklich für deine Hilfe.

Lieben Gruß
Mona1980
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hakko Mona,

#Fehler zeigt an, dass du die Syntax (und evtl Feldnamen) nicht korrekt eingehalten hast. Er muss so lauten (evtl [ACHTUNG] auf deinen Feldnamen anpassen und Gleichheitszeichen nicht vergessen):

= "Achtung: " + [ACHTUNG]

Hast du das korrekt eingegeben? Wichtig ist auch die Änderung des Feldnamens!
Falls es immer noch nicht funzt, dann psote mal deine Eingabe.

Gruß
Ralf
0 Punkte
Beantwortet von
Guten Morgen Ralf,

ES HAT GEKLAPPT!!!!!!!!!!!!!! *FREU*

Zum einen habe ich mein Feld Achtung vollständig auf Sonderfall geändert. Ansonsten kommt man da ja nur durcheinander. ;-)

Dann habe ich in der Tabelle, in der die Angaben erfasst werden, die Eigenschaft "Leere Zeichenfolge" auf Nein gesetzt. (Da hätte ich auch schon früher drauf kommen können!!!!). Und siehe da:

Wenn keine Angabe da ist, ist es leer und wenn was drinsteht, wird auch das "Achtung:" angezeigt!

Herzlichen Dank für deine Hilfe!!!!! Jetzt kann ich mich ja dem zweiten Thema widmen: Bericht zweimal drucken: Original und Kopie. Glaube, da hattest du auch geantwortet...

Beste Grüße
Mona1980
...