ingchris
Goto Top

Access 2010 - Validitätsprüfung email-Adresse ?

Hallo,

Habe in einem Access 2010 - Formular ein Feld mit einer email-Adresse.
Vor dem Senden der email möchte ich gerne prüfen, ob die email-Adresse valide ist (z.b. info@xxxx.at)

Hat jemand passenden VBA-Code dafür?

Vielen Dank

LG IngChris

Content-ID: 164577

Url: https://administrator.de/forum/access-2010-validitaetspruefung-email-adresse-164577.html

Ausgedruckt am: 23.12.2024 um 07:12 Uhr

MrTrebron
MrTrebron 14.04.2011 um 11:42:19 Uhr
Goto Top
Hallo IngChris

guckst du hier

Gruß
Norbert
thaenhusen
thaenhusen 14.04.2011 um 13:40:40 Uhr
Goto Top
Moin.

Vieleicht hilft Dir folgende Funktion?
Die habe ich mal im Netz gefunden und etwas erweitert...

[code]
Public Function EmailPruefen(feld As String) As Integer
'Funktion gibt 0 oder 1 zurück
Dim Form As Object 'Haupt- oder Unterformaular
Set Form = Forms(Screen.ActiveForm.Name) 'Oder welches Formular das auch immer ist

'Prüfung ob es sich um eine gültige Mailadresse handelt.
Dim Ch As String * 1, I As Long, Ats As Long, Periods As Long
Dim LeftofAt As Boolean, IsLeading As Boolean, gueltig As Boolean

LeftofAt = True
IsLeading = True
gueltig = True
Periods = 0
Ats = 0

EmailPruefen = 0
Set bezfeld = Form("Bez_" & feld)

If (Form(feld) <> "") Then
For I = 1 To Len(Form(feld))
Select Case Asc(Mid(Form(feld), I, 1))
Case Asc("@")
Ats = Ats + 1
' links vom "@" muss wenigstens ein Zeichen sein:
If I = 1 Then
gueltig = False
Exit For
End If
' nur ein "@" erlaubt:
If Ats > 1 Then
gueltig = False
Exit For
End If
LeftofAt = False
IsLeading = True
Case Asc(".")
' Punkte rechts vom "@" zählen:
If Not LeftofAt Then Periods = Periods + 1
' Top Level Domain hat weniger als 2 Zeichen:
If I > Len(Form(feld)) - 2 Then
gueltig = False
Exit For
End If
Case Asc("A") To Asc("Z"), Asc("a") To Asc("z"), Asc("0") To Asc("9")
IsLeading = False
Case Asc("-")
' kein führendes "-" erlaubt:
If IsLeading Then
gueltig = False
Exit For
End If
Case Asc("_")
' "_" nur links vom "@" erlaubt:
If IsLeading Or Not LeftofAt Then
gueltig = False
Exit For
End If
Case Else
' andere Zeichen sind nicht zulässig:
gueltig = False
Exit For
End Select
Next

'Ein Punkt muss in den Letzten fünf Stellen vorhanden sein!
If InStr(Len(Form(feld)) - 5, Form(feld), ".") = 0 Or InStr(Form(feld), "@") = 0 Then
gueltig = False
End If

If (gueltig = True) Then
EmailPruefen = 0
Else
MsgBox "Kein gültiges Mail-Format!"
EmailPruefen = 1
End If
End If

End Function
[/code]

HTH
MK
IngChris
IngChris 14.04.2011 um 20:10:53 Uhr
Goto Top
Zitat von @MrTrebron:
Hallo IngChris

guckst du hier

Gruß
Norbert

Hallo,

Vielen Dank, genau sowas hab´ ich gesucht...

LG IngChris
IngChris
IngChris 14.04.2011 um 20:14:22 Uhr
Goto Top
Hallo,

vielen Dank auch für diesen Tipp.

Vorerst finde ich mit dem Tipp von Mr. Trebron das Auslangen...

Deine Version ist ja doch etwas komplexer, werde ich mir u.U. für die nächste Ausbaustufe ansehen.

LG Ing Chris