VERSION 5.00
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.2#0"; "MSCOMCTL.OCX"
Begin VB.Form Form_deuda_anual 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Deuda anual"
   ClientHeight    =   5160
   ClientLeft      =   45
   ClientTop       =   435
   ClientWidth     =   6840
   Icon            =   "Form_deuda_anual.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   5160
   ScaleWidth      =   6840
   Begin VB.Frame frame_rango 
      Caption         =   "Rango de meses"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   1935
      Left            =   3720
      TabIndex        =   12
      Top             =   1440
      Width           =   2895
      Begin VB.ComboBox cb_hasta 
         Height          =   315
         Left            =   1440
         TabIndex        =   18
         Top             =   1320
         Width           =   1335
      End
      Begin VB.ComboBox cb_desde 
         Height          =   315
         Left            =   1440
         TabIndex        =   17
         Top             =   840
         Width           =   1335
      End
      Begin VB.ComboBox cb_agno_rango 
         Height          =   315
         Left            =   1440
         TabIndex        =   16
         Top             =   360
         Width           =   1335
      End
      Begin VB.Label Label5 
         Caption         =   "Hasta"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   15
         Top             =   1320
         Width           =   615
      End
      Begin VB.Label Label4 
         Caption         =   "Desde"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   14
         Top             =   840
         Width           =   615
      End
      Begin VB.Label Label3 
         Caption         =   "Año"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   13
         Top             =   360
         Width           =   735
      End
   End
   Begin VB.Frame frame_acumulado 
      Caption         =   "Acumulado al"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   975
      Left            =   3720
      TabIndex        =   9
      Top             =   1440
      Width           =   2895
      Begin MSComCtl2.DTPicker dtp_fecha 
         Height          =   375
         Left            =   1440
         TabIndex        =   10
         Top             =   360
         Width           =   1335
         _ExtentX        =   2355
         _ExtentY        =   661
         _Version        =   393216
         Format          =   52625409
         CurrentDate     =   45428
      End
      Begin VB.Label Label2 
         Caption         =   "Fecha corte"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   11
         Top             =   480
         Width           =   1215
      End
   End
   Begin VB.Frame Frame2 
      Caption         =   "Seleccione anualidad"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   975
      Left            =   1920
      TabIndex        =   6
      Top             =   120
      Width           =   2895
      Begin VB.ComboBox cb_agno 
         Height          =   315
         Left            =   1440
         TabIndex        =   7
         Top             =   360
         Width           =   1335
      End
      Begin VB.Label Label1 
         Caption         =   "Anualidad"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   8
         Top             =   360
         Width           =   1215
      End
   End
   Begin VB.Frame Frame1 
      Caption         =   "Seleccione una opción"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   1215
      Left            =   240
      TabIndex        =   3
      Top             =   1440
      Width           =   2895
      Begin VB.OptionButton opt_rango 
         Caption         =   "Rango de meses"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   5
         Top             =   720
         Width           =   1815
      End
      Begin VB.OptionButton opt_acumulado 
         Caption         =   "Acumulado"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   4
         Top             =   360
         Width           =   1935
      End
   End
   Begin MSComctlLib.ProgressBar pgbar2 
      Height          =   255
      Left            =   240
      TabIndex        =   2
      Top             =   4680
      Width           =   6375
      _ExtentX        =   11245
      _ExtentY        =   450
      _Version        =   393216
      Appearance      =   1
   End
   Begin MSComctlLib.ProgressBar pgbar 
      Height          =   255
      Left            =   240
      TabIndex        =   1
      Top             =   4320
      Width           =   6375
      _ExtentX        =   11245
      _ExtentY        =   450
      _Version        =   393216
      Appearance      =   1
   End
   Begin VB.CommandButton cmd_generar 
      Caption         =   "Generar"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   2760
      TabIndex        =   0
      Top             =   3720
      Width           =   1455
   End
End
Attribute VB_Name = "Form_deuda_anual"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub cmd_generar_Click()
    Dim objRS As ADODB.Recordset
    Set objRS = New ADODB.Recordset
    Dim rec As ADODB.Recordset
    Set rec = New ADODB.Recordset
    Dim var_sql As String
    Dim folios_inco As String
    Dim fechas_inco As String
    Dim tipo_pago_inco As String
    Dim montos_inco As String
    Dim folios_matri As String
    Dim fechas_matri As String
    Dim tipo_pago_matri As String
    Dim montos_matri As String
    Dim folios_esco As String
    Dim fechas_esco As String
    Dim tipo_pago_esco As String
    Dim montos_esco As String
    Dim mes_desde As String
    Dim mes_hasta As String
    Dim dd_desde As String
    Dim dd_hasta As String
    Dim fecha_desde As Date
    Dim fecha_hasta As Date
    
    ' Validación de matriculas
    var_sql = "SELECT * FROM matriculas WHERE anno_mat = " & cb_agno.Text & " AND fec_mat_r IS NOT NULL"
    objRS.Open var_sql, conn
    If objRS.RecordCount < 1 Then
        MsgBox "Sin Información", vbInformation
        objRS.Close
        Exit Sub
    End If
    objRS.Close
    
    If opt_rango.Value = True Then
        ' Formatea fecha por rango
        Select Case cb_desde.Text
            Case "ENERO"
                mes_desde = "01"
            Case "FEBRERO"
                mes_desde = "02"
            Case "MARZO"
                mes_desde = "03"
            Case "ABRIL"
                mes_desde = "04"
            Case "MAYO"
                mes_desde = "05"
            Case "JUNIO"
                mes_desde = "06"
            Case "JULIO"
                mes_desde = "07"
            Case "AGOSTO"
                mes_desde = "08"
            Case "SEPTIEMBRE"
                mes_desde = "09"
            Case "OCTUBRE"
                mes_desde = "10"
            Case "NOVIEMBRE"
                mes_desde = "11"
            Case "DICIEMBRE"
                mes_desde = "12"
        End Select
    
        Select Case cb_hasta.Text
            Case "ENERO"
                mes_hasta = "01"
            Case "FEBRERO"
                mes_hasta = "02"
            Case "MARZO"
                mes_hasta = "03"
            Case "ABRIL"
                mes_hasta = "04"
            Case "MAYO"
                mes_hasta = "05"
            Case "JUNIO"
                mes_hasta = "06"
            Case "JULIO"
                mes_hasta = "07"
            Case "AGOSTO"
                mes_hasta = "08"
            Case "SEPTIEMBRE"
                mes_hasta = "09"
            Case "OCTUBRE"
                mes_hasta = "10"
            Case "NOVIEMBRE"
                mes_hasta = "11"
            Case "DICIEMBRE"
                mes_hasta = "12"
        End Select
    
        dd_desde = "01"
        
        If (mes_hasta = "01" Or mes_hasta = "03" Or mes_hasta = "05" Or mes_hasta = "07" Or mes_hasta = "08" Or mes_hasta = 10 Or mes_hasta = 12) Then
            dd_hasta = 31
        Else
            If mes_hasta = "02" Then
                dd_hasta = 28
            Else
                dd_hasta = 30
            End If
        End If
       
        ' fecha_desde = dd_desde & IIf(Len(cb_desde.Text) < 10, "0" & cb_desde.Text, cb_desde.Text) & cb_agno_rango.Text
        ' fecha_hasta = dd_hasta & IIf(Len(cb_hasta.Text) < 10, "0" & cb_hasta.Text, cb_hasta.Text) & cb_agno_rango.Text
        fecha_desde = dd_desde & "-" & mes_desde & "-" & cb_agno_rango.Text
        fecha_hasta = dd_hasta & "-" & mes_hasta & "-" & cb_agno_rango.Text
    
    End If
    
        
    Dim ApExcel As Variant
    Set ApExcel = CreateObject("Excel.application")
    ApExcel.Workbooks.Add
    ' Format(dtp_inicio.Value, "yyyy-mm-dd")
    
    var_sql = "UPDATE fnza_boletas SET fecha_pago = fecha_blta WHERE fecha_pago <> fecha_blta AND tipo_blta = 3 AND YEAR(fecha_blta) = " & cb_agno.Text
    conn.Execute var_sql
    
    var_sql = "UPDATE fnza_boletas b,fnza_dtll_mvto bd,fnza_movimientos_mensualidad d SET fech_pago = fecha_blta" _
            & " Where b.folio_blta = bd.folio_blta And bd.folio_mvto = d.folio_mvto And" _
            & " Year(fech_venc_cptos) = " & cb_agno.Text & " AND fecha_blta <> fech_pago;"
    conn.Execute var_sql
    
    var_sql = "UPDATE fnza_detalle_mensualidad d,fnza_movimientos_mensualidad m SET d.fech_pago = m.fech_pago" _
            & " WHERE agno = " & cb_agno.Text & " AND d.folio_dtll = m.folio_dtll AND d.fech_pago <> m.fech_pago;"
    conn.Execute var_sql
    
    var_sql = "delete from temp_boletas_informe"
    conn.Execute var_sql
    
    If opt_acumulado.Value = True Then
        var_sql = "SELECT run_alu,fecha_blta,tipo_pago,cod_concepto,monto_pago,folio_blta_fisico" _
                & " FROM fnza_boletas b,fnza_dtll_mvto d,fnza_movimientos_mensualidad m" _
                & " WHERE b.folio_blta = d.folio_blta AND d.folio_mvto = m.folio_mvto AND YEAR(fech_venc_cptos) = " & cb_agno.Text & " AND fecha_blta <= '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "'" _
                & " GROUP BY run_alu"
    Else
        var_sql = "SELECT run_alu,fecha_blta,tipo_pago,cod_concepto,monto_pago,folio_blta_fisico" _
                & " FROM fnza_boletas b,fnza_dtll_mvto d,fnza_movimientos_mensualidad m" _
                & " WHERE b.folio_blta = d.folio_blta AND d.folio_mvto = m.folio_mvto AND YEAR(fech_venc_cptos) = " & cb_agno.Text _
                & " AND fecha_blta >= '" & Format(fecha_desde, "yyyy-mm-dd") & "'" _
                & " AND fecha_blta <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "'" _
                & " GROUP BY run_alu"
                ' & " AND run_alu NOT IN (SELECT ci_alu FROM matriculas WHERE anno_mat = 2024 AND fec_mat_r >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' AND fec_mat_r <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "')"
                '  & " union all SELECT run_alu,fecha_blta,tipo_pago,cod_concepto,monto_pago,folio_blta_fisico" _
              '  & " FROM fnza_boletas b,fnza_dtll_mvto d,fnza_movimientos_mensualidad m" _
              '  & " WHERE b.folio_blta = d.folio_blta AND d.folio_mvto = m.folio_mvto AND YEAR(fech_venc_cptos) = " & cb_agno.Text _
              '  & " AND run_alu IN (SELECT ci_alu FROM matriculas WHERE anno_mat = 2024 AND fec_mat_r >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' AND fec_mat_r <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "')" _
              '  & " GROUP BY run_alu"
    End If
            
    objRS.Open var_sql, conn
    If objRS.RecordCount < 1 Then
        MsgBox "Sin Información", vbInformation
        objRS.Close
        Exit Sub
    End If
    
    pgbar.Min = 0
    pgbar.Max = objRS.RecordCount
    pgbar.Value = 0
    I = 0
    While Not objRS.EOF
        I = I + 1
        pgbar.Value = I
        If opt_acumulado.Value = True Then
            var_sql = "SELECT run_alu,fecha_blta,tipo_pago,cod_concepto,monto_pago,folio_blta_fisico" _
                & " FROM fnza_boletas b,fnza_dtll_mvto d,fnza_movimientos_mensualidad m" _
                & " WHERE b.folio_blta = d.folio_blta AND d.folio_mvto = m.folio_mvto AND YEAR(fech_venc_cptos) = " & cb_agno.Text _
                & " AND b.run_alu = '" & objRS("run_alu") & "' AND fecha_blta <= '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "'" _
                & " GROUP BY folio_blta_fisico,cod_concepto"
        Else
            var_sql = "SELECT run_alu,fecha_blta,tipo_pago,cod_concepto,monto_pago,folio_blta_fisico" _
                & " FROM fnza_boletas b,fnza_dtll_mvto d,fnza_movimientos_mensualidad m" _
                & " WHERE b.folio_blta = d.folio_blta AND d.folio_mvto = m.folio_mvto AND YEAR(fech_venc_cptos) = " & cb_agno.Text _
                & " AND b.run_alu = '" & objRS("run_alu") & "' AND fecha_blta >= '" & Format(fecha_desde, "yyyy-mm-dd") & "'" _
                & " AND fecha_blta <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "'" _
                & " GROUP BY folio_blta_fisico,cod_concepto"
'& " AND run_alu NOT IN (SELECT ci_alu FROM matriculas WHERE anno_mat = 2024 AND fec_mat_r >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' AND fec_mat_r <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "')" _
'                & " union all SELECT run_alu,fecha_blta,tipo_pago,cod_concepto,monto_pago,folio_blta_fisico" _
'                & " FROM fnza_boletas b,fnza_dtll_mvto d,fnza_movimientos_mensualidad m" _
'                & " WHERE b.folio_blta = d.folio_blta AND d.folio_mvto = m.folio_mvto AND YEAR(fech_venc_cptos) = " & cb_agno.Text _
'                & " AND b.run_alu = '" & objRS("run_alu") & "'" _
'                & " AND run_alu IN (SELECT ci_alu FROM matriculas WHERE anno_mat = 2024 AND fec_mat_r >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' AND fec_mat_r <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "')" _
'                & " GROUP BY folio_blta_fisico,cod_concepto"
        End If
            
            rec.Open var_sql, conn
            
            folios_inco = ""
            fechas_inco = ""
            tipo_pago_inco = ""
            montos_inco = ""
            folios_matri = ""
            fechas_matri = ""
            tipo_pago_matri = ""
            montos_matri = ""
            folios_esco = ""
            fechas_esco = ""
            tipo_pago_esco = ""
            montos_esco = ""
            
            While Not rec.EOF
                If rec("cod_concepto") = "inco" Then
                    folios_inco = folios_inco & "-" & rec("folio_blta_fisico")
                    fechas_inco = fechas_inco & "<>" & Format(rec("fecha_blta"), "yyyy-mm-dd")
                    tipo_pago_inco = tipo_pago_inco & "-" & rec("tipo_pago")
                    montos_inco = montos_inco & "-" & rec("monto_pago")
                End If
                
                If rec("cod_concepto") = "ct00" Then
                    folios_matri = folios_matri & "-" & rec("folio_blta_fisico")
                    fechas_matri = fechas_matri & "<>" & Format(rec("fecha_blta"), "yyyy-mm-dd")
                    tipo_pago_matri = tipo_pago_matri & "-" & rec("tipo_pago")
                    montos_matri = montos_matri & "-" & rec("monto_pago")
                End If
                
                If rec("cod_concepto") = "esco" Then
                    folios_esco = folios_esco & "-" & rec("folio_blta_fisico")
                    fechas_esco = fechas_esco & "<>" & Format(rec("fecha_blta"), "yyyy-mm-dd")
                    tipo_pago_esco = tipo_pago_esco & "-" & rec("tipo_pago")
                    montos_esco = montos_esco & "-" & rec("monto_pago")
                End If
                rec.MoveNext
            Wend
            rec.Close
            
            folios_inco = IIf(Len(folios_inco) > 1, Mid(folios_inco, 2), folios_inco)
            fechas_inco = IIf(Len(fechas_inco) > 1, Mid(fechas_inco, 3), fechas_inco)
            tipo_pago_inco = IIf(Len(tipo_pago_inco) > 1, Mid(tipo_pago_inco, 2), tipo_pago_inco)
            montos_inco = IIf(Len(montos_inco) > 1, Mid(montos_inco, 2), montos_inco)
            folios_matri = IIf(Len(folios_matri) > 1, Mid(folios_matri, 2), folios_matri)
            fechas_matri = IIf(Len(fechas_matri) > 1, Mid(fechas_matri, 3), fechas_matri)
            tipo_pago_matri = IIf(Len(tipo_pago_matri) > 1, Mid(tipo_pago_matri, 2), tipo_pago_matri)
            montos_matri = IIf(Len(montos_matri) > 1, Mid(montos_matri, 2), montos_matri)
            folios_esco = IIf(Len(folios_esco) > 1, Mid(folios_esco, 2), folios_esco)
            fechas_esco = IIf(Len(fechas_esco) > 1, Mid(fechas_esco, 3), fechas_esco)
            tipo_pago_esco = IIf(Len(tipo_pago_esco) > 1, Mid(tipo_pago_esco, 2), tipo_pago_esco)
            montos_esco = IIf(Len(montos_esco) > 1, Mid(montos_esco, 2), montos_esco)
            
            var_sql = "insert into `temp_boletas_informe` (`run_alu`, `fecha_inco`, `tipo_inco`, `folio_inco`, `monto_inco`," _
                    & "`fecha_matri`, `tipo_matri`, `folio_matri`, `monto_matri`," _
                    & "`fecha_esco`, `tipo_esco`, `folio_esco`, `monto_esco`)" _
                    & " values('" & objRS("run_alu") & "','" & fechas_inco & "','" & tipo_pago_inco & "','" & folios_inco & "','" & montos_inco & "'," _
                    & "'" & fechas_matri & "','" & tipo_pago_matri & "','" & folios_matri & "','" & montos_matri & "'," _
                    & "'" & fechas_esco & "','" & tipo_pago_esco & "','" & folios_esco & "','" & montos_esco & "');"
            conn.Execute var_sql
        objRS.MoveNext
    Wend
    objRS.Close
    
    colegio = DevuelveCampo("establecimientos", "", "rdb", "rdb <> ''", conn)
    var_sql = "drop table if exists temp_pagos;"
    conn.Execute var_sql
    
    valor = DevuelveCampo("fnza_valor_uf", "", "valor", "fecha IN (SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') AS fechas)", conn)
    
    
    
    If colegio <> "26476-8" Then
          
        If opt_acumulado.Value = True Then
            var_sql = "create table temp_pagos ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci SELECT fec_mat_r,a.rut_apo AS Rut_apo,CONCAT(noms_apo,' ',ape1_apo,' ',ape2_apo) AS Apoderado," _
                    & "m.ci_alu AS Rut_Alu,CONCAT(ape_pat_alu,' ',ape_mat_alu,' ',nom_alu) AS Alumno,f.agno AS Colegiatura," _
                    & "SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) AS Matricula,month(fec_mat_r) as mes_matricula," _
                    & "ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota,0)))) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0)) AS Mensualidades," _
                    & "(SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) + ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota,0)))) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0))) AS Total_a_pagar," _
                    & "'Marzo' AS Desde," _
                    & "IF(MAX(f.mes) = 3,'Marzo',IF(MAX(f.mes) = 4,'Abril',IF(MAX(f.mes) = 5,'Mayo',IF(MAX(f.mes) = 6,'Junio',IF(MAX(f.mes) = 7,'Julio',IF(MAX(f.mes) = 8,'Agosto',IF(MAX(f.mes) = 9,'Septiembre',IF(MAX(f.mes) = 10,'Octubre',IF(MAX(f.mes) = 11,'Noviembre',IF(MAX(f.mes) = 12,'Diciembre','Febrero'))))))))))  AS Hasta," _
                    & "SUM(IF(f.concepto = 'ct00',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) AS Pagado_matricula," _
                    & "SUM(IF(f.concepto = 'esco',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) AS Pagado_mensualidades," _
                    & "(SUM(IF(f.concepto = 'ct00',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) + SUM(IF(f.concepto = 'esco',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0))) AS Total_pagado," _
                    & "((SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) + ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota,0)))) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0))) - (SUM(IF(f.concepto = 'ct00',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) + SUM(IF(f.concepto = 'esco',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)))) AS Saldo_por_pagar" _
                    & " FROM matriculas m,fnza_detalle_mensualidad f,postulantes p,apo_x_alu axa,apoderados a,meses mm" _
                    & " Where m.ci_alu = f.run_alu And m.anno_mat = f.agno And m.ci_alu = p.ci_alu And m.ci_alu = axa.ci_alu And m.anno_mat = axa.agno And axa.rut_apo = a.rut_apo And f.mes = mm.num_mes" _
                    & " AND m.anno_mat = " & cb_agno.Text & " AND fec_mat_r IS NOT NULL AND fec_mat_r <= '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "' GROUP BY f.run_alu"
            'conn.Execute var_sql
        Else
            var_sql = "create table temp_pagos ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci SELECT fec_mat_r,a.rut_apo AS Rut_apo,CONCAT(noms_apo,' ',ape1_apo,' ',ape2_apo) AS Apoderado," _
                    & "m.ci_alu AS Rut_Alu,CONCAT(ape_pat_alu,' ',ape_mat_alu,' ',nom_alu) AS Alumno,f.agno AS Colegiatura," _
                    & "SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) AS Matricula,month(fec_mat_r) as mes_matricula," _
                    & "ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota,0)))) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0)) AS Mensualidades," _
                    & "(SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) + ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota,0)))) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0))) AS Total_a_pagar," _
                    & "'Marzo' AS Desde," _
                    & "IF(MAX(f.mes) = 3,'Marzo',IF(MAX(f.mes) = 4,'Abril',IF(MAX(f.mes) = 5,'Mayo',IF(MAX(f.mes) = 6,'Junio',IF(MAX(f.mes) = 7,'Julio',IF(MAX(f.mes) = 8,'Agosto',IF(MAX(f.mes) = 9,'Septiembre',IF(MAX(f.mes) = 10,'Octubre',IF(MAX(f.mes) = 11,'Noviembre',IF(MAX(f.mes) = 12,'Diciembre','Febrero'))))))))))  AS Hasta," _
                    & "SUM(IF(f.concepto = 'ct00',IF(fech_pago >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) AS Pagado_matricula," _
                    & "SUM(IF(f.concepto = 'esco',IF(fech_pago >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) AS Pagado_mensualidades," _
                    & "(SUM(IF(f.concepto = 'ct00',IF(fech_pago >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) + SUM(IF(f.concepto = 'esco',IF(fech_pago >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0))) AS Total_pagado," _
                    & "((SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) + ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota,0)))) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0))) - (SUM(IF(f.concepto = 'ct00',IF(fech_pago >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) + SUM(IF(f.concepto = 'esco',IF(fech_pago >= '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)))) AS Saldo_por_pagar" _
                    & " FROM matriculas m,fnza_detalle_mensualidad f,postulantes p,apo_x_alu axa,apoderados a,meses mm" _
                    & " Where m.ci_alu = f.run_alu And m.anno_mat = f.agno And m.ci_alu = p.ci_alu And m.ci_alu = axa.ci_alu And m.anno_mat = axa.agno And axa.rut_apo = a.rut_apo And f.mes = mm.num_mes" _
                    & " AND m.anno_mat = " & cb_agno.Text & " AND fec_mat_r IS NOT NULL AND fec_mat_r <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "' GROUP BY f.run_alu"
           ' conn.Execute var_sql
        
        End If
        conn.Execute var_sql
        
        var_sql = "ALTER TABLE temp_pagos ADD INDEX (rut_alu);"
        conn.Execute var_sql
        
        If opt_acumulado.Value = True Then
            var_sql = "SELECT rut_apo,apoderado,rut_alu,alumno,colegiatura,matricula,mes_matricula,mensualidades,total_a_pagar,desde,hasta,fecha_matri,tipo_matri,folio_matri,pagado_matricula," _
                    & "fecha_esco , tipo_esco, folio_esco, pagado_mensualidades, total_pagado, saldo_por_pagar" _
                    & " FROM temp_pagos p LEFT JOIN temp_boletas_informe b ON p.rut_alu = b.run_alu"
        Else
            var_sql = "SELECT fec_mat_r,rut_apo,apoderado,rut_alu,alumno,colegiatura,matricula,mes_matricula,mensualidades,total_a_pagar,desde,hasta,fecha_matri,tipo_matri,folio_matri,pagado_matricula," _
                    & "fecha_esco , tipo_esco, folio_esco, pagado_mensualidades, total_pagado, saldo_por_pagar" _
                    & " FROM temp_pagos p LEFT JOIN temp_boletas_informe b ON p.rut_alu = b.run_alu WHERE NOT (folio_matri IS NULL AND folio_esco IS NULL)"
        End If
        objRS.Open var_sql, conn
        
        For j = 1 To 21
            ApExcel.Cells(1, j).Font.Size = 12
            ApExcel.Cells(1, j).Font.Bold = True
        Next j
    
        ApExcel.Cells(1, 1).Formula = "Rut Apo"
        ApExcel.Cells(1, 2).Formula = "Apoderado"
        ApExcel.Cells(1, 3).Formula = "Rut Alu"
        ApExcel.Cells(1, 4).Formula = "Alumno"
        ApExcel.Cells(1, 5).Formula = "Colegiatura"
        ApExcel.Cells(1, 6).Formula = "Mes matricula"
        ApExcel.Cells(1, 7).Formula = "Matricula"
        ApExcel.Cells(1, 8).Formula = "Mensualidades"
        ApExcel.Cells(1, 9).Formula = "Total a pagar"
        ApExcel.Cells(1, 10).Formula = "Desde"
        ApExcel.Cells(1, 11).Formula = "Hasta"
        ApExcel.Cells(1, 12).Formula = "Fecha matricula"
        ApExcel.Cells(1, 13).Formula = "Tp matricula"
        ApExcel.Cells(1, 14).Formula = "Folio matricula"
        ApExcel.Cells(1, 15).Formula = "Pagado matricula"
        ApExcel.Cells(1, 16).Formula = "Fechas mensualidades"
        ApExcel.Cells(1, 17).Formula = "Tp mensualidades"
        ApExcel.Cells(1, 18).Formula = "Folio mensualidades"
        ApExcel.Cells(1, 19).Formula = "Pagado mensualidades"
        ApExcel.Cells(1, 20).Formula = "Total pagado"
        ApExcel.Cells(1, 21).Formula = "Saldo por pagar"
        
        pgbar2.Min = 0
        pgbar2.Max = objRS.RecordCount + 1
        pgbar2.Value = pgbar.Min
        I = 1
        While Not objRS.EOF
            I = I + 1
            ApExcel.Cells(I, 1).Formula = objRS("rut_apo")
            ApExcel.Cells(I, 2).Formula = objRS("apoderado")
            ApExcel.Cells(I, 3).Formula = objRS("rut_alu")
            ApExcel.Cells(I, 4).Formula = objRS("alumno")
            ApExcel.Cells(I, 5).Formula = objRS("colegiatura")
            ApExcel.Cells(I, 6).Formula = objRS("mes_matricula")
            If opt_acumulado.Value = True Then
                ApExcel.Cells(I, 7).Formula = objRS("matricula")
                ApExcel.Cells(I, 8).Formula = objRS("mensualidades")
                ApExcel.Cells(I, 9).Formula = objRS("total_a_pagar")
            Else
                ApExcel.Cells(I, 7).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("matricula"))
                ApExcel.Cells(I, 8).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("mensualidades"))
                ApExcel.Cells(I, 9).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("total_a_pagar"))
            End If
            ApExcel.Cells(I, 10).Formula = objRS("desde")
            ApExcel.Cells(I, 11).Formula = objRS("hasta")
            ApExcel.Cells(I, 12).Formula = objRS("Fecha_matri")
            ApExcel.Cells(I, 13).Formula = objRS("tipo_matri")
            ApExcel.Cells(I, 14).Formula = objRS("folio_matri")
            ApExcel.Cells(I, 15).Formula = objRS("pagado_matricula")
            ApExcel.Cells(I, 16).Formula = objRS("fecha_esco")
            ApExcel.Cells(I, 17).Formula = objRS("tipo_esco")
            ApExcel.Cells(I, 18).Formula = objRS("folio_esco")
            ApExcel.Cells(I, 19).Formula = objRS("pagado_mensualidades")
            If opt_acumulado.Value = True Then
                ApExcel.Cells(I, 20).Formula = objRS("total_pagado")
                ApExcel.Cells(I, 21).Formula = objRS("saldo_por_pagar")
            Else
                ApExcel.Cells(I, 20).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("total_pagado"))
                ApExcel.Cells(I, 21).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("saldo_por_pagar"))
            End If
                       
'            ApExcel.Cells(I, 3).Formula = Format(objRS("fecha_blta"), "yyyy/mm/dd")
'            ApExcel.Cells(I, 4).NumberFormat = "#,##0"
            pgbar2.Value = I - 1
            objRS.MoveNext
        Wend
        
    Else
        If opt_acumulado.Value = True Then
            var_sql = "create table temp_pagos ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci SELECT a.rut_apo AS Rut_apo,CONCAT(noms_apo,' ',ape1_apo,' ',ape2_apo) AS Apoderado," _
                    & "m.ci_alu AS Rut_Alu,CONCAT(ape_pat_alu,' ',ape_mat_alu,' ',nom_alu) AS Alumno,f.agno AS Colegiatura,SUM(IF(f.concepto = 'inco',monto_tot_cuota,0)) AS Cuota_inco,SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) AS Matricula,month(fec_mat_r) as mes_matricula," _
                    & "ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota_UF,0)) * " & Replace(valor, ",", ".") & ")) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0)) AS Mensualidades," _
                    & "(SUM(IF(f.concepto = 'inco',monto_tot_cuota,0)) + SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) + ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota_UF,0)) * " & Replace(valor, ",", ".") & " )) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0))) AS Total_a_pagar," _
                    & "'Marzo' AS Desde,IF(MAX(f.mes) = 3,'Marzo',IF(MAX(f.mes) = 4,'Abril',IF(MAX(f.mes) = 5,'Mayo',IF(MAX(f.mes) = 6,'Junio',IF(MAX(f.mes) = 7,'Julio',IF(MAX(f.mes) = 8,'Agosto',IF(MAX(f.mes) = 9,'Septiembre',IF(MAX(f.mes) = 10,'Octubre',IF(MAX(f.mes) = 11,'Noviembre',IF(MAX(f.mes) = 12,'Diciembre','Febrero'))))))))))  AS Hasta," _
                    & "SUM(IF(f.concepto = 'inco',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) AS Pagado_cuota_inco," _
                    & "SUM(IF(f.concepto = 'ct00',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) AS Pagado_matricula," _
                    & "SUM(IF(f.concepto = 'esco',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) AS Pagado_mensualidades," _
                    & "(SUM(IF(f.concepto = 'inco',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) + SUM(IF(f.concepto = 'ct00',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) + SUM(IF(f.concepto = 'esco',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0))) AS Total_pagado," _
                    & "((SUM(IF(f.concepto = 'inco',monto_tot_cuota,0)) + SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) + ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota_UF,0)) * " & Replace(valor, ",", ".") & " )) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0))) - (SUM(IF(f.concepto = 'inco',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) + SUM(IF(f.concepto = 'ct00',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)) + SUM(IF(f.concepto = 'esco',IF(fech_pago > '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "',0,monto_abono),0)))) AS Saldo_por_pagar" _
                    & " FROM matriculas m,fnza_detalle_mensualidad f,postulantes p,apo_x_alu axa,apoderados a,meses mm" _
                    & " Where m.ci_alu = f.run_alu And m.anno_mat = f.agno And m.ci_alu = p.ci_alu And m.ci_alu = axa.ci_alu And m.anno_mat = axa.agno And axa.rut_apo = a.rut_apo And f.mes = mm.num_mes" _
                    & " AND m.anno_mat = " & cb_agno.Text & " AND fec_mat_r IS NOT NULL AND fec_mat_r <= '" & Format(dtp_fecha.Value, "yyyy-mm-dd") & "' GROUP BY f.run_alu"
            conn.Execute var_sql
        Else
            var_sql = "create table temp_pagos ENGINE=MYISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci SELECT fec_mat_r,a.rut_apo AS Rut_apo,CONCAT(noms_apo,' ',ape1_apo,' ',ape2_apo) AS Apoderado," _
                    & "m.ci_alu AS Rut_Alu,CONCAT(ape_pat_alu,' ',ape_mat_alu,' ',nom_alu) AS Alumno,f.agno AS Colegiatura,SUM(IF(f.concepto = 'inco',monto_tot_cuota,0)) AS Cuota_inco,SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) AS Matricula,month(fec_mat_r) as mes_matricula," _
                    & "ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota_UF,0)) * " & Replace(valor, ",", ".") & ")) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0)) AS Mensualidades," _
                    & "(SUM(IF(f.concepto = 'inco',monto_tot_cuota,0)) + SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) + ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota_UF,0)) * " & Replace(valor, ",", ".") & " )) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0))) AS Total_a_pagar," _
                    & "'Marzo' AS Desde,IF(MAX(f.mes) = 3,'Marzo',IF(MAX(f.mes) = 4,'Abril',IF(MAX(f.mes) = 5,'Mayo',IF(MAX(f.mes) = 6,'Junio',IF(MAX(f.mes) = 7,'Julio',IF(MAX(f.mes) = 8,'Agosto',IF(MAX(f.mes) = 9,'Septiembre',IF(MAX(f.mes) = 10,'Octubre',IF(MAX(f.mes) = 11,'Noviembre',IF(MAX(f.mes) = 12,'Diciembre','Febrero'))))))))))  AS Hasta," _
                    & "SUM(IF(f.concepto = 'inco',IF(fech_pago > '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) AS Pagado_cuota_inco," _
                    & "SUM(IF(f.concepto = 'ct00',IF(fech_pago > '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) AS Pagado_matricula," _
                    & "SUM(IF(f.concepto = 'esco',IF(fech_pago > '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) AS Pagado_mensualidades," _
                    & "(SUM(IF(f.concepto = 'inco',IF(fech_pago > '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) + SUM(IF(f.concepto = 'ct00',IF(fech_pago > '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) + SUM(IF(f.concepto = 'esco',IF(fech_pago > '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0))) AS Total_pagado," _
                    & "((SUM(IF(f.concepto = 'inco',monto_tot_cuota,0)) + SUM(IF(f.concepto = 'ct00',monto_tot_cuota,0)) + ROUND((SUM(IF(f.concepto = 'esco' AND monto_abono = 0,monto_tot_cuota_UF,0)) * " & Replace(valor, ",", ".") & " )) + SUM(IF(f.concepto = 'esco' AND monto_abono > 0,monto_tot_cuota,0))) - (SUM(IF(f.concepto = 'inco',IF(fech_pago > '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) + SUM(IF(f.concepto = 'ct00',IF(fech_pago > '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)) + SUM(IF(f.concepto = 'esco',IF(fech_pago > '" & Format(fecha_desde, "yyyy-mm-dd") & "' and fech_pago <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "',monto_abono,0),0)))) AS Saldo_por_pagar" _
                    & " FROM matriculas m,fnza_detalle_mensualidad f,postulantes p,apo_x_alu axa,apoderados a,meses mm" _
                    & " Where m.ci_alu = f.run_alu And m.anno_mat = f.agno And m.ci_alu = p.ci_alu And m.ci_alu = axa.ci_alu And m.anno_mat = axa.agno And axa.rut_apo = a.rut_apo And f.mes = mm.num_mes" _
                    & " AND m.anno_mat = " & cb_agno.Text & " AND fec_mat_r IS NOT NULL AND fec_mat_r <= '" & Format(fecha_hasta, "yyyy-mm-dd") & "' GROUP BY f.run_alu"
            conn.Execute var_sql
        End If
                
        var_sql = "ALTER TABLE temp_pagos ADD INDEX (rut_alu);"
        conn.Execute var_sql
        
        If opt_acumulado.Value = True Then
            var_sql = "SELECT rut_apo,apoderado,rut_alu,alumno,colegiatura,cuota_inco,matricula,mes_matricula,mensualidades,total_a_pagar,desde,hasta," _
                & "fecha_inco,tipo_inco,folio_inco,pagado_cuota_inco,fecha_matri,tipo_matri,folio_matri,pagado_matricula,fecha_esco , tipo_esco, folio_esco," _
                & "pagado_mensualidades, total_pagado, saldo_por_pagar FROM temp_pagos p LEFT JOIN temp_boletas_informe b ON p.rut_alu = b.run_alu"
        Else
            var_sql = "SELECT fec_mat_r,rut_apo,apoderado,rut_alu,alumno,colegiatura,cuota_inco,matricula,mes_matricula,mensualidades,total_a_pagar,desde,hasta," _
                & "fecha_inco,tipo_inco,folio_inco,pagado_cuota_inco,fecha_matri,tipo_matri,folio_matri,pagado_matricula,fecha_esco , tipo_esco, folio_esco," _
                & "pagado_mensualidades, total_pagado, saldo_por_pagar FROM temp_pagos p LEFT JOIN temp_boletas_informe b ON p.rut_alu = b.run_alu"
        End If
        
        objRS.Open var_sql, conn
        
        For j = 1 To 26
            ApExcel.Cells(1, j).Font.Size = 12
            ApExcel.Cells(1, j).Font.Bold = True
        Next j
        
        ApExcel.Cells(1, 1).Formula = "Rut Apo"
        ApExcel.Cells(1, 2).Formula = "Apoderado"
        ApExcel.Cells(1, 3).Formula = "Rut Alu"
        ApExcel.Cells(1, 4).Formula = "Alumno"
        ApExcel.Cells(1, 5).Formula = "Colegiatura"
        ApExcel.Cells(1, 6).Formula = "Mes matricula"
        ApExcel.Cells(1, 7).Formula = "Incorporacion"
        ApExcel.Cells(1, 8).Formula = "Matricula"
        ApExcel.Cells(1, 9).Formula = "Mensualidades"
        ApExcel.Cells(1, 10).Formula = "Total a pagar"
        ApExcel.Cells(1, 11).Formula = "Desde"
        ApExcel.Cells(1, 12).Formula = "Hasta"
        ApExcel.Cells(1, 13).Formula = "Fecha incorporacion"
        ApExcel.Cells(1, 14).Formula = "Tp incorporacion"
        ApExcel.Cells(1, 15).Formula = "Folio incorporacion"
        ApExcel.Cells(1, 16).Formula = "Pagado incorporacion"
        ApExcel.Cells(1, 17).Formula = "Fecha matricula"
        ApExcel.Cells(1, 18).Formula = "Tp matricula"
        ApExcel.Cells(1, 19).Formula = "Folio matricula"
        ApExcel.Cells(1, 20).Formula = "Pagado matricula"
        ApExcel.Cells(1, 21).Formula = "Fechas mensualidades"
        ApExcel.Cells(1, 22).Formula = "Tp mensualidades"
        ApExcel.Cells(1, 23).Formula = "Folio mensualidades"
        ApExcel.Cells(1, 24).Formula = "Pagado mensualidades"
        ApExcel.Cells(1, 25).Formula = "Total pagado"
        ApExcel.Cells(1, 26).Formula = "Saldo por pagar"
        
        pgbar2.Min = 0
        pgbar2.Max = objRS.RecordCount + 1
        pgbar2.Value = pgbar.Min
        I = 1
        While Not objRS.EOF
            I = I + 1
            ApExcel.Cells(I, 1).Formula = objRS("rut_apo")
            ApExcel.Cells(I, 2).Formula = objRS("apoderado")
            ApExcel.Cells(I, 3).Formula = objRS("rut_alu")
            ApExcel.Cells(I, 4).Formula = objRS("alumno")
            ApExcel.Cells(I, 5).Formula = objRS("colegiatura")
            ApExcel.Cells(I, 6).Formula = objRS("mes_matricula")
            If opt_acumulado.Value = True Then
                ApExcel.Cells(I, 7).Formula = objRS("cuota_inco")
                ApExcel.Cells(I, 8).Formula = objRS("matricula")
                ApExcel.Cells(I, 9).Formula = objRS("mensualidades")
                ApExcel.Cells(I, 10).Formula = objRS("total_a_pagar")
            Else
                ApExcel.Cells(I, 7).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("cuota_inco"))
                ApExcel.Cells(I, 8).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("matricula"))
                ApExcel.Cells(I, 9).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("mensualidades"))
                ApExcel.Cells(I, 10).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("total_a_pagar"))
            End If
            ApExcel.Cells(I, 11).Formula = objRS("desde")
            ApExcel.Cells(I, 12).Formula = objRS("hasta")
            
            ApExcel.Cells(I, 13).Formula = objRS("Fecha_inco")
            ApExcel.Cells(I, 14).Formula = objRS("tipo_inco")
            ApExcel.Cells(I, 15).Formula = objRS("folio_inco")
            ApExcel.Cells(I, 16).Formula = objRS("pagado_cuota_inco")
            
            ApExcel.Cells(I, 17).Formula = objRS("Fecha_matri")
            ApExcel.Cells(I, 18).Formula = objRS("tipo_matri")
            ApExcel.Cells(I, 19).Formula = objRS("folio_matri")
            ApExcel.Cells(I, 20).Formula = objRS("pagado_matricula")
            ApExcel.Cells(I, 21).Formula = objRS("fecha_esco")
            ApExcel.Cells(I, 22).Formula = objRS("tipo_esco")
            ApExcel.Cells(I, 23).Formula = objRS("folio_esco")
            ApExcel.Cells(I, 24).Formula = objRS("pagado_mensualidades")
            If opt_acumulado.Value = True Then
                ApExcel.Cells(I, 25).Formula = objRS("total_pagado")
                ApExcel.Cells(I, 26).Formula = objRS("saldo_por_pagar")
            Else
                ApExcel.Cells(I, 25).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("total_pagado"))
                ApExcel.Cells(I, 26).Formula = IIf(Format(objRS("fec_mat_r"), "yyyy-mm-dd") < Format(fecha_desde, "yyyy-mm-dd"), 0, objRS("saldo_por_pagar"))
            End If
                       
'            ApExcel.Cells(I, 3).Formula = Format(objRS("fecha_blta"), "yyyy/mm/dd")
'            ApExcel.Cells(I, 4).NumberFormat = "#,##0"
            pgbar2.Value = I - 1
            objRS.MoveNext
        Wend
        
        
                
    End If
    
    ApExcel.Visible = True
    ' ApExcel.Range("a1:f1").Borders.color = RGB(255, 0, 0)
    Set ApExcel = Nothing
    
    objRS.Close
    MsgBox "Informe generado", vbInformation
End Sub

Private Sub Form_Load()
    Dim objRS As ADODB.Recordset
    Set objRS = New ADODB.Recordset
    For I = 2023 To Year(Date) + 1
        cb_agno.AddItem I
        cb_agno_rango.AddItem I
    Next I
    cb_agno.Text = Year(Date)
    dtp_fecha.Value = Date
        
    var_sql = "SELECT num_mes,ucase(mes) as mes FROM meses ORDER BY num_mes"
    objRS.Open var_sql, conn
    While Not objRS.EOF
        cb_desde.AddItem objRS("mes")
        cb_hasta.AddItem objRS("mes")
        objRS.MoveNext
    Wend
    objRS.Close
    
    frame_acumulado.Visible = False
    frame_rango.Visible = False
End Sub

Private Sub opt_acumulado_Click()
    frame_acumulado.Visible = True
    frame_rango.Visible = False
End Sub

Private Sub opt_rango_Click()
    frame_rango.Visible = True
    frame_acumulado.Visible = False
End Sub
