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-Key: 164577

Url: https://administrator.de/contentid/164577

Printed on: April 19, 2024 at 22:04 o'clock

Member: MrTrebron
MrTrebron Apr 14, 2011 at 09:42:19 (UTC)
Goto Top
Hallo IngChris

guckst du hier

Gruß
Norbert
Member: thaenhusen
thaenhusen Apr 14, 2011 at 11:40:40 (UTC)
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
Member: IngChris
IngChris Apr 14, 2011 at 18:10:53 (UTC)
Goto Top
Zitat von @MrTrebron:
Hallo IngChris

guckst du hier

Gruß
Norbert

Hallo,

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

LG IngChris
Member: IngChris
IngChris Apr 14, 2011 at 18:14:22 (UTC)
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