Zum Inhalt springen

Access Umlaute umwandeln


Nightflyer2000

Empfohlene Beiträge

Hi Leute!

Hat jemand eine Idee, wie ich im Access evtl. mit einer Abfrage von einer Spalte mit Namen, in denen die Umlaute ausgeschrieben sind (also ä, ö, ü, ß), eine neue Spalte mit exakt den Namen erzeugen kann, in der die Umlaute dann in ä = ae, ü = ue und so weiter umgewandelt sind?

Danke schon mal an alle Tipps!

Bis später.

:confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Nightflyer2000

Hat jemand eine Idee, wie ich im Access evtl. mit einer Abfrage von einer Spalte mit Namen, in denen die Umlaute ausgeschrieben sind (also ä, ö, ü, ß), eine neue Spalte mit exakt den Namen erzeugen kann, in der die Umlaute dann in ä = ae, ü = ue und so weiter umgewandelt sind?

Direkt mit einer Abfrage wüßte ich keine Lösung. Ich würde den String in eine Variable einlesen und in einer Schleife mit der mid-Funktion Buchstabenweise nach den Umlauten durchsuchen. Da es sich ja anscheinend nur um Namen handelt, sind das ja keine langen Texte und die Bearbeitungszeit sollte sich im Rahmen halten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi,

ich kenne keine funktion in access, aber evtl gibt es ja etwas wie die funktion replace (kenne ich von oracle, weiss aber nicht, ob es eine oracle-funktion ist oder standard-sql).

ansonsten ueber zwei sql-stements und vba:

sql: select id, name from tabelle

vba: ersetzung der umlaute

=> stmp = replace(stmp, "ä", "ae")

sql: update tabelle set name = neuer_name where id = 'id'

hoffe, es hilft...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Nightflyer2000

Also bei Access habe ich ja auch die Möglichkeit, eine neue Abfrage direkt in der SQL-Ansicht zu beginnen.

Menst Du, damit könnte ich es versuchen?

Ne, das reicht leider nicht. Die Replace-Funktion gibt es unter Access nicht.

Hier mal eine grobe Lösung:


Private Sub Befehl2_Click()

Dim Namealt As String

Dim Nameneu As String

Dim id As Integer

Dim Anzahl As Integer

Dim i As Integer

Dim Buchstabe As String


' ID aus dem Textfeld lesen

id = Text0.Value


' Alten Namen aus der DB lesen und neuen Namen leeren

Namealt = DLookup("Name1", "Tabelle", "ID=" & id)

Nameneu = ""


'Anzahl der Buchstaben im Namen bestimmen

Anzahl = Len(Namealt)

'Buchstaben einzeln aus dem Namen lesen und neuen Namen zusammenbauen

For i = 1 To Anzahl

    Buchstabe = Mid(Namealt, i, 1)

    Select Case Buchstabe

        Case "ö"

            Nameneu = Nameneu & "oe"

        Case "Ö"

            Nameneu = Nameneu & "Oe"

        Case "ü"

            Nameneu = Nameneu & "ue"

        Case "Ü"

            Nameneu = Nameneu & "Ue"

        Case "ä"

            Nameneu = Nameneu & "ae"

        Case "Ä"

            Nameneu = Nameneu & "Ae"


        Case Else

            Nameneu = Nameneu & Buchstabe

    End Select

Next i


'Neuen Namen in die DB schreiben

DoCmd.RunSQL ("Update Tabelle set Name2='" & Nameneu & "' where ID=" & id & ";")

End Sub

Die ID nehm ich in dem Beispiel einfach aus einem Textfeld "Text0". Das ganze kann man bestimmt noch etwas verfeinern, hab das jetzt nur mal auf die Schnelle probiert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wow, danke für die Tipps!

Werde ich mal probieren. Ich habe leider keine direkte SQL-Datenbank.

Es ist alles in der Access-Datenbank drin und ich spiele mir die Spalten, die ich für meine Zwecke brauche mit einer Abfrage raus in eine neue Tabelle, welche ich dann als Excel-Tabelle exportiere.

In der Und ich brauche eine Spalte mit den korrekten Umlauten in den Namen und eine mit den umgewandelten Umlauten...

Danke schon mal!

:cool:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...