Guten Tag,
mein erster Beitrag im Forum betrifft mehr VB.
Folgendes Problem. der Layer Hausnummern (wird über eine Datenbankverbindung aufgerufen) hat ein Spalte HNR (Textfeld 4 Stellen) in dem die Hausnummer angegeben ist.
Bei einigen der DS hat die HNR eine oder mehrere Vornullen zB.: 0002. 0033 usw. andere Hausnummern sind ohne diese Vornullen. zB.: 234, 5, 12.
Wie kann ich die Beschriftung so hin bekommen, dass sämtliche Vornullen wegfallen?
Gut, ich könnte die Daten local speichern, ein zusätzliches numerisches Feld in die Attributtabelle einfügen und dann den Wert aus der Spalte HNR einfügen lassen.
Das müsste ich aber nach jeder Aktualisierung machen. Das möchte ich nicht.
Es müsste so ungefähr sein.
Wenn das Feld HNR mit einer Null beginnt (Links) dann suche alle Nullen von Linke bis zur ersten nicht NUll und lösche diese.
Vielleicht hat ja schon jemand eine Lösung.
Danke. MfG
Uwe
mein erster Beitrag im Forum betrifft mehr VB.
Folgendes Problem. der Layer Hausnummern (wird über eine Datenbankverbindung aufgerufen) hat ein Spalte HNR (Textfeld 4 Stellen) in dem die Hausnummer angegeben ist.
Bei einigen der DS hat die HNR eine oder mehrere Vornullen zB.: 0002. 0033 usw. andere Hausnummern sind ohne diese Vornullen. zB.: 234, 5, 12.
Wie kann ich die Beschriftung so hin bekommen, dass sämtliche Vornullen wegfallen?
Gut, ich könnte die Daten local speichern, ein zusätzliches numerisches Feld in die Attributtabelle einfügen und dann den Wert aus der Spalte HNR einfügen lassen.
Das müsste ich aber nach jeder Aktualisierung machen. Das möchte ich nicht.
Es müsste so ungefähr sein.
Wenn das Feld HNR mit einer Null beginnt (Links) dann suche alle Nullen von Linke bis zur ersten nicht NUll und lösche diese.
Vielleicht hat ja schon jemand eine Lösung.
Danke. MfG
Uwe
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Maxilla am Do., 23.01.2014 - 16:24
PermalinkGib mal folgendes als "Expression" auf der "Labels"-Registerkarte der Layer-Properties ein:
CStr(CLng( [HNR] ))
Gespeichert von Kasparz am Fr., 24.01.2014 - 08:42
Permalinkdas sollte eigentlich auch mit abs([HNR]) gehen.
Sven
Gespeichert von Uwe am Mo., 27.01.2014 - 15:10
PermalinkMfG
Gespeichert von Kasparz am Mo., 27.01.2014 - 16:38
Permalinkda sind einige Funktionen, die recht hilfreich sind:
left([feldname],n) (linker Teil des Feldwertes, n= Anzahl der Zeichen)
right([feldname],n) (rechter Teil des Feldwertes, n= Anzahl der Zeichen)
mid([feldname],m,n) (Teil des Feldwertes, mit m (Nummer des Startzeichens und n= Anzahl der Zeichen)
in Verbindung mit dem Zeichen "&" und "VBNewLine"
hat man fast alles was man auf die Schnelle zum Beschriften braucht.
Sven