Visual Basic - Validar codigo postal que tiene letras

Life is soft - evento anual de software empresarial
 
Vista:

Validar codigo postal que tiene letras

Publicado por Nicolas Real (20 intervenciones) el 13/02/2009 22:32:00
Hola todos,

En una caja de texto (txt_cp) el usuario debe ingresar el codigo postal,
lo que necesito es validar que este bien escrito
El formato a validar debe ser C5001BMP
Osea que el primer caracter sea string, los cuatro siguientes numerico y los ultimos tres string

Espero me puedan ayudar

Un abrazo...Nico
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

solucion

Publicado por ED (70 intervenciones) el 14/02/2009 20:33:35
******************* Agradecer no cuesta nada *********************************

Te dejo la funcion lista para utilizar, solo copiar y pegar, y listo.

Llamada:
ValidarCodigoPostal txt_cp
Funcion

Private Function ValidarCodigoPostal(CodPost As String) ' CNNNNCCC = C5001BMP
Dim i As Integer, Letra As String, xError As String
If CodPost = "" Then xError = "Codigo Postal NO ingresado"
For i = 1 To Len(CodPost)
Letra = Asc(UCase(Mid(CodPost, i, 1)))
If i = 1 Or i > 5 Then
If Letra < 65 Or Letra > 90 Then xError = xError & "Posición: " & i & " Caracter: " & Mid(CodPost, i, 1) & " *No es una letra*" & Chr(10)
ElseIf i >= 2 And i <= 5 Then
If InStr("0123456789", Mid(CodPost, i, 1)) = 0 Then xError = xError & "Posición: " & i & " Caracter: " & Mid(CodPost, i, 1) & " *No es un numero*" & Chr(10)
End If
Next i
If xError <> "" Then MsgBox xError, vbCritical, "Error" Else MsgBox "Codigo Postal Válido"
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:solucion

Publicado por P3L30N2009 (699 intervenciones) el 14/02/2009 21:16:07
Estoy de acuerdo en QUE AGRADECER NO CUESTA NADA, pero parece que a algunos si les cuesta.

Mira, sin ser Visual Basic "Avanzado" aquí tienes una respuesta que sí funciona (perdona pero tu código no lo prové por falta de tiempo) y además creo que es algo mas corto y sin florituras.

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=93&texto=Visual+Basic&n1=524635&n2=2&n3=1&n4=1&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

Y como dije en ese post, las funciones deben (deberían) devolver un valor y si no lo quieres así utiliza un Sub.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hazte tiempo

Publicado por ED (70 intervenciones) el 16/02/2009 02:39:34
Deberias probarlo ya que mi funcion no permite errores mientras que la respuesta tuya si lo hace.

tu respuesta es EFICIENTE
pero la mia es EFICAZ.

Saludos.

PD: antes de criticar deberias probar las soluciones expuestas y chequear las tuyas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar