Guten Morgen,
ich bin auf der Suche nach einem Befehl der mir bei einer Akuallisierungsabfrage den Text neu Formatiert.
Konkret: Es geht um Städte Namen, die stehen Teilweise in den Unterschiedlichsten groß und Klein schreibweißen. diese sollen aber nachher alle mit Großbustaben anfangen und klein weiter gehen. Optimal wäre es wenn z.B. aus neu-ulm nahher Neu-Ulm wird
gross2 geht leider nicht
vielen Dank schon mal
Hallo,
das geht imo nur über ein Recordset im VBA. Der Befehl im VBA für das großstellen ist ucase()
Dim rs As Reordset
dim db As Database
set db = Currentdb
set rs = db.openRecordset("Select Staedtename From Tabelle", dbopendynaset)
With rs
Do While not .eof
.edit
rs!Staedtename = ucase(left(rs!Staedtename,1)) & right(rs!Staedtename, len(rs!Staedtename)-1)
.update
.moveNext
loop
.close
End with
set rs = Nothing
set db = Nothing
Code ist ungetestet sollte aber so in etwa funktionieren.
Problem macht es wenn ein Bindestrich wie bei Neu-Ulm vorhanden ist.
Das müsste man über String-Funktionen noch entwickeln.
Gruß Andreas
mhh nach dem was ich bis jetzt im Netz gefunden hatte habe ich das schon befürchtet in VBA kenn ich mich nämlich nicht aus und hatte gehoft es würde doch noch einen befehl bekommen
Hallo,
ohne VBA kommst Du da nicht weiter.
siehe auch hier:
http://dbwiki.net/wiki/VBA_Tipp:_Ersten_Buchstaben_im_Wort_gro%C3%9F_schreiben
Das Ganze dürfte aber auch für Dich lösbar sein, wenn Du hier liest:
http://dbwiki.net/wiki/Access_Grundlagen unter VBA Programmierung
also es klappt auch ohne VBA allerdings nur mit dem ersten Buchstaben bis jetzt
allerdings mit der gleichen logik
geklappt hat es mit:
Großbst (Links([ort];1)) & Kleinbst(Rechts([ort]);Länge([ort])-1))
dies habe ich in der Aktuallisierungtabelle für meine Spalte Ort2 eingetragen
vielen Dank für die Logik ;)
das ist spitze
Hallo,
hier mal ein Vorschlag ohne VBA mit einem Bindestrich.
Wenn(InStr([ort];"-")>0;Format(Teil([ort];1;1);">") & Teil([ort];2;InStr([ort];"-")-1) & Format(Teil(Teil([ort];InStr([ort];"-")+1);1;1);">") & Teil([ort];InStr([ort];"-")+2);Format(Teil([ort];1;1);">") & Teil([ort];2))
In SQL:
UPDATE DeineTabelle SET DeineTabelle.Ort = IIf(InStr([ort],"-")>0,Format(Mid([ort],1,1),">") & Mid([ort],2,InStr([ort],"-")-1) & Format(Mid(Mid([ort],InStr([ort],"-")+1),1,1),">") & Mid([ort],InStr([ort],"-")+2),Format(Mid([ort],1,1),">") & Mid([ort],2));