Crear Funtion Ayuda

Dudas sobre código
Avatar de Usuario
bryger
Nivel 5
Mensajes: 196
Registrado: Mié Jul 06, 2016 12:24 pm

Crear Funtion Ayuda

Mensajepor bryger » Mar Abr 13, 2021 1:12 am

Hola amigos, requiero de su ayuda para covertir una un codigo que esta en un formulario en una funcion
esto es lo que esta en el formulario

Código: Seleccionar todo

Option Compare Database

Sub ConsultaIndividual(dni$)
   
    'Declaracion de variables
    Dim Respuesta$, web$, enviado$, Solicitud As Object
    Set Solicitud = CreateObject("winhttp.winhttprequest.5.1")
   
    'Se almacena en la variable web la adireccion web a realizar la consulta
    web = "http://cpe.facturaperuana.com/cliente/string_consulting/" & dni
    enviado = ""
   
    'Se realiza la peticion GET para la consulta de la información
    Solicitud.Open "GET", web, False
    Solicitud.setrequestheader "Content-type", "pplication/x-www-form-urlecoded"
    Solicitud.send (enviado)
   
    'Se almacena la respuesta en la variable "Respuesta"
    Respuesta = Solicitud.responsetext
   
    'se obtiene el valor de respuesta por cada dato segun la consulta realizada, con la funcion limpiarRespuesta()
    apepat = limpiarRespuesta(Respuesta, "apepat", "apemat")
    apemat = limpiarRespuesta(Respuesta, "apemat", "nombres")
    nombres = limpiarRespuesta(Respuesta, "nombres", "direccion")
    direccion = limpiarRespuesta(Respuesta, "direccion", "]")
   
    'Se asigna los valores a las cajas de texto para que se muestre en el formulario
   
    Me.nombres_apellidos = nombres & " " & apepat & " " & apemat
    Texto68 = apepat
    Texto70 = apemat
    Texto72 = nombres
    Texto74 = direccion
   
End Sub

Function limpiarRespuesta(Resp As String, pi As String, pf As String) As String

    'Declaración de variables
    Dim devu$, posi%, posf%
   
    'Proceso para extraer los datos necesarios para ser mostrados en el formulario
    posi = InStr(Resp, pi) + Len(pi) + 1
    posf = InStr(Resp, pf) - 1
    devu = Mid(Resp, posi, posf - posi)
    devu = Replace(devu, ":", "")
    devu = Replace(devu, ",", "")
    devu = Replace(devu, Chr(34), "")
    devu = Replace(devu, Chr(10), "")
    devu = Replace(devu, Chr(13), "")
    devu = Replace(devu, Chr(92), "")
   
    'Se envia la respuesta despues del proceso realizado
    devu = RTrim(devu)
    limpiarRespuesta = devu
   
End Function

Private Sub Comando58_Click()
    'Linpias los campos de texto del formulario
    Texto66 = ""
    Texto68 = ""
    Texto70 = ""
    Texto72 = ""
    Texto74 = ""
End Sub

Private Sub Comando59_Click()

'Verifica que el campo de texto no este vacio y no tenga mas digitos de los permitidos
If Texto66 = Empty Or Len(Texto66) <> 8 Or IsNull(Texto66) Then
    MsgBox "Error al ingresar el DNI", vbInformation, "Aplicación"
    Exit Sub
End If

'Se llama el procedimiento ConsultaIndividual()
ConsultaIndividual (Texto66)

End Sub



esta es la que necesito llamar desde el formulario por un boton comando pero no se como hacerlo algun consejo
Última edición por bryger el Jue Abr 15, 2021 1:55 am, editado 1 vez en total.

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1093
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Crear Funtion Ayuda

Mensajepor Neckkito » Mar Abr 13, 2021 8:10 am

Hola!

Simplemente respondiendo a tu consulta, y suponiendo que hay un campo llamado [DNI], la llamada a tu función sería:

Call ConsultaIndividual(me.DNI)

Saludos.
Access MVP 2017-2021
http://bit.ly/NckAccess

Avatar de Usuario
bryger
Nivel 5
Mensajes: 196
Registrado: Mié Jul 06, 2016 12:24 pm

Re: Crear Funtion Ayuda

Mensajepor bryger » Mar Abr 13, 2021 7:12 pm

Si gracias hay tres campos dni, nombres,direccion
lo que en si quiero es covertir la sub ConsultaIndividual en una publica en un modulo y solo poder llamarla desde cualquier formulario, pero me imagino que debo crear el modulo con esta funcion e indicarle que sera campotxt de respuesta y campo txt de busqueda el campo dni es donde se introduce los datos y la respuesta la dara en los campos nombres y direccion hay el problema :cry: Gracias por tu respuesta

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1093
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Crear Funtion Ayuda

Mensajepor Neckkito » Mié Abr 14, 2021 5:37 pm

https://www.mediafire.com/file/t7motbbljb39ryp/mdlConsultaDNI.bas/file

No entro en lo que hace el código. Solo te lo he modificado para que pueda ser puesto en un módulo estándar y llamado desde cualquier formulario.

Como no puedo probarlo no sé si te dará errores. Si son errores de código relativo solo a la conexión y a la obtención de respuesta de la página web ahí no podré ayudarte.

Mira bien todos los comentarios del código.

Saludos.
Access MVP 2017-2021
http://bit.ly/NckAccess

Avatar de Usuario
bryger
Nivel 5
Mensajes: 196
Registrado: Mié Jul 06, 2016 12:24 pm

Re: Crear Funtion Ayuda

Mensajepor bryger » Jue Abr 15, 2021 1:29 am

GRACIASSSSSS :D


Volver a “Código VBA”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados