Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Benutzername aus Vor- und Nachnamen erstellen

Begonnen von Friggo, November 02, 2012, 15:23:36

⏪ vorheriges - nächstes ⏩

Friggo

Hallo Leute,
In meiner Tabelle (t_mitarbeiter) habe ich mehrere Datensätze angelegt. Alle haben einen Vor- und Zunamen. Jetzt möchte ich aus Vor- und Zunamen den Benutzernamen automatisch von Access erstellen lassen und dem Datensatz an entsprechender Stelle hinzufügen. Dabei soll der der Benutzername aus dem ersten Buchstaben des Vornamens und dem Nachnamen erstellt werden (s. Bild im Anhang). Alles soll kleingeschrieben werden.
Mir ist leider völlig schleierhaft, wie ich dieses "Problem" angehen soll. Hat jemand einen Denkansatz / Idee?
Vielen Dank im Voraus!
Friggo
PS.: Ich habe auch ein Formlar, über welches ich die Daten in die Tabelle eintragen kann. Vielleicht ist das irgendwie wichtig?

[Anhang gelöscht durch Administrator]

Beaker s.a.

Hallo Friggo,
benutzername = LCase(Left(vorname,1)) & LCase(nachname)
hth
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Friggo

Hallo Ekkehard,
vielen Dank für deine schnelle Antwort. Was meinst du mit "Code in Zwischenablage kopieren"? Ich werde daraus einfach nicht schlau. Muss ich eine Prozedur im VBA-Editor erstellen oder wo füge ich diesen Code genau ein?
Lieben Gruß
Friggo

MzKlMu

#3
Hallo,
"Code in Zwischenablage kopieren" ist eine Forumsfunktion und keine Bemerkung von ekkehard.

Das ist VBA Code der in das Ereignis "Nach Aktualisierung" der Felder Vor und Nachname gehört.
Benutzername ist auch ein ein Formularfeld.
Die vollständigen Codes sehen dann so aus:
Private Sub Nachname_AfterUpdate()
   Me.Benutzername = LCase(Left(Me.Vorname, 1)) & LCase(Me.Nachname)
End Sub

Private Sub Vorname_AfterUpdate()
   Me.Benutzername = LCase(Left(Me.Vorname, 1)) & LCase(Me.Nachname)
End Sub


Übrigens, Grossposting ist nicht gern gesehen und in beiden Foren unerwünscht. Steht auch in den Regeln.

http://www.ms-office-forum.net/forum/showthread.php?t=294342
Gruß Klaus

Beaker s.a.

Hallo Friggo,
ZitatÜbrigens, Crossposting ist nicht gern gesehen und in beiden Foren unerwünscht. Steht auch in den Regeln
Ausserdem gab es da inzwischen schon eine kürzere Version
Me!Benutzername = LCase(Left(Me!Vorname, 1) & Me!Nachname)
und den Hinweis auf Probleme mit Eindeutigkeit.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Friggo

Hallo Ekkehard und MzKlMu,
vielen Dank für die detailierte Lösung. Sie hat funktioniert. Ebenso bin ich dankbar für den Hinweis zwecks der Forenregeln. Es war mir nicht bewusst, dass ein Doppelpost als Großposting gilt, aber in Zukunft werde ich darauf achten.
Lieben Gruß
Friggo