Formulario impresión factura

Tengo un formulario que valida un RUT (es un numero). Este numero lo debe buscar en una hoja, llamada "base de datos" si encuentra este número, debería enviar un mensaje que el cliente existe y dejar pasar al siguiente formulario, en caso contrario debería indicar que el RUT no existe, que debe volver a digitarlo
Te puedo enviar el archivo a tu correo
mi correo es [email protected]
Gracias
Carolina

1 respuesta

Respuesta
1
Ya que te he enviado la solución a tu correo es bueno que quede registrado en este sitio, para futuras consultas.
La validación de RUT se puede realizar en diferentes lenguajes y también sirve para validar cualquier ID con un formato establecido (Ya que en cada país el formato es distinto)
La solución que se requiere es para una planilla EXCEL.
Para ello debes seguir los siguientes pasos:
Nuevo Libro Excel
Abres el editor de Macros (o también llamado Visual Basic). ¿Herramientas? ¿Macros? Editor de Macros o en su atajo Alt+F11
¿Una vez abierto el editor vas a Insertar? Módulo.
Copias el siguiente código:
Public Function dvrut(Rut)
' lo unico que no acepta son letras
Rut = Replace("0000" & Rut, ".", "", 1)
If InStr(1, Rut, "-") > 0 Then Rut = Left(Rut, InStr(1, Rut, "-") - 1)
Rut = Right(Rut, 8)
Suma = 0
For i = 1 To 8
Suma= suma + Val(Mid(Rut, I, 1)) * Val(Mid("32765432", I, 1))
Next I
Dv= 11 - (suma Mod 11)
If dv = 10 Then dv = "k"
If dv = 11 Then dv = 0
Dvrut= dv
End Function
También puedes probar con el siguiente código:
Function dv(a)
j = 2
For i = 0 To Len(a) - 1
Aux = aux + Val(Mid$(a, Len(a) - I, 1)) * j
If j > 6 Then
j = 2
Else
j = j + 1
End If
Next I
Aux1 = 11 - (aux Mod 11)
If aux1 < 10 Then
Dv= aux1
Else
Dv= "K"
End If
End Function
Vuelves al Libro Excel
Asumiendo que el número (lo que va antes del Dígito Verificador) está en la celda A1 te posicionas en la celda A2 y escribes =dvrut(A1), la cual te devolverá el DV
Otra forma de usar la función es comparándola con un resultado dado, por ejemplo posicionemos en la celda C1 y tipeamos: =SI(dvrut(A1)=B1;"valido";"invalido")
En el caso de programar en PHP el codigo es el siguiente:
<?php
function dv($r){$s=1;for($m=0;$r!=0;$r/=10)$s=($s+$r%10*(9-$m++%6))%11;
return chr($s?$s+47:75);}
?>
En el caso de ASP es:
Function codigo_veri(rut)
tur=strreverse(rut)
mult = 2
for i = 1 to len(tur)
if mult > 7 then mult = 2 end if
suma = mult * mid(tur,i,1) + suma
mult = mult +1
next
valor = 11 - (suma mod 11)
if valor = 11 then
codigo_veri = "0"
elseif valor = 10 then
codigo_veri = "k"
else
codigo_veri = valor
end if
end function
y en el caso de VISUAL BASIC es el siguiente:
Public Function RutDigito(ByVal Rut As Long) As String
Dim Digito As Integer
Dim Contador As Integer
Dim Multiplo As Integer
Dim Acumulador As Integer
Contador = 2
Acumulador = 0
While Rut <> 0
Multiplo = (Rut Mod 10) * Contador
Acumulador = Acumulador + Multiplo
Rut = Rut \ 10
Contador = Contador + 1
If Contador = 8 Then
Contador = 2
End If
Wend
Digito = 11 - (Acumulador Mod 11)
RutDigito = CStr(Digito)
If Digito = 10 Then RutDigito = "K"
If Digito = 11 Then RutDigito = "0"
End Function
PD: No olvides calificar mi respuesta y cerrar tu pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas