PDA

Vollständige Version anzeigen : Leerfelder??


Birdie501
09.05.2001, 01:05
Hallo,

wie kann ich hier die Kommas unterdrücken wenn ein Feld leer ist?
=[Eigentümer] & "," & [Eigentümer-Str] & "," & [Eigentümer-PLZ] & " " & [Eigentümer-Ort]

denn wenn 2 aufeinanderfolgende Felder leer sind druckt es trotzdem zwei Kommas hintereinander.

Danke
Birdie501

MarioR
09.05.2001, 06:05
Hallo,

setze doch eine benutzerdefinierte Funktion ein:

Public Function entferneKommas(ByVal Text As String) As String
Dim strText As String, strDummy As String
If Not IsNull(Text) Then
strDummy = Text
strText = ""
Do While InStr(strDummy, ",,") > 0
strText = strText & Left(strDummy, InStr(strDummy, ",,") - 1)
strDummy = Mid(strDummy, InStr(strDummy, ",,") + 1)
Loop
strText = strText & strDummy
Else
strText = ""
End If
entferneKommas = strText
End Function

Der Funktion übergibst Du deinen Ausdruck und erhälst einen Text ohne doppelte Kommas.

Birdie501
09.05.2001, 08:08
Hallo MarioR,

mmmhh, ich bin absoluter Anfänger. Wie mache ich das denn genau. Also wie baue ich das in den Bericht ein?

Danke!

MarioR
09.05.2001, 09:27
Hi,

also erstmal kopierst Du den Funktionstext in meiner letzten Antwort.
Dann wechselst Du in die Code-Ansicht von Deinem Bericht.
Dort fügst Du das Kopierte ganz unten an.
Dann wechselst Du wieder in die Entwurfsansicht.
Dort wählst Du das Textfeld an und gibst im Feld "Steuerelementinhalt" folgendes ein:
=entferneKommas([Eigentümer] & "," & [Eigentümer-Str] & "," & [Eigentümer-PLZ] & " " & [Eigentümer-Ort])

Wenn ich jetzt Nichts vergessen habe, müßte es funktionieren.

kaybuch
09.05.2001, 10:31
Hi,
einfacher:
Als verknüpfungsoperator + wählen.

=([Eigentümer] + ",") & ([Eigentümer-Str] + ",") & ([Eigentümer-PLZ] + " ") & [Eigentümer-Ort]

Gruß Kay

Birdie501
09.05.2001, 10:34
Hallo,

danke für die gute Beschreibung :-)
Es funktioniert. Nur habe ich noch ein kleines Problem. Wenn nur der Name des Eigentümers vorhanden ist und Strasse, etc. nicht, dann schreibt es mir den Namen und macht ein Komma dahinter. Aber da kommt ja nichts mehr. Kann man das noch einstellen?
Oder genauso falls gar nichts in diesen Feldern ist, stéht nur ein einsames Komma in der Gegend rum.

Danke für die schnelle Hilfe!

Grüße

kaybuch
09.05.2001, 11:07
Hallo
und sorry - mein Flüchtigkeitsfehler. So müßts passen:

=[Eigentümer] & ("," + [Eigentümer-Str]) & ("," + [Eigentümer-PLZ]) & (" " + [Eigentümer-Ort])

Gruß
Kay

ps. Gib doch hinter dem Komma ein Leerzeichen mit. Das machts lesbarer. Anstatt "," dann ", " eingeben.

Birdie501
09.05.2001, 11:45
Hallo,

das ging ja wieder flott! Leider hat sich jetzt noch ein Fehler aufgetan. Wenn diese Felder überhaupt keinen Inhalt haben, dann schreibt es im Bericht #Fehler. Sind Daten vorhanden funzt es prima?

Hast du hierfür auch noch ne Lösung?

Grüße

kaybuch
09.05.2001, 11:51
hallo,
#Fehler kommt wenn der Feldinhalt Null ist. Den String um & " " erweitern, dann enthält das Feld immer ein Leerzeichen am Ende, Wenn keine Daten vorhanden sind nur das Leerzeichen.
=[Eigentümer] & ("," + [Eigentümer-Str]) & ("," + [Eigentümer-PLZ]) & (" " + [Eigentümer-Ort]) & " "

Gruß Kay

Birdie501
09.05.2001, 12:06
Hallo Kay,

wirklich klasse. Jetzt funzt es. Wenn ich nun schon jemand kompetentes an der Angel habe :-) kannst du mir sicherlich diese Frage auch noch beantworten:

In meinem Bericht habe ich rechts neben den Datenfeldern eine vertikale Trennlinie.(Raum für Notizen). Leider ist diese a) nicht auf der ganzen Seite sichtbar, wenn nur ein Datensatz vorhanden und b) wenn es in einer Zeile einen automatischen Zeilenumbruch gibt ist diese Trennlinie eben zu kurz und ich habe zwischen jedem Datensatz Unterbrechungen. Lösung?

Danke.

p.s. Machst du das eigentlich beruflich?

A.S.
09.05.2001, 12:16
Hallo Birdie,

zu Deinem Linienproblem schau mal unter <a href = "http://www.donkarl.com/FAQ/FAQ5Berichte.htm">FAQ 5.15 Senkrechte Linien verlängern</a> nach.

HTH

Arno