Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Memo-Feld ohne Inhalt in einem Bereicht nicht anzeigen

Begonnen von smily68, April 24, 2012, 17:19:12

⏪ vorheriges - nächstes ⏩

smily68

Hallo

Ich habe folgendes Problem oder folgendes festgestellt:

In einem Bericht habe habe auf der Detailebene ein Memofeld eingefügt. Das Feld hat die Eigenschaft vergrössern und verkleiner. Der Detailbereich hat diese Eigenschaft auch, sowie automatische Höhe Ja. Ist das Feld auf einem Datensatz leer wird im Bericht trotzdem eine leere Linie angezeigt. Bei den Text und Zahlenfelder ist dies nicht so?

Ist dies so, oder wie kann ich dieses Problem umgehen?

Gruss Daniel

DF6GL

Hallo,


wenn es sich bei "eine leere Linie "  um den Rest des Textfeldrahmens handelt, dann stell diesen auf transparent ein...

bahasu

Hallo Daniel,

und hier eine zweite Methode.

Im Anhang habe ich extra den Rahmen auf "Durchgezogen" gestellt, um den Effekt sichtbar zu machen.
Es wird die Eigenschaft sichtbar/unsichtbar ausgenutzt, die im Ereignis "Beim Formatieren" eingestellt wird in Anhängigkeit vom Inhalt des Memo-Feldes.

Harald

[Anhang gelöscht durch Administrator]
Servus

smily68

Hallo

Es ist nicht eine Linie sichtbar, doch es gibt einen Leerraum zwischen den Felder oberhalb des Memo-Feldes und den Feldern die unterhalb des Memofeldes auf dem Bericht sind. Die Höhe des Leerraumes ist exakt die Schrifthöhe des Memofelds.

Gruss Daniel

DF6GL

Hallo,

hast Du denn auch die Höhe des Textfeldes, das den Memotext anzeigen soll, im Form-Entwurf auf annähernd 0 (0,001)  gesetzt?

smily68

Hallo

Nein das Feld hatte eine normale Höhe. Ich habe diese auf 0.002cm reduziert. Das funktioniert. Nun ist ein weiteres Problem dazugekommen.
Ich habe zwei Memo-Felder hintereinander. Das erste ist ein Positionstext Allgemein der für alle Berichte eines Auftrages gilt (Offert, Auftrasbestätigung, Lieferschein, Rechnung) Der zweite Positionstext ist spezifisch jeweils für ein Dokument z.B nur für die Rechnung.

Ich habe die beiden Felder auf 0.002cm reduziert und aneinandergeschoben. Wenn nun der obere Text nur eine Zeile hat, werden die die beiden Texte übereinandergeschrieben, hat der erste Text 2 Zeilen funktioniert es und der zweite Text wird nach dem ersten Text geschrieben.

Gruss Daniel

DF6GL

HAllo,

"aneinandergeschoben"

vermeide das.... Lass einen geringen Abstand dazwischen.

smily68

Hallo

Ich hatte schon einen kleinen Abstand zwischen den zwei Feldern gelassen, der grösser war als die Feldhöhe des ersten Feldes 0.005cm. Nun funktioniert es. Ich musste den Abstand auf 0.03cm erhöhen.

Mein Bericht ist relativ komplex und das ganze ausprobieren, suchen und änderen hat mich viel Zeit und Nerven gekostet. Aber es hat mir auch gezeigt, was ich bei zukünftigen Berichten beachten muss.

Danke

Gruss Daniel

smily68

Hallo

Im Zusammenhang mit meinem Bericht habe ich nun noch eine andere Frage:

Ich habe verschiedene Felder, die ich mit einer Funktion abfühle. Kann ich über diese Funktion mitgeben, dass das Feld augrund eines bestimment Wertes fett wird?

Hier ist eine Funktion:

Private Function BetragExklMWStAuftrTotal() As Variant
'Anzeige Betrag exkl MWSt oder Auftrags-Total

    Dim varBetragExklMWStAuftrTotal
   
    If Me.auftrK_Rab <> 0 Then
        varBetragExklMWStAuftrTotal = Me.txtAuftr_PosTotal + RabattAuftr
    Else
        varBetragExklMWStAuftrTotal = Me.txtAuftr_PosTotal + Me.txtAuftr_PosTotal * Me.mwst_Satz / 100
    End If

    BetragExklMWStAuftrTotal = varBetragExklMWStAuftrTotal

End Function

Wenn die Funktion das Auftrags-Total anzeigt, soll das Feld fett angezeigt werden , sonst nicht.

Gruss Daniel

DF6GL

#9
Hallo,

die Bedingung  <<Wenn die Funktion das Auftrags-Total anzeigt>> ist falsch gestellt.. Die Funktion liefert immer einen Wert (nach ihrem  Aufruf), eben den, den sie berechnet.  Somit kann man die Frage nicht beantworten.


Wenn Du ein Feld in Abhängigkeit vom berechneten Wert, bzw. vom akt. durchlaufenden Algorithmus einstellen willst, so kannst Du das ja gleich in den If-Zweigen erledigen:

.
.
.
If Me.auftrK_Rab <> 0 Then
       varBetragExklMWStAuftrTotal = Me.txtAuftr_PosTotal + RabattAuftr
Me!Textfeld.FontWeight= 400  'alternativ: Me!Textfeld.FontBold =False
   Else
       varBetragExklMWStAuftrTotal = Me.txtAuftr_PosTotal + Me.txtAuftr_PosTotal * Me.mwst_Satz / 100
Me!Texfteld.FontWeight= 700  'alternativ: Me!Textfeld.FontBold =True


   End If

.
.


Was meinst Du mit "abgefühlt"?