Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: flo12ferrari12 am Juni 09, 2011, 08:16:52

Titel: Erster Buchstabe groß
Beitrag von: flo12ferrari12 am Juni 09, 2011, 08:16:52
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  
Titel: Re: Erster Buchstabe groß
Beitrag von: Hondo am Juni 09, 2011, 08:33:06
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
Titel: Re: Erster Buchstabe groß
Beitrag von: flo12ferrari12 am Juni 09, 2011, 08:35:32
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

Titel: Re: Erster Buchstabe groß
Beitrag von: DF6GL am Juni 09, 2011, 08:39:40
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



Titel: Re: Erster Buchstabe groß
Beitrag von: flo12ferrari12 am Juni 09, 2011, 08:49:56
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
Titel: Re: Erster Buchstabe groß
Beitrag von: MzKlMu am Juni 09, 2011, 09:28:15
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));