Erstes Zeichen eines Textfeldes in Großbuchstaben umwandeln

16/12/2007 - 10:31 von Gerhard Martin | Report spam
Hallo,

ich habe ein Formular erstellt, über das ein neuer Datensatz eingelesen
wird.
Nun möchte ich bei bestimmten Feldern das erste Zeichen, bereits bei der
Eingabe, den ersten Buchstaben in einen Großbuchstaben umwandeln lassen.
Wie kann ich das am einfachsten realisieren?
Dabei ist es mir egal, ob die Umwandlung über ein "Ereignis" oder das
"Eingabeformat" erfolgt.
Wichtig ist mir nur, dass eine evtl. Änderung gleich sichtbar wird.

Gruß Gerhard
 

Lesen sie die antworten

#1 Frank Hügel
16/12/2007 - 11:55 | Warnen spam
"Gerhard Martin" schrieb im Newsbeitrag
news:
Hallo,

ich habe ein Formular erstellt, über das ein neuer Datensatz eingelesen
wird.
Nun möchte ich bei bestimmten Feldern das erste Zeichen, bereits bei der
Eingabe, den ersten Buchstaben in einen Großbuchstaben umwandeln lassen.



Salü Gerhard

Du nennst deine Access_Version nicht.

Unter Access2003 machei ch so was mit VBA
(Entwickelt mal in der Urzeit 1997 mit A97)

Solltest Du mehr in Access machen wollen, empfehle ich Dir einen VBA-Kursus,
oder mindestens mal das Studium entsprechencder Literatur.
Die Gruppen sind eigentlich mehr Hilfe zur Selbsthilfe, und keine 'Macht mir
mal meine Arbeit'-Gruppen.

im Change-Ereignis einer Textbox :

Private Sub Text0_Change()
If Len(Text0.Text) > 0 Then Text0.Value = FirstCharUcase(Text0.Text)
'Da sonst der ganze text markiert ist (mal ja mal nein=Blinkerprinzip)
Text0.SelLength = 0
Text0.SelStart = Len(Text0.Text)
End Sub

und in ein Modul:

Option Explicit
Public Const MInpErrBase = vbObjectError + 100
Option Compare Database

Public Function FirstCharUcase(sIn As String) As String
' 19970503
' For What : First Char of String Always Upper Case
' Event : Change
' In : String
' Out : Changed String, complete
'--
On Error GoTo ErrHdl
If Len(sIn) < 1 Then Exit Function
Dim sWork As String, sWork1 As String
sWork = Mid$(sIn, 1, 1)
sWork = UCase(sWork)
sWork1 = sWork
If Len(sIn) > 1 Then sWork1 = sWork & Mid$(sIn, 2)
FirstCharUcase = sWork1
On Error GoTo 0
Exit Function
ErrHdl:
Err.Raise MInpErrBase + Err.Number, "fhbase.modInputs.FirstCharUCase",
Err.Number & vbNewLine & Err.Description & vbNewLine & "In:" & sIn
'Stop
'Resume
End Function

Gruß
Frank

Ähnliche fragen