Neuigkeiten:

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

Mobiles Hauptmenü

Erster Buchstabe groß

Begonnen von flo12ferrari12, Juni 09, 2011, 08:16:52

⏪ vorheriges - nächstes ⏩

flo12ferrari12

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  

Hondo

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

flo12ferrari12

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


DF6GL

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




flo12ferrari12

#4
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

MzKlMu

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));
Gruß Klaus