Necesito ayuda urgentemente para validar un rfc y tel.
Hola
Alguien me puede ayudar para validar un rfc en una caja de texto, es decir que solo deje escribir 4letras 6 numero. y sino es asi que mande un mensaje de error...
Alguien me puede ayudar para validar un rfc en una caja de texto, es decir que solo deje escribir 4letras 6 numero. y sino es asi que mande un mensaje de error...
Podrias usar algo como esto, con el evento Validate de la caja de texto donde recibes el RFC, o bien en alguna otra parte donde quieras validarlo antes de grabarlo en tus archivos...
Por supuesto, el codigo puede mejorarse....
Private Sub textRFC_Validate(Cancel As Boolean)
Dim nPos As Integer
' Primero convertir a Mayusculas el RFC y verificar
' que tienes 10 posiciones en el mismo...
Me.textRFC = UCase(Me.textRFC)
If Not Len(Me.textRFC) = 10 Then
MsgBox "Error: RFC debe tener 10 posiciones ..."
Cancel = True
Exit Sub
End If
' Validar las primeras 4 posiciones que deben ser Letras Siempre...
For nPos = 1 To 4
If Mid(Me.textRFC, nPos, 1) < "A" Or _
Mid(Me.textRFC, nPos, 1) > "Z" Then
MsgBox "Error en RFC en su parte alfabetica (posiciones 1-4)"
Cancel = True
Exit Sub
End If
Next
' Por ultimo validar las posiciones 5-10 (ultimas 6 posiciones) que deben ser siempre numeros...
For nPos = 5 To 10
If Mid(Me.textRFC, nPos, 1) < "0" Or _
Mid(Me.textRFC, nPos, 1) > "9" Then
MsgBox "Error en RFC en su parte numerica (posiciones 5-10)"
Cancel = True
Exit Sub
End If
Next
End Sub
Por supuesto, el codigo puede mejorarse....
Private Sub textRFC_Validate(Cancel As Boolean)
Dim nPos As Integer
' Primero convertir a Mayusculas el RFC y verificar
' que tienes 10 posiciones en el mismo...
Me.textRFC = UCase(Me.textRFC)
If Not Len(Me.textRFC) = 10 Then
MsgBox "Error: RFC debe tener 10 posiciones ..."
Cancel = True
Exit Sub
End If
' Validar las primeras 4 posiciones que deben ser Letras Siempre...
For nPos = 1 To 4
If Mid(Me.textRFC, nPos, 1) < "A" Or _
Mid(Me.textRFC, nPos, 1) > "Z" Then
MsgBox "Error en RFC en su parte alfabetica (posiciones 1-4)"
Cancel = True
Exit Sub
End If
Next
' Por ultimo validar las posiciones 5-10 (ultimas 6 posiciones) que deben ser siempre numeros...
For nPos = 5 To 10
If Mid(Me.textRFC, nPos, 1) < "0" Or _
Mid(Me.textRFC, nPos, 1) > "9" Then
MsgBox "Error en RFC en su parte numerica (posiciones 5-10)"
Cancel = True
Exit Sub
End If
Next
End Sub
