VERSION 5.00
Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "comctl32.ocx"
Begin VB.Form Form_Rech 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "Registro de estudiantes de Chile"
   ClientHeight    =   6780
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   5955
   Icon            =   "Form_Rech.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   6780
   ScaleWidth      =   5955
   ShowInTaskbar   =   0   'False
   Begin VB.Frame Frame2 
      Caption         =   "Seleccione año escolar"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   735
      Left            =   120
      TabIndex        =   5
      Top             =   120
      Width           =   4215
      Begin VB.ComboBox Cmb_anho 
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   330
         Left            =   120
         TabIndex        =   6
         Top             =   240
         Width           =   3975
      End
   End
   Begin VB.CommandButton Command6 
      Caption         =   "&Salir"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   4560
      TabIndex        =   4
      Top             =   1800
      Width           =   1215
   End
   Begin VB.CommandButton Btn_Ace_rech 
      Caption         =   "&Crear Archivos"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   4560
      TabIndex        =   3
      Top             =   1080
      Width           =   1215
   End
   Begin VB.Frame Frame1 
      Caption         =   "Seleccione ubicació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          =   2415
      Left            =   120
      TabIndex        =   0
      Top             =   960
      Width           =   4215
      Begin VB.DirListBox Dir1 
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   1290
         Left            =   120
         TabIndex        =   2
         Top             =   600
         Width           =   3975
      End
      Begin VB.DriveListBox Drive1 
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   330
         Left            =   120
         TabIndex        =   1
         Top             =   240
         Width           =   3975
      End
      Begin ComctlLib.ProgressBar Prg_Rech 
         Height          =   255
         Left            =   120
         TabIndex        =   7
         Top             =   2040
         Width           =   3975
         _ExtentX        =   7011
         _ExtentY        =   450
         _Version        =   327682
         Appearance      =   1
      End
   End
   Begin VB.Frame Frame3 
      Caption         =   "Resumen"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   3135
      Left            =   120
      TabIndex        =   8
      Top             =   3480
      Width           =   5655
      Begin VB.TextBox Resumen 
         Height          =   2775
         Left            =   120
         Locked          =   -1  'True
         MultiLine       =   -1  'True
         ScrollBars      =   2  'Vertical
         TabIndex        =   9
         Top             =   240
         Width           =   5415
      End
   End
End
Attribute VB_Name = "Form_Rech"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim AnhoRech  As String

Private Sub Btn_Ace_rech_Click()
Dim Affected As Long
Dim var_sql As String

    If Me.Cmb_anho <> "" Then
        ReseteaResumen
        MensajeResumen "*** Proceso Matricula Inicial " & AnhoRech & " - RECH ***"
        ' Reparaciones previas de B.D.
        MensajeResumen
        conn.Execute "UPDATE alu_x_cur a, matriculas m SET a.IND_REP=1 WHERE a.ci_alu=m.ci_alu AND m.anno_mat+0=a.agno-1 AND m.cod_ens=a.cod_ens AND m.num_gra=a.num_gra AND m.cod_sit='R' AND a.IND_REP<>1;", Affected
        MensajeResumen "Marcas de Repitentes Faltantes: " & Affected
        conn.Execute "UPDATE postulantes set ind_ext_alu=2 WHERE ind_ext_alu is null OR ind_ext_Alu+0=0;", Affected
        MensajeResumen "Ind. Rut Extranjero nulo reparados " & Affected
        conn.Execute "UPDATE postulantes set ind_embarazo=2 WHERE ind_embarazo is null OR ind_embarazo+0=0;", Affected
        MensajeResumen "Ind. Emabarazo nulo reparados " & Affected
        conn.Execute "UPDATE postulantes set indigena=2 WHERE indigena is null OR indigena+0=0;", Affected
        MensajeResumen "Ind. Etnia Originaria nulo reparados " & Affected
        conn.Execute "UPDATE alu_x_cur set ind_ben_junaeb=2 WHERE ind_ben_junaeb is null OR ind_ben_junaeb+0=0;", Affected
        MensajeResumen "Ind. JUNAEB nulo reparados " & Affected
        conn.Execute "UPDATE alu_x_cur set ind_ben_chi_sol=2 WHERE ind_ben_chi_sol is null OR ind_ben_chi_sol+0=0;", Affected
        MensajeResumen "Ind. Chile Solidario nulo reparados " & Affected
        conn.Execute "UPDATE alu_x_cur set ind_alu_int=2 WHERE ind_alu_int is null OR ind_alu_int+0=0;", Affected
        MensajeResumen "Ind. Integrado nulo reparados " & Affected
        conn.Execute "UPDATE alu_x_cur set ind_gru_dif=2 WHERE ind_gru_dif is null OR ind_gru_dif+0=0;", Affected
        MensajeResumen "Ind. Grupo Diferencial nulo reparados " & Affected
        conn.Execute "UPDATE alu_x_cur set ind_rep=2 WHERE ind_rep is null OR ind_rep+0=0;", Affected
        MensajeResumen "Ind. Repitencia nulo reparados " & Affected
        ' Fin Reparaciones
        Me.Prg_Rech.Max = 5
        MensajeResumen
        MensajeResumen "Archivo 1 - Datos del Establecimiento."
        
        var_sql = "update postulantes p, alu_x_cur a, matriculas m set ind_ben_junaeb = 1" _
                & " Where a.agno = m.anno_mat And m.anno_mat = 2008 And p.ci_alu = m.ci_alu" _
                & " and m.ci_alu=a.ci_alu and junaeb = 'SI' and ind_ben_junaeb = 2"
        conn.Execute var_sql

        var_sql = "update postulantes p, alu_x_cur a, matriculas m set ind_ben_chi_sol = 1" _
                & " Where a.agno = m.anno_mat And m.anno_mat = 2008 And p.ci_alu = m.ci_alu" _
                & " and m.ci_alu=a.ci_alu and solidario = 'SI' and ind_ben_chi_sol = 2"
        conn.Execute var_sql

        var_sql = "update postulantes p, alu_x_cur a, matriculas m set ind_alu_int = 1" _
                & " Where a.agno = m.anno_mat And m.anno_mat = 2008 And p.ci_alu = m.ci_alu" _
                & " and m.ci_alu=a.ci_alu and integrado = 'SI' and ind_alu_int = 2"
        conn.Execute var_sql

        var_sql = "update postulantes p, alu_x_cur a, matriculas m set ind_gru_dif = 1" _
                & " Where a.agno = m.anno_mat And m.anno_mat = 2008 And p.ci_alu = m.ci_alu" _
                & " and m.ci_alu=a.ci_alu and diferencial = 'SI' and ind_gru_dif = 2"
        conn.Execute var_sql
        
        If RECH_Paso1 Then
            Me.Prg_Rech.Value = 1
            MensajeResumen "*CREADO*"
        Else
            MsgBox "Fallo en Creación de Archivo 1", vbExclamation, "Fallo"
            MensajeResumen "*Fallo en Creación de Archivo 1*"
            Exit Sub
        End If
        MensajeResumen
        MensajeResumen "Archivo 2 - Datos de las Unidades Educativas."
        If RECH_Paso2 Then
            Me.Prg_Rech.Value = 2
            MensajeResumen "*CREADO*"
        Else
            MsgBox "Fallo en Creación de Archivo 2", vbExclamation, "Fallo"
            MensajeResumen "*Fallo en Creación de Archivo 2*"
            Exit Sub
        End If
        MensajeResumen
        MensajeResumen "Archivo 3 - Nómina de Estudiantes en Matricula Inicial."
        If RECH_Paso3 Then
            Me.Prg_Rech.Value = 3
            MensajeResumen "*CREADO*"
        Else
            MsgBox "Fallo en Creación de Archivo 3", vbExclamation, "Fallo"
            MensajeResumen "Fallo en Creación de Archivo 3"
            Exit Sub
        End If
        MensajeResumen
        MensajeResumen "Archivo 4 - Datos de los Cursos."
        If RECH_Paso4 Then
            Me.Prg_Rech.Value = 4
            MensajeResumen "*CREADO*"
        Else
            MsgBox "Fallo en Creación de Archivo 4", vbExclamation, "Fallo"
            MensajeResumen "Fallo en Creación de Archivo 4"
            Exit Sub
        End If
        MensajeResumen
        MensajeResumen "Archivo 5 - Estudientes de los Cursos."
        If RECH_Paso5 Then
            Me.Prg_Rech.Value = 5
            MensajeResumen "*CREADO*"
        Else
            MsgBox "Fallo en Creación de Archivo 5", vbExclamation, "Fallo"
            MensajeResumen "Fallo en Creación de Archivo 5"
            Exit Sub
        End If
        MensajeResumen
        MensajeResumen "*** FIN DEL PROCESO ***"
        MsgBox ("Fin del Proceso")
    Else
        MsgBox ("Seleccione año escolar")
        Me.Cmb_anho.SetFocus
    End If
End Sub

Private Sub Cmb_anho_Click()
    AnhoRech = Trim(Me.Cmb_anho)
End Sub

Private Function RECH_Paso1() As Boolean
    Dim rs As ADODB.Recordset
    Dim RDB As String
    
    Set rs = New ADODB.Recordset
    RECH_Paso1 = False
    'Selecciono informacion del Establecimiento para el registro
    rs.Open "SELECT * FROM ESTABLECIMIENTOS;", conn
    If rs.RecordCount > 0 And Len(rs!RDB) > 0 Then
        Open Dir1.Path & "\m" & Mid(rs!RDB, 1, Len(rs!RDB) - 2) & "_21.txt" For Output As #1
        While Not rs.EOF
            Print #1, "21" & Chr(9) & Mid(rs!RDB, 1, Len(rs!RDB) - 2) & Chr(9) & Right(rs!RDB, 1) & Chr(9) & rs!nom_est & Chr(9) & rs!dir_est & Chr(9) & rs!fon_est & Chr(9) & rs!cel_est & Chr(9) & rs!mail_est & Chr(9) & rs!localidad_est & Chr(9) & rs!num_res_rec_ofi_est & Chr(9) & Format(rs!fec_res_rec_ofi_est, "dd\/mm\/yyyy") & Chr(9) & Val(Mid(rs!RUT_DIRECTOR_EST, 1, Len(rs!RUT_DIRECTOR_EST) - 2)) & Chr(9) & Right(rs!RUT_DIRECTOR_EST, 1) & Chr(9) & rs!APE_PAT_DIR & Chr(9) & rs!APE_MAT_DIR & Chr(9) & rs!NOM_DIR
            rs.MoveNext
        Wend
        Close #1
        RECH_Paso1 = True
    Else
        MsgBox "No se encuentra registro de información del establecimiento.", vbExclamation, "Falta de información"
        MensajeResumen
        MensajeResumen "Falta de información"
        MensajeResumen "No se encuentra registro de información del establecimiento."
        MensajeResumen
    End If
    rs.Close
    Set rs = Nothing
End Function

Private Function RECH_Paso2() As Boolean
    Dim rs As ADODB.Recordset
    Dim sql As String
    Dim RDB As String
    
    RDB = RetornaCampo("establecimientos", "rdb", "1=1", conn)
    Set rs = New ADODB.Recordset
    RECH_Paso2 = False
    
    sql = "SELECT * From UNID_EDUC order by cod_ens asc"
    rs.Open sql, conn
    If (rs.RecordCount > 0) And (RDB <> "") Then
        Open Dir1.Path & "\m" & Mid(RDB, 1, Len(RDB) - 2) & "_22.txt" For Output As #1
        While Not rs.EOF
            If Format(rs("HOR_INI_JOR_MAN"), "hh:mm") <> "00:00" Then
                him = Format(rs("HOR_INI_JOR_MAN"), "hh:mm")
            Else
                him = "00:00"
            End If
            If Format(rs("HOR_FIN_JOR_MAN"), "hh:mm") <> "00:00" Then
                hfm = Format(rs("HOR_FIN_JOR_MAN"), "hh:mm")
            Else
                hfm = "00:00"
            End If
            If Format(rs("HOR_INI_JOR_TAR"), "hh:mm") <> "00:00" Then
                hit = Format(rs("HOR_INI_JOR_TAR"), "hh:mm")
            Else
                hit = "00:00"
            End If
            If Format(rs("HOR_FIN_JOR_TAR"), "hh:mm") <> "00:00" Then
                hft = Format(rs("HOR_FIN_JOR_TAR"), "hh:mm")
            Else
                hft = "00:00"
            End If
            Print #1, "22" & Chr(9) & _
            Mid(RDB, 1, Len(RDB) - 2) & Chr(9) & _
            Right(RDB, 1) & Chr(9) & _
            rs("COD_ENS") & Chr(9) & _
            rs("IND_CEN_PAD") & Chr(9) & _
            rs("IND_PER_JUR") & Chr(9) & _
            rs("NUM_RES_AUT") & Chr(9) & _
            Format(rs("FEC_RES_AUT"), "dd\/mm\/yyyy") & Chr(9) & _
            rs("NUM_RES_CIERRE") & Chr(9) & _
            IIf(rs!FEC_RES_CIERRE = rs!FEC_RES_AUT, "          ", Format(rs!FEC_RES_CIERRE, "dd\/mm\/yyyy")) & Chr(9) & _
            rs("NUM_GRU_DIF") & Chr(9) & _
            him & Chr(9) & _
            hfm & Chr(9) & _
            hit & Chr(9) & _
            hft & Chr(9) & _
            Chr(9) & _
            Chr(9) & _
            Chr(9) & _
            Chr(9) & _
            rs("ESTADO_FUNC") & Chr(9) & _
            rs("NUM_ALU_HOM_IND_DIF") & Chr(9) & _
            rs("NUM_ALU_HOM_IND_INT") & Chr(9) & _
            rs("NUM_ALU_MUJ_IND_DIF") & Chr(9) & _
            rs("NUM_ALU_MUJ_IND_INT") & Chr(9) & "0" & Chr(9) & "0" & Chr(9) & "0" & Chr(9) & "0" & Chr(9) & "0" & Chr(9) & "0"
            rs.MoveNext
        Wend
        Close #1
        RECH_Paso2 = True
    Else
        MsgBox "No Existen registros. NO ES POSIBLE CONTINUAR. Complete primeramente los datos que faltan para el establecimiento", vbCritical + vbOKOnly, "Problema"
        MensajeResumen
        MensajeResumen "Falta de información"
        MensajeResumen "No se encuentran registros de Unid. Educativas."
        MensajeResumen
    End If
    rs.Close
    Set rs = Nothing
End Function

Private Function RECH_Paso3() As Boolean
    Dim rs As ADODB.Recordset
    Dim RDB As String
    
    RDB = RetornaCampo("establecimientos", "rdb", "1=1", conn)
    Set rs = New ADODB.Recordset
    RECH_Paso3 = False
    
    sql = "select p.CI_Alu, p.COD_GEO, p.APE_PAT_ALU, p.APE_MAT_ALU, p.NOM_ALU, p.FEC_NACALU, " & _
          "p.SEX_ALU, p.IND_EXT_ALU, p.MATRICULADO_ALU, m.FEC_MAT, a.IND_BEN_JUNAEB, a.IND_BEN_CHI_SOL " & _
          "from alu_x_cur a, matriculas m, postulantes p " & _
          "where p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and month(a.fec_ing_curso) < '05' " & _
          "and (month(m.fec_retiro) >= '05' or m.fec_retiro = '1111-11-11') and " & _
          "(month(a.fec_cam) >= '05' or a.fec_cam = '1111-11-11') and m.fec_mat= a.fec_mat and " & _
          "a.cod_ens = '996' and m.anno_mat ='" & AnhoRech & "' and m.FEC_MAT <= '" & AnhoRech & "/04/30' ORDER BY p.ci_alu ASC"
    
    rs.Open sql, conn, adOpenKeyset
    MensajeResumen "- Estudiantes de la matrícula inicial " & rs.RecordCount
    If rs.RecordCount > 0 And RDB <> "" Then
        Open Dir1.Path & "\m" & Mid(RDB, 1, Len(RDB) - 2) & "_23.txt" For Output As #1
            While Not rs.EOF
                If rs("IND_BEN_JUNAEB") = "-" Or IsNull(rs("IND_BEN_JUNAEB")) Then
                    junaev = "2"
                Else
                    junaev = rs("IND_BEN_JUNAEB")
                End If
                If rs("IND_BEN_CHI_SOL") = "-" Or IsNull(rs("IND_BEN_CHI_SOL")) Then
                    benchisol = "2"
                Else
                    benchisol = rs("IND_BEN_CHI_SOL")
                End If
                If rs("IND_EXT_ALU") = "0" Or IsNull(rs("IND_EXT_ALU")) Then
                    extrangero = "2"
                Else
                    extrangero = rs("IND_EXT_ALU")
                End If
                If Mid(rs("ci_alu"), 1, Len(rs("ci_alu")) - 2) = "00001204" Then
                    MsgBox "Stop"
                End If
                Print #1, "23" & Chr(9) & _
                Mid(RDB, 1, Len(RDB) - 2) & Chr(9) & _
                Right(RDB, 1) & Chr(9) & _
                Mid(rs("ci_alu"), 1, Len(rs("ci_alu")) - 2) & Chr(9) & _
                Right(rs("ci_alu"), 1) & Chr(9) & _
                rs("ape_pat_alu") & Chr(9) & _
                rs("ape_mat_alu") & Chr(9) & _
                rs("nom_alu") & Chr(9) & _
                rs("sex_alu") & Chr(9) & _
                Format(rs("fec_nacalu"), "dd\/mm\/yyyy") & Chr(9) & _
                rs("cod_geo") & Chr(9) & _
                extrangero & Chr(9) & _
                junaev & Chr(9) & _
                benchisol
                rs.MoveNext
            Wend
        Close #1
        RECH_Paso3 = True
    Else
        MsgBox "No Existen registros. NO ES POSIBLE CONTINUAR. Complete primeramente los datos que faltan para el establecimiento", vbCritical + vbOKOnly, "Problema"
        MensajeResumen
        MensajeResumen "Falta de información"
        MensajeResumen "No se encuentran registros de Nóminas de Alumnos."
        MensajeResumen
    End If
    rs.Close
    Set rs = Nothing
End Function

Private Function RECH_Paso4() As Boolean
Dim rs As ADODB.Recordset
Dim RDB As String
Dim sql As String
Dim COD_MOD As String
Dim COD_GRA As String
Dim Let_Cur As String

Set rs = New ADODB.Recordset
RECH_Paso4 = False
RDB = RetornaCampo("establecimientos", "rdb", "1=1", conn)

sql = "SELECT " & _
        "cursos1.COD_ENS,cursos1.num_gra, cursos1.LET_CUR, cursos1.COD_JOR, " & _
        "cursos1.IND_CUR_SIM_COM, profesores1.RUT_PROF, profesores1.NOMS_PROF, " & _
        "profesores1.APE1_PROF, profesores1.APE2_PROF " & _
      "FROM " & _
        "cursos cursos1, " & _
        "profesores profesores1 " & _
      "WHERE " & _
        "cursos1.agno=" & AnhoRech & " AND cursos1.RUT_PROF = profesores1.RUT_PROF and cursos1.cod_ens = '996' order by cursos1.COD_ENS asc, cursos1.NUM_GRA asc, cursos1.LET_CUR asc"

rs.Open sql, conn, adOpenKeyset
MensajeResumen "Cursos " & rs.RecordCount
If rs.RecordCount > 0 Then
    Open Dir1.Path & "\m" & Mid(RDB, 1, Len(RDB) - 2) & "_24.txt" For Output As #1
        While Not rs.EOF
            COD_MOD = rs("cod_ens")
            COD_GRA = rs("num_gra")
            Let_Cur = rs("let_cur")
            
            alu_hom = Val(CuentaReg("postulantes p, alu_x_cur a, matriculas m", " a.agno=m.anno_mat AND m.anno_mat='" & AnhoRech & "' AND p.sex_alu ='1' AND a.COD_ENS ='" & COD_MOD & "' AND a.NUM_GRA ='" & COD_GRA & "' AND a.LET_CUR ='" & Let_Cur & "' and p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and month(a.fec_ing_curso) < '05' and (month(m.fec_retiro) >= '05' or m.fec_retiro = '1111-11-11') and (month(a.fec_cam) >= '05' or a.fec_cam = '1111-11-11') and m.fec_mat= a.fec_mat and a.cod_ens = '996' and m.FEC_MAT <= '" & AnhoRech & "/04/30'", conn))
            alu_MUJ = Val(CuentaReg("postulantes p, alu_x_cur a, matriculas m", " a.agno=m.anno_mat AND m.anno_mat='" & AnhoRech & "' AND p.sex_alu ='2' AND a.COD_ENS ='" & COD_MOD & "' AND a.NUM_GRA ='" & COD_GRA & "' AND a.LET_CUR ='" & Let_Cur & "' and p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and month(a.fec_ing_curso) < '05' and (month(m.fec_retiro) >= '05' or m.fec_retiro = '1111-11-11') and (month(a.fec_cam) >= '05' or a.fec_cam = '1111-11-11') and m.fec_mat= a.fec_mat and a.cod_ens = '996' and m.FEC_MAT <= '" & AnhoRech & "/04/30'", conn))
            alu_hom_INd = Val(CuentaReg("postulantes p, alu_x_cur a, matriculas m", " a.agno=m.anno_mat AND m.anno_mat='" & AnhoRech & "' AND p.sex_alu ='1' and indigena ='1' AND a.COD_ENS ='" & COD_MOD & "' AND a.NUM_GRA ='" & COD_GRA & "' AND a.LET_CUR ='" & Let_Cur & "' and p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and month(a.fec_ing_curso) < '05' and (month(m.fec_retiro) >= '05' or m.fec_retiro = '1111-11-11') and (month(a.fec_cam) >= '05' or a.fec_cam = '1111-11-11') and a.cod_ens = '996' and m.fec_mat= a.fec_mat AND m.FEC_MAT <= '" & AnhoRech & "/04/30'", conn))
            alu_muj_ind = Val(CuentaReg("postulantes p, alu_x_cur a, matriculas m", " a.agno=m.anno_mat AND m.anno_mat='" & AnhoRech & "' AND p.sex_alu ='2' and indigena ='1' AND a.COD_ENS ='" & COD_MOD & "' AND a.NUM_GRA ='" & COD_GRA & "' AND a.LET_CUR ='" & Let_Cur & "' and p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and month(a.fec_ing_curso) < '05' and (month(m.fec_retiro) >= '05' or m.fec_retiro = '1111-11-11') and (month(a.fec_cam) >= '05' or a.fec_cam = '1111-11-11') and a.cod_ens = '996' and m.fec_mat= a.fec_mat AND m.FEC_MAT <= '" & AnhoRech & "/04/30'", conn))
            alu_embarazo = Val(CuentaReg("postulantes p, alu_x_cur a, matriculas m", " a.agno=m.anno_mat AND m.anno_mat='" & AnhoRech & "' AND p.sex_alu ='2' and ind_embarazo ='1' AND a.COD_ENS ='" & COD_MOD & "' AND a.NUM_GRA ='" & COD_GRA & "' AND a.LET_CUR ='" & Let_Cur & "' and p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and month(a.fec_ing_curso) < '05' and (month(m.fec_retiro) >= '05' or m.fec_retiro = '1111-11-11') and (month(a.fec_cam) >= '05' or a.fec_cam = '1111-11-11') and m.fec_mat= a.fec_mat and a.cod_ens = '996' and m.FEC_MAT <= '" & AnhoRech & "/04/30'", conn))

            Print #1, "24" & Chr(9) & _
            Mid(RDB, 1, Len(RDB) - 2) & Chr(9) & _
            Right(RDB, 1) & Chr(9) & _
            rs("cod_ens") & Chr(9) & _
            IIf(rs("cod_ens") = "996", 4, IIf(rs("cod_ens") = "010", 5, rs("num_gra"))) & Chr(9) & _
            rs("let_cur") & Chr(9) & _
            AnhoRech & Chr(9) & _
            rs("cod_jor") & Chr(9) & _
            IIf(IsNull(rs("IND_CUR_SIM_COM")) Or Trim(rs("IND_CUR_SIM_COM")) = "", "0", rs("IND_CUR_SIM_COM")) & Chr(9) & _
            alu_hom & Chr(9) & _
            alu_MUJ & Chr(9) & _
            alu_hom_INd & Chr(9) & _
            alu_muj_ind & Chr(9) & _
            alu_embarazo & Chr(9) & _
            FillconCero(Mid(rs("rut_prof"), 1, Len(rs("rut_prof")) - 2), 8) & Chr(9) & _
            Right(rs("rut_prof"), 1) & Chr(9) & _
            rs("ape1_prof") & Chr(9) & _
            rs("ape2_prof") & Chr(9) & _
            rs("noms_prof"); n
            rs.MoveNext
        Wend
    Close #1
    RECH_Paso4 = True
Else
    MsgBox "No Existen registros. NO ES POSIBLE CONTINUAR. Complete primeramente los datos que faltan para el establecimiento", vbCritical + vbOKOnly, "Problema"
    MensajeResumen
    MensajeResumen "Falta de información"
    MensajeResumen "No se encuentran registros de Cursos."
    MensajeResumen
End If
rs.Close
Set rs = Nothing
End Function

Private Function RECH_Paso5() As Boolean
Dim rs As ADODB.Recordset
Dim RDB As String
Dim sql As String

Set rs = New ADODB.Recordset
RDB = RetornaCampo("establecimientos", "rdb", "1=1", conn)
RECH_Paso5 = False

sql = "SELECT a.FEC_ALTA, " & _
      "a.CI_ALU, a.COD_ENS,if(a.cod_ens='996',4,if(a.cod_ens='010',5,a.NUM_GRA)) as num_gra, a.LET_CUR, " & _
      "a.IND_ALU_INT, a.IND_GRU_DIF, a.IND_REP, a.fec_mat " & _
      "FROM alu_x_cur a, matriculas m " & _
      "WHERE a.agno=m.anno_mat AND m.ci_alu=a.ci_alu and month(a.fec_ing_curso) < '05' " & _
      "and (month(m.fec_retiro) >= '05' or m.fec_retiro = '1111-11-11') and " & _
      "(month(a.fec_cam) >= '05' or a.fec_cam = '1111-11-11') and m.fec_mat= a.fec_mat and " & _
      "a.cod_ens = '996' and m.anno_mat ='" & AnhoRech & "' and m.FEC_MAT <= '" & AnhoRech & "/04/30' order by a.CI_Alu asc"

rs.Open sql, conn, adOpenKeyset
MensajeResumen "Estudiantes de los cursos " & rs.RecordCount
If rs.RecordCount > 0 Then
    Open Dir1.Path & "\m" & Mid(RDB, 1, Len(RDB) - 2) & "_25.txt" For Output As #1
        While Not rs.EOF
            Print #1, "25" & Chr(9) & _
            Mid(RDB, 1, Len(RDB) - 2) & Chr(9) & _
            Right(RDB, 1) & Chr(9) & _
            rs("cod_ens") & Chr(9) & _
            rs("num_gra") & Chr(9) & _
            rs("let_cur") & Chr(9) & _
            AnhoRech & Chr(9) & _
            Mid(rs("ci_alu"), 1, Len(rs("ci_alu")) - 2) & Chr(9) & _
            Right(rs("ci_alu"), 1) & Chr(9) & _
            rs("IND_REP") & Chr(9) & _
            rs("IND_ALU_INT") & Chr(9) & _
            rs("IND_GRU_DIF") & Chr(9) & _
            "0" & Chr(9) & _
            "0" & Chr(9) & _
            "2" & Chr(9) & _
            "2" & Chr(9) & _
            "2" & Chr(9) & _
            "2"
            rs.MoveNext
        Wend
    Close #1
    RECH_Paso5 = True
Else
    MsgBox "No Existen registros. NO ES POSIBLE CONTINUAR. Complete primeramente los datos que faltan para el establecimiento", vbCritical + vbOKOnly, "Problema"
    MensajeResumen
    MensajeResumen "Falta de información"
    MensajeResumen "No se encuentran registros de Alumnos por Curso."
    MensajeResumen
End If
rs.Close
Set rs = Nothing
End Function

Private Sub Command6_Click()
    Unload Me
End Sub

Private Sub Form_Load()
Call ComboAgnoRech
Me.Drive1.Drive = "C:"
Me.Dir1.Path = "C:\Rech" & Anno
End Sub

Private Sub Form_Unload(Cancel As Integer)
Call menuhabilitado(True)
End Sub

Private Sub ComboAgnoRech()
    If Year(Date) < 2005 Then
        Me.Cmb_anho.AddItem ("2005")
    Else
        For i = Year(Date) To 2005 Step -1
            Me.Cmb_anho.AddItem (str(i))
        Next i
    End If
    Flag_sub = True
    Me.Cmb_anho.ListIndex = 0
    Flag_sub = False
End Sub

Private Sub MensajeResumen(Optional ByVal linea As String = "")
    Resumen.Text = Resumen.Text & vbCrLf & linea
    Resumen.SelStart = Len(Resumen.Text)
    Resumen.Refresh
End Sub

Private Sub ReseteaResumen()
    Resumen.Text = ""
    Resumen.Refresh
End Sub
