Public Function Umlaut(S)
Dim I As Integer, Ch As String * 1, Ch1 As String * 1, _
IsUpCase As Boolean, Res As String
If IsNull(S) Then Umlaut = Null: Exit Function
Res = ""
For I = 1 To Len(S)
Ch = Mid(S, I, 1)
Ch1 = IIf(I Len(S), Mid(S, I + 1, 1), " ")
' Nächstes Zeichen ist kein Kleinbuchstabe:
IsUpCase = (Asc(Ch1) = Asc(UCase(Ch1)))
Select Case Asc(Ch)
Case Asc("Ä"): Res = Res & IIf(IsUpCase, "AE", "Ae")
Case Asc("Ö"): Res = Res & IIf(IsUpCase, "OE", "Oe")
Case Asc("Ü"): Res = Res & IIf(IsUpCase, "UE", "Ue")
Case Asc("ä"): Res = Res & "ae"
Case Asc("ö"): Res = Res & "oe"
Case Asc("ü"): Res = Res & "ue"
Case Asc("ß"): Res = Res & "ss"
Case Else: Res = Res & Ch
End Select
Next I
Umlaut = Res
End Function
Grüsse Daniela