PDA

Vollständige Version anzeigen : Telefon-Vorwahlen von 01 auf 044 ändern


balloni
27.09.2005, 09:40
Hallo Leute
In den Feldern "Privat" , "Geschäft" , usw. sind Telefonnummern wie folgt erfasst: 01 792 05 20 oder 041 792 05 21
Nun sollte ich alle Vorwahlen mit 01 XXX XX XX durch 044 XXX XX XX ersetzen.
Hat jemand eine Idee, wie ich das am besten bewerkstellige?
Vielen Dank für eure Tips und Gruss
balloni

Nouba
27.09.2005, 09:47
einer Aktualisierungsabfrage läßt sich bestimmt dazu überreden.

Lord Hirni
27.09.2005, 09:49
Hallo,

ich vermute mal, die Telefonnummern sind unterschiedlicher länger und als Text hinterlegt (führende Null).

Ich würde folgendermaßen vorgehen.
a) String-Länge ermitteln.
b) x = [String-Länge] - 2
c) y = dann Wert von rechts mit der Länge x nehmen.
d) z = "044" & y

Natürlich in einer Wenn-Bedingung, wenn String mit 01 beginnt.

Gruß
Dan

kama
27.09.2005, 10:04
Wie Nouba dir bereits geschrieben.
Aktuellasierungsabfrage und
akualliesieren mit
wenn(Left(Deinfeld)="01";"044" & Mid(Deinfeld,3))

balloni
27.09.2005, 15:18
Hallo Leute :)
Vielen Dank schon mal für Eure Tip's; werd's heute noch ausprobieren.
Gruss
balloni

balloni
29.09.2005, 10:44
Hallo Leute

Hier die richtige :) Lösung:

IIf(Left([PRIVAT],3)="01 ","044 "+Mid([PRIVAT],4,Len([PRIVAT])),[PRIVAT]);

Grüsse
balloni

mini_m
29.09.2005, 10:53
Das habe ich vor etwa 4 Monaten gemacht ;-)

UPDATE PDATEN SET TELEFONP = "044/" + right(TELEFONP, len(TELEFONP) -2)
WHERE PDATEN.LAND ="CH" AND Left(TELEFONP, 3) = "01/";

Grüsse, Marina

kama
10.10.2005, 07:49
Hallo Leute

Hier die richtige Lösung:
IIf(Left([PRIVAT],3)="01 ","044 "+Mid([PRIVAT],4,Len([PRIVAT])),[PRIVAT]);

Ist sie leider nicht, :) sondern eine Möglichkeit den Feldinhalt abhängig von den ersten 2 Zeichen unterschiedlich darzustellen. Dazu kommt, daß man bei Mid() nicht die Länge angeben muß, wenn man den Rest des Strings meint. Der False Teil braucht bei IIf ebenfalls nicht angegeben werden, wenn sich nichts ändert.

Um die Nummern in deiner Tabelle zu ändern:
UPDATE DeineTabelle SET DeineTabelle.Telefonnummer = IIf(Left([Telefonnummer],2)="01","044" & Mid([Telefonnummer],3));