Crear una mascara en access para email

Me gustaría saber si se puede crear una mascara en un campo que pone e-mail, para que me aparezca se tenga que introducir los signos @ y .com o .es

1 respuesta

Respuesta
1

No creo que te sirva la máscara de entrada para lo que necesitas hacer, entre otras cosas porque una máscara de entrada sólo sirve para "forzar" al usuario a que introduzca la información en un determinado formato, pero los valores de máscara no se almacenan en el campo.

Puedes controlar la introducción de datos a través de código. Imaginemos que en el formulario hay un campo llamado [email]. Sacas las propiedades de ese campo y te vas a la pestaña Eventos -> Después de actualizar, y ahí le generas el siguiente código:

...

Private Sub email_AfterUpdate()
'Declaramos las variables
Dim vMail As String
Dim correcto As Boolean
'Inicializamos correcto
correcto = True
'Cogemos el valor introducido
vMail = Nz(Me.email.Value, "")
'Si no se ha introducido valor salimos
If vMail = "" Then Exit Sub
'Comprobamos que haya la arroba
If InStr(1, vMail, "@") = 0 Then
MsgBox "Mail incorrecto. Reintrodúzcalo, por favor", vbExclamation, "AVISO"
Exit Sub
End If
If InStr(1, vMail, ".com") = 0 Then
If InStr(1, vMail, ".es") = 0 Then
correcto = False
End If
End If
If correcto = False Then
MsgBox "Mail incorrecto. Reintrodúzcalo, por favor", vbExclamation, "AVISO"
Exit Sub
End If
End Sub

...

Ten en cuenta que el código limita la entrada de mails a dominios .com o .es, tal y como indicabas en la consulta.

Ya me dirás qué tal.

Muchas gracias pero no me funciona lo pego así:

Option Compare Database
Private Sub email_AfterUpdate()
Dim vMail As String
Dim correcto As Boolean
correcto = True
vMail = Nz(Me.email.Value, "")
If vMail = "" Then Exit Sub
If InStr(1, vMail, "@") = 0 Then
MsgBox "Mail incorrecto. Reintrodúzcalo, por favor", vbExclamation, "AVISO"
Exit Sub
End If
If InStr(1, vMail, ".com") = 0 Then
If InStr(1, vMail, ".es") = 0 Then
correcto = False
End If
End If
If correcto = False Then
MsgBox "Mail incorrecto. Reintrodúzcalo, por favor", vbExclamation, "AVISO"
Exit Sub
End If
End Sub

En esto de access soy un poco nuevo y un poco manazas jejej

Muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas