================================================================================ GUIA COMPLETA - SISTEMA DE PÓLIZAS CON EXCEL Y BASE DE DATOS MYSQL ================================================================================ ULTIMA ACTUALIZACIÓN: Hoy ESTADO: FUNCIONAL - VERSIÓN FINAL ================================================================================ PARTE 1: RESUMEN DEL SISTEMA ================================================================================ El sistema se compone de: 1. EXCEL - Interfaz de usuario con VBA macros para: - Guardar pólizas en la base de datos - Buscar pólizas en la base de datos 2. BASE DE DATOS MySQL: - Servidor: localhost - Base de datos: plcadlyd_Polizas - Usuario: plcadlyd_pmaulen - Contraseña: seguros1234 - Tabla: polizas 3. SCRIPTS PHP en el servidor: - guardar_poliza.php: recibe datos de Excel y los guarda - buscar_poliza.php: busca pólizas según criterios ================================================================================ PARTE 2: CAMPOS DE LA BASE DE DATOS ================================================================================ La tabla 'polizas' contiene estos campos: 1. id - Identificador único (auto-incremento) 2. nombreCliente - Nombre del asegurado 3. rutCliente - RUT del asegurado 4. telefono - Teléfono del asegurado 5. correo - Email del asegurado 6. nPoliza - Número de póliza (ÚNICO, no puede repetirse) 7. compania - Compañía aseguradora 8. montoAsegurado - Monto asegurado (número decimal) 9. deducible - Deducible (número decimal) 10. patente - Patente del vehículo fecha_registro - Fecha de registro automática ================================================================================ PARTE 3: MACRO 1 - GUARDAR PÓLIZA (INGRESO DE DATOS) ================================================================================ Esta macro se debe colocar en Excel (Alt + F11 -> Insertar -> Módulo) NOMBRE DEL MÓDULO: guardar_poliza Sub GuardarPoliza() ' Leer datos de las celdas del formulario ' B2: Nombre ' B3: RUT ' B4: Telefono ' B5: Correo ' B6: Numero Poliza ' B7: Compania ' B8: Monto Asegurado ' B9: Deducible ' B10: Patente Dim nombre As String, rut As String, telefono As String Dim correo As String, nPoliza As String, compania As String Dim monto As String, deducible As String, patente As String Dim params As String, url As String Dim http As Object Dim response As String ' Validar que campos obligatorios no esten vacios nombre = ActiveSheet.Range("B2").Value rut = ActiveSheet.Range("B3").Value telefono = ActiveSheet.Range("B4").Value correo = ActiveSheet.Range("B5").Value nPoliza = ActiveSheet.Range("B6").Value compania = ActiveSheet.Range("B7").Value monto = ActiveSheet.Range("B8").Value deducible = ActiveSheet.Range("B9").Value patente = ActiveSheet.Range("B10").Value If nombre = "" Or rut = "" Or nPoliza = "" Then MsgBox "Por favor completa: Nombre, RUT y Numero de Poliza", vbCritical Exit Sub End If ' Crear solicitud HTTP Set http = CreateObject("MSXML2.XMLHTTP.6.0") url = "https://www.segurosrss.cl/guardar_poliza.php" ' Construir parametros params = "nombreCliente=" & nombre & _ "&rutCliente=" & rut & _ "&telefono=" & telefono & _ "&correo=" & correo & _ "&nPoliza=" & nPoliza & _ "&compania=" & compania & _ "&montoAsegurado=" & monto & _ "&deducible=" & deducible & _ "&patente=" & patente ' Enviar solicitud On Error GoTo Error_Handler With http .Open "POST", url, False .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" .Send params response = .ResponseText End With ' Verificar resultado If InStr(response, "success") > 0 And InStr(response, "true") > 0 Then MsgBox "Poliza guardada correctamente!", vbInformation ' Limpiar formulario ActiveSheet.Range("B2:B10").ClearContents Else MsgBox "Error al guardar: " & response, vbCritical End If Exit Sub Error_Handler: MsgBox "Error: " & Err.Description, vbCritical End Sub ================================================================================ PARTE 4: MACRO 2 - BUSCAR POLIZA ================================================================================ Sub BuscarPoliza() ' MACRO PARA BUSCAR POLIZAS ' Solicita: tipo de busqueda y valor a buscar ' Tipos: numero_poliza, nombre, rut, compania Dim tipoBusqueda As String Dim criterio As String Dim url As String Dim http As Object Dim response As String Dim resultado As String ' Solicitar tipo de busqueda tipoBusqueda = InputBox("Ingresa el tipo de busqueda:" & vbCrLf & vbCrLf & _ "numero_poliza" & vbCrLf & _ "nombre" & vbCrLf & _ "rut" & vbCrLf & _ "compania", "Busqueda de Polizas") If tipoBusqueda = "" Then Exit Sub ' Solicitar criterio de busqueda criterio = InputBox("Ingresa el valor a buscar:", "Busqueda de Polizas") If criterio = "" Then Exit Sub ' Crear solicitud HTTP Set http = CreateObject("MSXML2.XMLHTTP.6.0") url = "https://www.segurosrss.cl/buscar_poliza.php?q=" & criterio & "&tipo=" & tipoBusqueda ' Enviar solicitud GET On Error GoTo Error_Handler With http .Open "GET", url, False .Send response = .ResponseText End With ' Verificar resultado If InStr(response, "success") > 0 And InStr(response, "true") > 0 Then resultado = "Busqueda realizada correctamente!" & vbCrLf & vbCrLf & response MsgBox resultado, vbInformation Else MsgBox "Error en la busqueda: " & response, vbCritical End If Exit Sub Error_Handler: MsgBox "Error: " & Err.Description, vbCritical End Sub ================================================================================ PARTE 5: INSTRUCCIONES DE IMPLEMENTACION ================================================================================ PASO 1: PREPARAR EL ARCHIVO EXCEL ---------------------------------- 1. Crea un nuevo archivo Excel 2. En la primera hoja, crea esta estructura: FILA 1 (Encabezados): A1: "Nombre" B1: (celda para nombre) 3. Etiquetas y celdas de datos: A2: Nombre B2: [campo de entrada] A3: RUT B3: [campo de entrada] A4: Telefono B4: [campo de entrada] A5: Correo B5: [campo de entrada] A6: Numero de Poliza B6: [campo de entrada] A7: Compania B7: [campo de entrada] A8: Monto Asegurado B8: [campo de entrada] A9: Deducible B9: [campo de entrada] A10: Patente B10: [campo de entrada] PASO 2: INSERTAR LAS MACROS EN EXCEL -------------------------------------- 1. Abre Excel 2. Presiona ALT + F11 (abre el editor de VBA) 3. En el panel izquierdo, haz clic derecho en "VBAProject" 4. Selecciona "Insertar" -> "Modulo" 5. Copia el codigo de "Sub GuardarPoliza()" completo 6. Pega en el nuevo modulo 7. Crea otro modulo diferente 8. Copia el codigo de "Sub BuscarPoliza()" completo 9. Pega en el segundo modulo 10. Guarda el archivo (Ctrl+S) PASO 3: CREAR BOTONES EN EXCEL ------------------------------- 1. Ve a la hoja del formulario 2. En la pestana "Insertar", elige "Formas" o "Botones" 3. Dibuja un boton, escribe "Guardar Poliza" 4. Haz clic derecho en el boton 5. Selecciona "Asignar macro..." 6. Elige "GuardarPoliza" 7. Repite para otro boton "Buscar Poliza" con la macro "BuscarPoliza" PASO 4: PRUEBA DEL SISTEMA --------------------------- PRUEBA 1 - GUARDAR POLIZA: 1. Completa todos los campos del formulario 2. Haz clic en "Guardar Poliza" 3. Deberia aparecer un mensaje "Poliza guardada correctamente!" 4. Los campos se limpian automaticamente PRUEBA 2 - BUSCAR POLIZA: 1. Haz clic en "Buscar Poliza" 2. Selecciona el tipo de busqueda (por defecto: numero_poliza) 3. Ingresa el valor a buscar 4. Deberia aparecer un mensaje "Busqueda realizada correctamente!" ================================================================================ PARTE 6: CRITERIOS DE BUSQUEDA DISPONIBLES ================================================================================ Los siguientes criterios son validos para buscar polizas: 1. numero_poliza - Buscar por numero de poliza 2. nombre - Buscar por nombre del cliente 3. rut - Buscar por RUT del cliente 4. compania - Buscar por compania aseguradora ================================================================================ PARTE 7: TROUBLESHOOTING ================================================================================ PROBLEMA: "No se puede guardar la poliza" SOLUCION: - Verifica que todos los campos obligatorios esten completos - Verifica que el numero de poliza NO este duplicado - Verifica la conexion a internet - Revisa el error_log en el servidor PROBLEMA: "La busqueda no encuentra resultados" SOLUCION: - Verifica que hayas guardado polizas primero - Intenta con valores diferentes - Asegurate de usar el tipo de busqueda correcto PROBLEMA: "Error de conexion" SOLUCION: - Verifica que https://www.segurosrss.cl este accesible - Verifica la conexion a internet - Comprueba que los scripts PHP esten correctamente instalados ================================================================================ FIN DEL DOCUMENTO ================================================================================ Fecha de actualizacion: 2025 Version: FINAL FUNCIONAL ================================================================================