VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form Form_Proyec_Vac 
   ClientHeight    =   7230
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   11685
   Icon            =   "Form_Proyec_Vac.frx":0000
   LinkTopic       =   "Form1"
   MDIChild        =   -1  'True
   Moveable        =   0   'False
   ScaleHeight     =   7230
   ScaleWidth      =   11685
   Begin VB.Frame Frame_proyec 
      Caption         =   "Título"
      BeginProperty Font 
         Name            =   "Arial"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00C00000&
      Height          =   6975
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   11415
      Begin VB.Frame Frame1 
         Caption         =   "Vacantes Máximas"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H00C00000&
         Height          =   1695
         Left            =   8160
         TabIndex        =   26
         Top             =   240
         Width           =   3135
         Begin VB.TextBox txt_estado 
            Enabled         =   0   'False
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   285
            Index           =   1
            Left            =   2160
            Locked          =   -1  'True
            TabIndex        =   37
            Top             =   1320
            Width           =   855
         End
         Begin VB.TextBox txt_actuales 
            Enabled         =   0   'False
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   285
            Index           =   1
            Left            =   2160
            Locked          =   -1  'True
            TabIndex        =   36
            Top             =   960
            Width           =   855
         End
         Begin VB.TextBox txt_autoriz 
            Enabled         =   0   'False
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   285
            Index           =   1
            Left            =   2160
            Locked          =   -1  'True
            TabIndex        =   35
            Top             =   600
            Width           =   855
         End
         Begin VB.TextBox txt_autoriz 
            Enabled         =   0   'False
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   285
            Index           =   0
            Left            =   1200
            Locked          =   -1  'True
            TabIndex        =   29
            Top             =   600
            Width           =   855
         End
         Begin VB.TextBox txt_estado 
            Enabled         =   0   'False
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   285
            Index           =   0
            Left            =   1200
            Locked          =   -1  'True
            TabIndex        =   28
            Top             =   1320
            Width           =   855
         End
         Begin VB.TextBox txt_actuales 
            Enabled         =   0   'False
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   285
            Index           =   0
            Left            =   1200
            Locked          =   -1  'True
            TabIndex        =   27
            Top             =   960
            Width           =   855
         End
         Begin VB.Label Label10 
            Alignment       =   2  'Center
            Caption         =   "Mujeres"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   255
            Left            =   2160
            TabIndex        =   34
            Top             =   360
            Width           =   855
         End
         Begin VB.Label Label9 
            Alignment       =   2  'Center
            Caption         =   "Hombres"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   255
            Left            =   1200
            TabIndex        =   33
            Top             =   360
            Width           =   855
         End
         Begin VB.Label Label8 
            Caption         =   "Estado"
            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        =   32
            Top             =   1320
            Width           =   1215
         End
         Begin VB.Label Label7 
            Caption         =   "Actuales"
            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        =   31
            Top             =   960
            Width           =   1215
         End
         Begin VB.Label Label6 
            Caption         =   "Autorizados"
            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        =   30
            Top             =   600
            Width           =   1095
         End
      End
      Begin VB.Frame frame_ncursos 
         Height          =   1455
         Left            =   4440
         TabIndex        =   21
         Top             =   3360
         Width           =   3375
         Begin VB.TextBox txt_ncursos 
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   285
            Left            =   2040
            MaxLength       =   3
            TabIndex        =   24
            Top             =   360
            Width           =   975
         End
         Begin VB.CommandButton btn_can_cursos 
            Caption         =   "Cancelar"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   375
            Left            =   1800
            TabIndex        =   23
            Top             =   840
            Width           =   1335
         End
         Begin VB.CommandButton btn_acep_cursos 
            Caption         =   "Aceptar"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   375
            Left            =   240
            TabIndex        =   22
            Top             =   840
            Width           =   1335
         End
         Begin VB.Label Label5 
            Caption         =   "Cantidad de cursos"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            ForeColor       =   &H00C00000&
            Height          =   255
            Left            =   240
            TabIndex        =   25
            Top             =   360
            Width           =   1575
         End
      End
      Begin VB.Frame frame_criterios 
         Height          =   1695
         Left            =   120
         TabIndex        =   15
         Top             =   240
         Width           =   5415
         Begin VB.CommandButton btn_limpiar 
            Caption         =   "Limpiar"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   375
            Left            =   3960
            TabIndex        =   5
            Top             =   1200
            Width           =   1335
         End
         Begin VB.ComboBox cmb_mod_proy 
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   330
            Left            =   1680
            TabIndex        =   1
            Top             =   240
            Width           =   3615
         End
         Begin VB.ComboBox cmb_jor_proy 
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   330
            Left            =   1680
            TabIndex        =   2
            Top             =   600
            Width           =   3615
         End
         Begin VB.TextBox txt_alu_cur 
            Height          =   285
            Left            =   1680
            MaxLength       =   2
            TabIndex        =   3
            Top             =   1200
            Width           =   735
         End
         Begin VB.CommandButton btn_calc_proy 
            Caption         =   "Calcular"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   375
            Left            =   2520
            TabIndex        =   4
            Top             =   1200
            Width           =   1335
         End
         Begin VB.Line Line7 
            BorderColor     =   &H80000005&
            X1              =   20
            X2              =   5400
            Y1              =   1065
            Y2              =   1065
         End
         Begin VB.Line Line8 
            BorderColor     =   &H8000000C&
            X1              =   20
            X2              =   5400
            Y1              =   1050
            Y2              =   1050
         End
         Begin VB.Label Label1 
            Caption         =   "Alumnos por curso"
            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        =   18
            Top             =   1200
            Width           =   1455
         End
         Begin VB.Label Label2 
            Caption         =   "Tipo de enseñanza"
            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        =   17
            Top             =   240
            Width           =   1455
         End
         Begin VB.Label Label3 
            Caption         =   "Jornada"
            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        =   16
            Top             =   600
            Width           =   1455
         End
      End
      Begin VB.Frame frame_salida 
         Height          =   1695
         Left            =   5640
         TabIndex        =   14
         Top             =   240
         Width           =   2415
         Begin VB.OptionButton Opt_destino_proyec 
            Caption         =   "Pantalla"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   255
            Index           =   0
            Left            =   120
            TabIndex        =   6
            Top             =   240
            Width           =   975
         End
         Begin VB.OptionButton Opt_destino_proyec 
            Caption         =   "Impresora"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   255
            Index           =   1
            Left            =   1200
            TabIndex        =   7
            Top             =   240
            Width           =   1095
         End
         Begin VB.CommandButton btn_gen_rep 
            Caption         =   "Generar Reporte"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   375
            Left            =   480
            TabIndex        =   8
            Top             =   720
            Width           =   1335
         End
         Begin VB.CommandButton btn_cancelar 
            Caption         =   "Cancelar"
            BeginProperty Font 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   375
            Left            =   480
            TabIndex        =   9
            Top             =   1200
            Width           =   1335
         End
      End
      Begin VB.ListBox List1 
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   1320
         Left            =   3600
         TabIndex        =   10
         Top             =   4920
         Visible         =   0   'False
         Width           =   1095
      End
      Begin VB.ListBox List2 
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   1320
         Left            =   4920
         TabIndex        =   13
         Top             =   4920
         Visible         =   0   'False
         Width           =   1095
      End
      Begin VB.ListBox List3 
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   1320
         Left            =   6360
         TabIndex        =   12
         Top             =   4920
         Visible         =   0   'False
         Width           =   1095
      End
      Begin VB.ListBox List4 
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   1320
         Left            =   7680
         TabIndex        =   11
         Top             =   4920
         Visible         =   0   'False
         Width           =   1095
      End
      Begin VB.Frame Frame_Esc1 
         Height          =   4935
         Left            =   120
         TabIndex        =   19
         Top             =   1920
         Width           =   11175
         Begin MSFlexGridLib.MSFlexGrid Grd_proyec 
            Height          =   4575
            Left            =   120
            TabIndex        =   20
            Top             =   240
            Width           =   10935
            _ExtentX        =   19288
            _ExtentY        =   8070
            _Version        =   393216
            BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
               Name            =   "Arial"
               Size            =   8.25
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
         End
      End
   End
End
Attribute VB_Name = "Form_Proyec_Vac"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim jornada As String, Anhoactual As String
Dim Cambionivel() As String ' Declaro esta matriz para almacenar los cambios de nivel
                             ' que se deben respetar.
Dim CodDes As String, Codens As String, ngramax As Integer
Function Traecursos(Cadena As String) As Integer
Pos = InStr(1, Cadena, "E")
If Pos >= 3 Then
    Traecursos = Val(Mid(Cadena, 1, Pos - 2))
Else
    Traecursos = Val(Cadena)
End If
End Function
Sub CargaCambionivel(CODIGOINT As String)
Dim OrdEns As Integer, NgraMaxAnt As Integer, CodensAnt As String
Form_Proyec_Vac.List1.Clear
Form_Proyec_Vac.List2.Clear
Form_Proyec_Vac.List3.Clear
Form_Proyec_Vac.List4.Clear
rs.CursorLocation = adUseClient
rs.Open "select * from codigos_ensenanza where cod_des = '" & CODIGOINT & "'", conn
If rs.RecordCount > 0 Then
    OrdEns = rs("Ord_ens"): ngramax = Val(rs("num_gra_max"))
    CodDes = rs("cod_des"): Codens = rs("cod_ens")
    RsAux.CursorLocation = adUseClient
    RsAux.Open "select * from codigos_ensenanza where ord_ens = " & OrdEns - 1, conn
    ' Esta consulta es para saber si existen modalidades anteriores a la consultada
    If RsAux.RecordCount > 0 Then
        NgraMaxAnt = Val(RsAux("num_gra_max"))
        CodensAnt = RsAux("cod_ens")
    Else
    ' Si no existen modalidades anteriores a la consultada.....
        NgraMaxAnt = 0
        CodensAnt = ""
    End If
    ReDim Cambionivel(ngramax, 4)
    Cambionivel(1, 1) = CodensAnt: Form_Proyec_Vac.List1.AddItem CodensAnt
    Cambionivel(1, 2) = NgraMaxAnt: Form_Proyec_Vac.List2.AddItem NgraMaxAnt
    For t = 2 To ngramax
        Cambionivel(t, 1) = Codens: Form_Proyec_Vac.List1.AddItem Codens
        Cambionivel(t, 2) = t - 1: Form_Proyec_Vac.List2.AddItem t - 1
    Next t
    For t = 1 To ngramax
        Cambionivel(t, 3) = Codens: Form_Proyec_Vac.List3.AddItem Codens
        Cambionivel(t, 4) = t: Form_Proyec_Vac.List4.AddItem t
    Next t
    RsAux.Close
End If
rs.Close
End Sub

Sub Grillainicial1()
Me.Grd_proyec.Clear
Me.Grd_proyec.Rows = 3: Me.Grd_proyec.FixedRows = 2
Me.Grd_proyec.Cols = 15: Me.Grd_proyec.FixedCols = 2
Me.Grd_proyec.FormatString = "^ NIVELES|^ CURSOS|^ MATRICULA ACTUAL|^ MATRICULA ACTUAL|^ MATRICULA ACTUAL|^ POSTULANTES AL " & Anno + 1 & "|^ POSTULANTES AL " & Anno + 1 & "|^ POSTULANTES AL " & Anno + 1 & "|^ MAT. PROBABLE|^ MAT. PROBABLE|^ MAT. PROBABLE|^ CURSOS " & Anno + 1 & "|^ CURSOS " & Anno + 1 & "|^ CAPACIDAD|^ VACANTES"
'Me.Grd_proyec.Row = 0: Me.Grd_proyec.Col = 2: Me.Grd_proyec.CellAlignment = 4
'Me.Grd_proyec.Row = 1: Me.Grd_proyec.Col = 2: Me.Grd_proyec.CellAlignment = 4
Me.Grd_proyec.MergeCells = flexMergeRestrictRows
Me.Grd_proyec.MergeRow(0) = True
Me.Grd_proyec.MergeRow(1) = False
Me.Grd_proyec.ColWidth(0) = 1000: Me.Grd_proyec.TextMatrix(1, 0) = Anno + 1
Me.Grd_proyec.ColWidth(1) = 1000: Me.Grd_proyec.TextMatrix(1, 1) = Anno
Me.Grd_proyec.ColWidth(2) = 1000: Me.Grd_proyec.TextMatrix(1, 2) = "H"
Me.Grd_proyec.ColWidth(3) = 1000: Me.Grd_proyec.TextMatrix(1, 3) = "M"
Me.Grd_proyec.ColWidth(4) = 1000: Me.Grd_proyec.TextMatrix(1, 4) = "Total"
Me.Grd_proyec.ColWidth(5) = 1000: Me.Grd_proyec.TextMatrix(1, 5) = "H"
Me.Grd_proyec.ColWidth(6) = 1000: Me.Grd_proyec.TextMatrix(1, 6) = "M"
Me.Grd_proyec.ColWidth(7) = 1000: Me.Grd_proyec.TextMatrix(1, 7) = "Total"
Me.Grd_proyec.ColWidth(8) = 1000: Me.Grd_proyec.TextMatrix(1, 8) = "H"
Me.Grd_proyec.ColWidth(9) = 1000: Me.Grd_proyec.TextMatrix(1, 9) = "M"
Me.Grd_proyec.ColWidth(10) = 1000: Me.Grd_proyec.TextMatrix(1, 10) = "Total"
Me.Grd_proyec.ColWidth(11) = 1000: Me.Grd_proyec.TextMatrix(1, 11) = "Dec."
Me.Grd_proyec.ColWidth(12) = 1000: Me.Grd_proyec.TextMatrix(1, 12) = "Aprox."
Me.Grd_proyec.ColWidth(13) = 1000: Me.Grd_proyec.TextMatrix(1, 13) = ""
Me.Grd_proyec.ColWidth(14) = 1000: Me.Grd_proyec.TextMatrix(1, 14) = "Máximas"

'Me.Grd_proyec.ColWidth(2) = 1500
'Me.Grd_proyec.ColWidth(3) = 1500
End Sub
Sub Grillainicial2()
Me.Grd_proyec.Clear
Me.Grd_proyec.Rows = 3: Me.Grd_proyec.FixedRows = 2
Me.Grd_proyec.Cols = 15: Me.Grd_proyec.FixedCols = 2
Me.Grd_proyec.FormatString = "^ NIVELES|^ CURSOS|^ RESERVA ACTUAL|^ RESERVA ACTUAL|^ RESERVA ACTUAL|^ POSTULANTES MAT. " & Anno + 1 & "|^ POSTULANTES MAT. " & Anno + 1 & "|^ POSTULANTES MAT. " & Anno + 1 & "|^ MAT. PROBABLE|^ MAT. PROBABLE|^ MAT. PROBABLE|^ CURSOS " & Anno + 1 & "|^ CURSOS " & Anno + 1 & "|^ CAPACIDAD|^ VACANTES"
'Me.Grd_proyec.Row = 0: Me.Grd_proyec.Col = 2: Me.Grd_proyec.CellAlignment = 4
'Me.Grd_proyec.Row = 1: Me.Grd_proyec.Col = 2: Me.Grd_proyec.CellAlignment = 4
Me.Grd_proyec.MergeCells = flexMergeRestrictRows
Me.Grd_proyec.MergeRow(0) = True
Me.Grd_proyec.MergeRow(1) = False
Me.Grd_proyec.ColWidth(0) = 1000: Me.Grd_proyec.TextMatrix(1, 0) = Anno + 1
Me.Grd_proyec.ColWidth(1) = 1000: Me.Grd_proyec.TextMatrix(1, 1) = Anno
Me.Grd_proyec.ColWidth(2) = 1100: Me.Grd_proyec.TextMatrix(1, 2) = "H"
Me.Grd_proyec.ColWidth(3) = 1100: Me.Grd_proyec.TextMatrix(1, 3) = "M"
Me.Grd_proyec.ColWidth(4) = 1100: Me.Grd_proyec.TextMatrix(1, 4) = "Total"
Me.Grd_proyec.ColWidth(5) = 1100: Me.Grd_proyec.TextMatrix(1, 5) = "H"
Me.Grd_proyec.ColWidth(6) = 1100: Me.Grd_proyec.TextMatrix(1, 6) = "M"
Me.Grd_proyec.ColWidth(7) = 1100: Me.Grd_proyec.TextMatrix(1, 7) = "Total"
Me.Grd_proyec.ColWidth(8) = 1000: Me.Grd_proyec.TextMatrix(1, 8) = "H"
Me.Grd_proyec.ColWidth(9) = 1000: Me.Grd_proyec.TextMatrix(1, 9) = "M"
Me.Grd_proyec.ColWidth(10) = 1000: Me.Grd_proyec.TextMatrix(1, 10) = "Total"
Me.Grd_proyec.ColWidth(11) = 1000: Me.Grd_proyec.TextMatrix(1, 11) = "Dec."
Me.Grd_proyec.ColWidth(12) = 1000: Me.Grd_proyec.TextMatrix(1, 12) = "Aprox."
Me.Grd_proyec.ColWidth(14) = 1000: Me.Grd_proyec.TextMatrix(1, 14) = "Máximas"
'Me.Grd_proyec.ColWidth(2) = 1500
'Me.Grd_proyec.ColWidth(3) = 1500
End Sub
Sub Grillainicial3()
Me.Grd_proyec.Clear
Me.Grd_proyec.Rows = 3: Me.Grd_proyec.FixedRows = 2
Me.Grd_proyec.Cols = 15: Me.Grd_proyec.FixedCols = 2
Me.Grd_proyec.FormatString = "^ NIVELES|^ CURSOS|^ RESERVAS MAT.|^ RESERVAS MAT.|^ RESERVAS MAT.|^ POSTULANTES MAT. " & Anno + 1 & "|^ POSTULANTES MAT. " & Anno + 1 & "|^ POSTULANTES MAT. " & Anno + 1 & "|^ MAT. REAL|^ MAT. REAL|^ MAT. REAL|^ CURSOS " & Anno + 1 & "|^ CURSOS " & Anno + 1 & "|^ CAPACIDAD|^ VACANTES"
'Me.Grd_proyec.Row = 0: Me.Grd_proyec.Col = 2: Me.Grd_proyec.CellAlignment = 4
'Me.Grd_proyec.Row = 1: Me.Grd_proyec.Col = 2: Me.Grd_proyec.CellAlignment = 4
Me.Grd_proyec.MergeCells = flexMergeRestrictRows
Me.Grd_proyec.MergeRow(0) = True
Me.Grd_proyec.MergeRow(1) = False
Me.Grd_proyec.ColWidth(0) = 1000: Me.Grd_proyec.TextMatrix(1, 0) = Anno + 1
Me.Grd_proyec.ColWidth(1) = 1000: Me.Grd_proyec.TextMatrix(1, 1) = Anno
Me.Grd_proyec.ColWidth(3) = 1000: Me.Grd_proyec.TextMatrix(1, 2) = "H"
Me.Grd_proyec.ColWidth(4) = 1000: Me.Grd_proyec.TextMatrix(1, 3) = "M"
Me.Grd_proyec.ColWidth(5) = 1000: Me.Grd_proyec.TextMatrix(1, 4) = "Total"
Me.Grd_proyec.ColWidth(6) = 1000: Me.Grd_proyec.TextMatrix(1, 5) = "H"
Me.Grd_proyec.ColWidth(7) = 1000: Me.Grd_proyec.TextMatrix(1, 6) = "M"
Me.Grd_proyec.ColWidth(8) = 1000: Me.Grd_proyec.TextMatrix(1, 7) = "Total"
Me.Grd_proyec.ColWidth(9) = 1000: Me.Grd_proyec.TextMatrix(1, 8) = "H"
Me.Grd_proyec.ColWidth(10) = 1000: Me.Grd_proyec.TextMatrix(1, 9) = "M"
Me.Grd_proyec.ColWidth(11) = 1000: Me.Grd_proyec.TextMatrix(1, 10) = "Total"
Me.Grd_proyec.ColWidth(12) = 1000: Me.Grd_proyec.TextMatrix(1, 11) = "Dec."
Me.Grd_proyec.ColWidth(13) = 1000: Me.Grd_proyec.TextMatrix(1, 12) = "Aprox."
Me.Grd_proyec.ColWidth(14) = 1000: Me.Grd_proyec.TextMatrix(1, 14) = "Máximas"
'Me.Grd_proyec.ColWidth(2) = 1500
'Me.Grd_proyec.ColWidth(3) = 1500
End Sub

Sub CargaEscenario(Nesc As Integer)
Dim Haycursos As Boolean, CodigoEns As String
'Me.List1.Visible = True
'Me.List2.Visible = True
'Me.List3.Visible = True
'Me.List4.Visible = True
fila = 2
Form_Progress.Label1.Caption = "Generando Vista..."
Form_Progress.Show
Abarra = Val(ngramax) '* largolista
Form_Progress.ProgBar1.MaxValue = Abarra
Abarra = 0
Haycursos = False
FinTotalMatH = 0: FinTotalMatM = 0: FinTotTotalmat = 0
TotMatProbH = 0: TotMatProbM = 0: TotMatProb = 0
TotalPostH = 0: TotalPostM = 0: FinTotalPost = 0
TotalcursosDec = 0: TotalCursosAprox = 0
TotalCapacidad = 0: TotVacMaximas = 0

For t = 1 To Val(ngramax)
    nivel = t
    TotalMatH = 0: TotalMatM = 0: TotTotalmat = 0
    PostH = 0: PostM = 0: totalpost = 0
    Me.Grd_proyec.TextMatrix(fila, 0) = nivel
    rs.CursorLocation = adUseClient
    CodigoEns = Cambionivel(t, 1)
    Tipo = devuelvecampo("codigos_ensenanza", "", "cod_des", "cod_ens ='" & CodigoEns & "'", conn)
    rs.Open "select * from cursos where cod_ens ='" & CodigoEns & "' and num_gra = '" & Cambionivel(t, 2) & "' and cod_jor ='" & jornada & "'order by let_cur", conn
    
    If rs.RecordCount > 0 Then
        cursospornivel = rs.RecordCount
        While Not rs.EOF
            NumGra = rs("num_gra"): Letra = rs("let_cur")
            If UCase(Tipo) = "K" Or UCase(Tipo) = "PK" Then
                curso = UCase(Tipo) & "º" & UCase(Letra)
            ElseIf UCase(Tipo) = "EB" Or UCase(Tipo) = "EM" Then
                curso = NumGra & "º" & Letra & " " & UCase(Tipo)
            End If
            Me.Grd_proyec.TextMatrix(fila, 1) = curso
            'LOS CALCULOS DE LOS CURSOS, SI ENCUENTRA CURSOS OBVIAMENTE
            Totalmat = 0
            
            
            RsAux.CursorLocation = adUseClient
            If Nesc = 1 Then
                RsAux.Open "select count(a.ci_alu) from alu_x_cur a,postulantes p where p.ci_alu=a.ci_alu and p.sex_alu='1' and a.cod_ens ='" & CodigoEns & "' and a.num_gra='" & NumGra & "' and a.let_cur='" & Letra & "' and ucase(a.activo_alu)='SI'", conn
                'Contamos alumnos hombres del curso o sea matricula actual
            ElseIf Nesc = 2 Then
                RsAux.Open "select count(a.ci_alu) from alu_x_cur a, matriculas m, postulantes p where p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and p.sex_alu='1' and m.reserva=1 and a.cod_ens ='" & CodigoEns & "' and a.num_gra='" & NumGra & "' and a.let_cur='" & Letra & "' and ucase(a.activo_alu)='SI'", conn
                'Contamos alumnos hombres matriculados
            ElseIf Nesc = 3 Then
                ' No tenemos datos
            End If
            
            If RsAux(0) > 0 Then
                Me.Grd_proyec.TextMatrix(fila, 2) = RsAux(0)
            Else
                Me.Grd_proyec.TextMatrix(fila, 2) = 0
            End If
            Totalmat = Totalmat + RsAux(0) ' Acumulo el total de hombres mat.actual%
            TotalMatH = TotalMatH + RsAux(0)
            RsAux.Close
            
            If Nesc = 1 Then
                RsAux.Open "select count(a.ci_alu) from alu_x_cur a,postulantes p where p.ci_alu=a.ci_alu and p.sex_alu='2' and a.cod_ens ='" & CodigoEns & "' and a.num_gra='" & NumGra & "' and a.let_cur='" & Letra & "' and ucase(a.activo_alu)='SI'", conn
                'Contamos alumnos mujeres del curso o sea matricula actual
            ElseIf Nesc = 2 Then
                RsAux.Open "select count(a.ci_alu) from alu_x_cur a, matriculas m, postulantes p where p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and p.sex_alu='2' and m.reserva=1 and a.cod_ens ='" & CodigoEns & "' and a.num_gra='" & NumGra & "' and a.let_cur='" & Letra & "' and ucase(a.activo_alu)='SI'", conn
                'Contamos alumnas mujeres matriculados
            ElseIf Nesc = 3 Then
            
            End If
            
            If RsAux(0) > 0 Then
                Me.Grd_proyec.TextMatrix(fila, 3) = RsAux(0)
            Else
                Me.Grd_proyec.TextMatrix(fila, 4) = 0
            End If
            Totalmat = Totalmat + RsAux(0)
            TotalMatM = TotalMatM + RsAux(0) ' Acumulo el total de mujeres mat.actual%
            RsAux.Close
            TotTotalmat = TotTotalmat + Totalmat
            Me.Grd_proyec.TextMatrix(fila, 4) = Totalmat
            rs.MoveNext
            Me.Grd_proyec.Rows = Me.Grd_proyec.Rows + 1
            fila = fila + 1
        Wend
        Haycursos = True
    Else
        cursospornivel = 1
        Me.Grd_proyec.Rows = Me.Grd_proyec.Rows + 1
        fila = fila + 1
    End If
    rs.Close
    
    'LOS CALCULOS DEL NIVEL, DESDE CANTIDAD DE POSTULANTES HACIA ADELANTE...LLEGANDO A VACANTES MAXIMAS
    
    If Nesc = 1 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.sex_alu='1' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos todos los postulantes hombres
    ElseIf Nesc = 2 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.matriculado_alu=1 and p.sex_alu='1' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos los hombres postulantes matriculados
    ElseIf Nesc = 3 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.matriculado_alu=1 and p.sex_alu='1' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos los hombres postulantes matriculados como anteriormente
    End If
    
    If rs.RecordCount > 0 Then
        PostH = rs.RecordCount
    Else
        PostH = 0
    End If
    rs.Close
    Me.Grd_proyec.TextMatrix(fila - cursospornivel, 5) = PostH ' AQUI IMPRIMO LOS HOMBRES POSTULANTES AL AÑO PROX.
    totalpost = totalpost + PostH
    rs.CursorLocation = adUseClient
    If Nesc = 1 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.sex_alu='2' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos todos las mujeres postulantes
    ElseIf Nesc = 2 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.matriculado_alu=1 and p.sex_alu='2' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos las mujeres postulantes matriculados
    ElseIf Nesc = 3 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.matriculado_alu=1 and p.sex_alu='2' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos las mujeres postulantes matriculados como anteriormente
    End If
        
    If rs.RecordCount > 0 Then
        PostM = rs.RecordCount
    Else
        PostM = 0
    End If
    rs.Close
       
    Me.Grd_proyec.TextMatrix(fila - cursospornivel, 6) = PostM   ' AQUI IMPRIMO LA MUJERES POSTULANTES AL AÑO PROX.
    totalpost = totalpost + PostM
    Me.Grd_proyec.TextMatrix(fila - cursospornivel, 7) = totalpost
    
    For te = 2 To Me.Grd_proyec.Cols - 1
        Me.Grd_proyec.Row = fila
        Me.Grd_proyec.Col = te
        Me.Grd_proyec.CellBackColor = &H8000000F
    Next te
    
    'IMPRIMO SUBTOTALES DE LA SECCION
    Me.Grd_proyec.TextMatrix(fila, 0) = "TOTALES"
    Me.Grd_proyec.TextMatrix(fila, 1) = "NIVEL :"
    Me.Grd_proyec.TextMatrix(fila, 2) = TotalMatH
    Me.Grd_proyec.TextMatrix(fila, 3) = TotalMatM
    Me.Grd_proyec.TextMatrix(fila, 4) = TotTotalmat
    Me.Grd_proyec.TextMatrix(fila, 5) = PostH
    Me.Grd_proyec.TextMatrix(fila, 6) = PostM
    Me.Grd_proyec.TextMatrix(fila, 7) = totalpost
    Me.Grd_proyec.TextMatrix(fila - cursospornivel, 8) = Val(Me.Grd_proyec.TextMatrix(fila, 2)) + Val(Me.Grd_proyec.TextMatrix(fila, 5))
    Me.Grd_proyec.TextMatrix(fila - cursospornivel, 9) = Val(Me.Grd_proyec.TextMatrix(fila, 3)) + Val(Me.Grd_proyec.TextMatrix(fila, 6))
    Me.Grd_proyec.TextMatrix(fila - cursospornivel, 10) = Val(Me.Grd_proyec.TextMatrix(fila - cursospornivel, 8)) + Val(Me.Grd_proyec.TextMatrix(fila - cursospornivel, 9))
    Me.Grd_proyec.TextMatrix(fila, 8) = Me.Grd_proyec.TextMatrix(fila - cursospornivel, 8)
    Me.Grd_proyec.TextMatrix(fila, 9) = Me.Grd_proyec.TextMatrix(fila - cursospornivel, 9)
    Me.Grd_proyec.TextMatrix(fila, 10) = Me.Grd_proyec.TextMatrix(fila - cursospornivel, 10)
    
    If Val(Me.Grd_proyec.TextMatrix(fila - cursospornivel, 10)) > 0 Then
        Me.Grd_proyec.TextMatrix(fila - cursospornivel, 11) = Round(Val(Me.Grd_proyec.TextMatrix(fila, 10)) / Val(Me.txt_alu_cur.Text), 3)
    Else
        Me.Grd_proyec.TextMatrix(fila - cursospornivel, 11) = 0
    End If
    ' Cursos en decimal
    Me.Grd_proyec.TextMatrix(fila, 11) = Me.Grd_proyec.TextMatrix(fila - cursospornivel, 11)
    ' Cursos en Entero
    ' int
    ' Colereamos la celda que editable, Formación de cursos
    Me.Grd_proyec.Row = fila - cursospornivel: Me.Grd_proyec.Col = 12
    Me.Grd_proyec.CellBackColor = &H8000000F
    Me.Grd_proyec.CellForeColor = &HFF0000
    If CSng(Me.Grd_proyec.TextMatrix(fila, 11)) > Int(Val(Me.Grd_proyec.TextMatrix(fila, 11))) Then
        
        Me.Grd_proyec.TextMatrix(fila - cursospornivel, 12) = Int(Val(Me.Grd_proyec.TextMatrix(fila, 11))) + 1
    Else
        Me.Grd_proyec.TextMatrix(fila - cursospornivel, 12) = Int(Val(Me.Grd_proyec.TextMatrix(fila, 11)))
    End If
    Me.Grd_proyec.TextMatrix(fila, 12) = Me.Grd_proyec.TextMatrix(fila - cursospornivel, 12)
    Me.Grd_proyec.TextMatrix(fila - cursospornivel, 13) = Val(Me.Grd_proyec.TextMatrix(fila, 12)) * Val(Me.txt_alu_cur)
    Me.Grd_proyec.TextMatrix(fila, 13) = Me.Grd_proyec.TextMatrix(fila - cursospornivel, 13)
    Me.Grd_proyec.TextMatrix(fila - cursospornivel, 14) = Val(Me.Grd_proyec.TextMatrix(fila, 13)) - Val(Me.Grd_proyec.TextMatrix(fila, 10))
    Colorcel = IIf(Val(Me.Grd_proyec.TextMatrix(fila - cursospornivel, 14)) < 0, &HFF&, &H0&): Me.Grd_proyec.Row = fila: Me.Grd_proyec.Col = 14: Me.Grd_proyec.CellForeColor = Colorcel
    Me.Grd_proyec.TextMatrix(fila, 14) = Me.Grd_proyec.TextMatrix(fila - cursospornivel, 14)
    Colorcel = IIf(Val(Me.Grd_proyec.TextMatrix(fila, 14)) < 0, &HFF&, &H0&): Me.Grd_proyec.Row = fila: Me.Grd_proyec.Col = 14: Me.Grd_proyec.CellForeColor = Colorcel
    
    'ACUMULO TOTALES FINALES
    FinTotalMatH = FinTotalMatH + Val(Me.Grd_proyec.TextMatrix(fila, 2))
    FinTotalMatM = FinTotalMatM + Val(Me.Grd_proyec.TextMatrix(fila, 3))
    FinTotTotalmat = FinTotTotalmat + Val(Me.Grd_proyec.TextMatrix(fila, 4))
    TotalPostH = TotalPostH + Val(Me.Grd_proyec.TextMatrix(fila, 5))
    TotalPostM = TotalPostM + Val(Me.Grd_proyec.TextMatrix(fila, 6))
    FinTotalPost = FinTotalPost + Val(Me.Grd_proyec.TextMatrix(fila, 7))
    TotMatProbH = TotMatProbH + Val(Me.Grd_proyec.TextMatrix(fila, 8))
    TotMatProbM = TotMatProbM + Val(Me.Grd_proyec.TextMatrix(fila, 9))
    TotMatProb = TotMatProb + Val(Me.Grd_proyec.TextMatrix(fila, 10))
    TotalcursosDec = TotalcursosDec + Val(Me.Grd_proyec.TextMatrix(fila, 11))
    TotalCursosAprox = TotalCursosAprox + Val(Me.Grd_proyec.TextMatrix(fila, 12))
    TotalCapacidad = TotalCapacidad + Val(Me.Grd_proyec.TextMatrix(fila, 13))
    TotVacMaximas = TotVacMaximas + Val(Me.Grd_proyec.TextMatrix(fila, 14))
    
    
    
    Me.Grd_proyec.Rows = Me.Grd_proyec.Rows + 2
    fila = fila + 2
    Abarra = Abarra + 1
    Form_Progress.ProgBar1.ShowProgress Abarra
    Form_Progress.SetFocus
    DoEvents


Next t
    'PINTO DE GRIS LA SECCIÓN DE TOTALES FINALES
    For te = 2 To Me.Grd_proyec.Cols - 1
        Me.Grd_proyec.Row = fila
        Me.Grd_proyec.Col = te
        Me.Grd_proyec.CellBackColor = &H8000000F
    Next te
    'IMPRIMO TOTALES FINALES
    Me.Grd_proyec.TextMatrix(fila, 0) = "TOTALES"
    Me.Grd_proyec.TextMatrix(fila, 1) = "COLEGIO :"
    Me.Grd_proyec.TextMatrix(fila, 2) = FinTotalMatH
    Me.Grd_proyec.TextMatrix(fila, 3) = FinTotalMatM
    Me.Grd_proyec.TextMatrix(fila, 4) = FinTotTotalmat
    Me.Grd_proyec.TextMatrix(fila, 5) = TotalPostH
    Me.Grd_proyec.TextMatrix(fila, 6) = TotalPostM
    Me.Grd_proyec.TextMatrix(fila, 7) = FinTotalPost
    Me.Grd_proyec.TextMatrix(fila, 8) = TotMatProbH
    Me.Grd_proyec.TextMatrix(fila, 9) = TotMatProbM
    Me.Grd_proyec.TextMatrix(fila, 10) = TotMatProb
    Me.Grd_proyec.TextMatrix(fila, 11) = TotalcursosDec
    Me.Grd_proyec.TextMatrix(fila, 12) = TotalCursosAprox
    Me.Grd_proyec.TextMatrix(fila, 13) = TotalCapacidad
    Me.Grd_proyec.TextMatrix(fila, 14) = TotVacMaximas
    
    Me.txt_actuales(0).Text = TotMatProbH
    Me.txt_actuales(1).Text = TotMatProbM

Unload Form_Progress
End Sub
Sub TraeValores(Nesc As Integer, Mensaje As String)
Dim Haycursos As Boolean, CodigoEns As String
fila = 2
Form_Progress.Label1.Caption = Mensaje
Form_Progress.Show
Abarra = Val(ngramax) '* largolista
Form_Progress.ProgBar1.MaxValue = Abarra
Abarra = 0
Haycursos = False
FinTotalMatH = 0: FinTotalMatM = 0: FinTotTotalmat = 0
TotMatProbH = 0: TotMatProbM = 0: TotMatProb = 0
TotalPostH = 0: TotalPostM = 0: FinTotalPost = 0
TotalcursosDec = 0: TotalCursosAprox = 0
TotalCapacidad = 0: TotVacMaximas = 0
TotalMatH = 0: TotalMatM = 0: TotTotalmat = 0
PostH = 0: PostM = 0: totalpost = 0
For t = 1 To Val(ngramax)
    nivel = t
    rs.CursorLocation = adUseClient
    CodigoEns = Cambionivel(t, 1)
    Tipo = devuelvecampo("codigos_ensenanza", "", "cod_des", "cod_ens ='" & CodigoEns & "'", conn)
    rs.Open "select * from cursos where cod_ens ='" & CodigoEns & "' and num_gra = '" & Cambionivel(t, 2) & "' and cod_jor ='" & jornada & "'order by let_cur", conn
    If rs.RecordCount > 0 Then
        cursospornivel = rs.RecordCount
        While Not rs.EOF
            'LOS CALCULOS DE LOS CURSOS, SI ENCUENTRA CURSOS OBVIAMENTE
            Totalmat = 0
            NumGra = rs("num_gra"): Letra = rs("let_cur")
            RsAux.CursorLocation = adUseClient
            If Nesc = 1 Then
                RsAux.Open "select count(a.ci_alu) from alu_x_cur a, postulantes p where p.ci_alu=a.ci_alu and p.sex_alu='1' and a.cod_ens ='" & CodigoEns & "' and a.num_gra='" & NumGra & "' and a.let_cur='" & Letra & "' and ucase(a.activo_alu)='SI'", conn
                'Contamos alumnos hombres del curso o sea matricula actual
            ElseIf Nesc = 2 Then
                RsAux.Open "select count(a.ci_alu) from alu_x_cur a, matriculas m, postulantes p where p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and p.sex_alu='1' and m.reserva=1 and a.cod_ens ='" & CodigoEns & "' and a.num_gra='" & NumGra & "' and a.let_cur='" & Letra & "' and ucase(a.activo_alu)='SI'", conn
                'Contamos alumnos hombres matriculados
            ElseIf Nesc = 3 Then
                ' No tenemos datos
            End If
            TotalMatH = TotalMatH + RsAux(0)
            RsAux.Close
            If Nesc = 1 Then
                RsAux.Open "select count(a.ci_alu) from alu_x_cur a,postulantes p where p.ci_alu=a.ci_alu and p.sex_alu='2' and a.cod_ens ='" & CodigoEns & "' and a.num_gra='" & NumGra & "' and a.let_cur='" & Letra & "' and ucase(a.activo_alu)='SI'", conn
                'Contamos alumnos mujeres del curso o sea matricula actual
            ElseIf Nesc = 2 Then
                RsAux.Open "select count(a.ci_alu) from alu_x_cur a, matriculas m, postulantes p where p.ci_alu=m.ci_alu and m.ci_alu=a.ci_alu and p.sex_alu='2' and m.reserva=1 and a.cod_ens ='" & CodigoEns & "' and a.num_gra='" & NumGra & "' and a.let_cur='" & Letra & "' and ucase(a.activo_alu)='SI'", conn
                'Contamos alumnas mujeres matriculados
            ElseIf Nesc = 3 Then
            
            End If
             TotalMatM = TotalMatM + RsAux(0)
            RsAux.Close
            rs.MoveNext
        Wend
        Haycursos = True
    Else
        cursospornivel = 1
    End If
    rs.Close
    'LOS CALCULOS DEL NIVEL, DESDE CANTIDAD DE POSTULANTES HACIA ADELANTE...LLEGANDO A VACANTES MAXIMAS
    If Nesc = 1 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.sex_alu='1' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos todos los postulantes hombres
    ElseIf Nesc = 2 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.matriculado_alu=1 and p.sex_alu='1' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos los hombres postulantes matriculados
    ElseIf Nesc = 3 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.matriculado_alu=1 and p.sex_alu='1' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos los hombres postulantes matriculados como anteriormente
    End If
    
    If rs.RecordCount > 0 Then
        PostH = rs.RecordCount
    Else
        PostH = 0
    End If
    rs.Close
    TotalPostH = TotalPostH + PostH
    rs.CursorLocation = adUseClient
    If Nesc = 1 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.sex_alu='2' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos todos las mujeres postulantes
    ElseIf Nesc = 2 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.matriculado_alu=1 and p.sex_alu='2' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos las mujeres postulantes matriculados
    ElseIf Nesc = 3 Then
        rs.Open "select p.ci_alu from postulaciones pc, postulantes p where pc.ci_alu = p.ci_alu and p.matriculado_alu=1 and p.sex_alu='2' and p.cod_ens ='" & Cambionivel(t, 3) & "' and p.num_gra='" & Cambionivel(t, 4) & "' and pc.cod_jor ='" & jornada & "' and pc.anno_pos_alu ='" & Anhoactual + 1 & "'", conn
        'Calculamos las mujeres postulantes matriculados como anteriormente
    End If
        
    If rs.RecordCount > 0 Then
        PostM = rs.RecordCount
    Else
        PostM = 0
    End If
    rs.Close
    TotalPostM = TotalPostM + PostM
    Abarra = Abarra + 1
    Form_Progress.ProgBar1.ShowProgress Abarra
    Form_Progress.SetFocus
    DoEvents
Next t
Me.txt_actuales(0) = Val(Me.txt_actuales(0)) + (TotalMatH + TotalPostH)
Me.txt_actuales(1) = Val(Me.txt_actuales(1)) + (TotalMatM + TotalPostM)
Unload Form_Progress
End Sub
Private Sub btn_acep_cursos_Click()
Dim Aprox As Integer, Capacidad As Single, Vacmax As Single, FilaUlt As Integer
Dim Encuentre As Boolean
If Val(Me.txt_ncursos.Text) >= 0 Then
    fila = Me.Grd_proyec.Row
    Aprox = Traecursos(Me.Grd_proyec.TextMatrix(fila, 12))
    Capacidad = Traecursos(Me.Grd_proyec.TextMatrix(fila, 13))
    Vacmax = Traecursos(Me.Grd_proyec.TextMatrix(fila, 14))
    Me.Grd_proyec.TextMatrix(fila, 12) = Me.txt_ncursos.Text
    Me.Grd_proyec.TextMatrix(fila, 13) = Val(Me.txt_ncursos.Text) * Val(Me.txt_alu_cur.Text)
    Me.Grd_proyec.TextMatrix(fila, 14) = Val(Me.Grd_proyec.TextMatrix(fila, 13)) - Val(Me.Grd_proyec.TextMatrix(fila, 10))
    Colorcel = IIf(Val(Me.Grd_proyec.TextMatrix(fila, 14)) < 0, &HFF&, &H0&): Me.Grd_proyec.Row = fila: Me.Grd_proyec.Col = 14: Me.Grd_proyec.CellForeColor = Colorcel
    
    Filainicial = Me.Grd_proyec.Row
    While Not Encuentre
        fila = fila + 1
        If Me.Grd_proyec.TextMatrix(fila, 13) <> "" Then
            Encuentre = True
        End If
    Wend
    'Modificacion de Subtotales
    Me.Grd_proyec.TextMatrix(fila, 12) = Me.Grd_proyec.TextMatrix(Filainicial, 12)
    Me.Grd_proyec.TextMatrix(fila, 13) = Me.Grd_proyec.TextMatrix(Filainicial, 13)
    Me.Grd_proyec.TextMatrix(fila, 14) = Me.Grd_proyec.TextMatrix(Filainicial, 14)
    Colorcel = IIf(Val(Me.Grd_proyec.TextMatrix(fila, 14)) < 0, &HFF&, &H0&): Me.Grd_proyec.Row = fila: Me.Grd_proyec.Col = 14: Me.Grd_proyec.CellForeColor = Colorcel
    Me.Grd_proyec.TextMatrix(Filainicial, 12) = Me.Grd_proyec.TextMatrix(Filainicial, 12) & " " & " Editado"
    'Establecer nuevos totales, después de la edición.....
    
    FilaUlt = Me.Grd_proyec.Rows - 1
    If Aprox > Val(Me.Grd_proyec.TextMatrix(fila, 12)) Then
        Me.Grd_proyec.TextMatrix(FilaUlt, 12) = Val(Me.Grd_proyec.TextMatrix(FilaUlt, 12)) + (Aprox - Val(Me.Grd_proyec.TextMatrix(fila, 12)))
    ElseIf Aprox < Val(Me.Grd_proyec.TextMatrix(fila, 12)) Then
        Me.Grd_proyec.TextMatrix(FilaUlt, 12) = Val(Me.Grd_proyec.TextMatrix(FilaUlt, 12)) + (Val(Me.Grd_proyec.TextMatrix(fila, 12)) - Aprox)
    End If
    If Capacidad > Val(Me.Grd_proyec.TextMatrix(fila, 13)) Then
        Me.Grd_proyec.TextMatrix(FilaUlt, 13) = Val(Me.Grd_proyec.TextMatrix(FilaUlt, 13)) + (Capacidad - Val(Me.Grd_proyec.TextMatrix(fila, 13)))
    ElseIf Capacidad < Val(Me.Grd_proyec.TextMatrix(fila, 13)) Then
        Me.Grd_proyec.TextMatrix(FilaUlt, 13) = Val(Me.Grd_proyec.TextMatrix(FilaUlt, 13)) + (Val(Me.Grd_proyec.TextMatrix(fila, 13)) - Capacidad)
    End If
    
    If Vacmax > Val(Me.Grd_proyec.TextMatrix(fila, 14)) Then
        Me.Grd_proyec.TextMatrix(FilaUlt, 14) = Val(Me.Grd_proyec.TextMatrix(FilaUlt, 14)) + (Vacmax - Val(Me.Grd_proyec.TextMatrix(fila, 14)))
    ElseIf Vacmax < Val(Me.Grd_proyec.TextMatrix(fila, 14)) Then
        Me.Grd_proyec.TextMatrix(FilaUlt, 14) = Val(Me.Grd_proyec.TextMatrix(FilaUlt, 14)) + (Val(Me.Grd_proyec.TextMatrix(fila, 14)) - Vacmax)
    End If
    Call btn_can_cursos_Click
End If

End Sub

Private Sub btn_calc_proy_Click()
If Me.cmb_mod_proy.Text <> "" And Me.cmb_mod_proy.Text <> "" And Me.txt_alu_cur.Text <> "" Then
    If Val(Me.txt_alu_cur) > 0 And Val(Me.txt_alu_cur) <= 45 Then
        Me.txt_actuales(0) = 0: Me.txt_actuales(1) = 0
        Me.txt_estado(0) = 0: Me.txt_estado(1) = 0
        CodDes = devuelvecampo("codigos_ensenanza", "", "cod_des", "des_ens = '" & Me.cmb_mod_proy.Text & "'", conn)
        Call CargaCambionivel(CodDes)
        jornada = devuelvecampo("jornadas", "", "cod_jor", "des_jor ='" & Me.cmb_jor_proy & "'", conn)
        Anhoactual = Anno
        If Escenario = 1 Then
            Call Grillainicial1
        ElseIf Escenario = 2 Then
            Call Grillainicial2
        ElseIf Escenario = 3 Then
            Call Grillainicial3
        End If
        If Escenario >= 1 And Escenario <= 3 Then
            If UCase(CodDes) = "EB" Then
                Call CargaEscenario(Escenario)
                Call CargaCambionivel("EM")
                Call TraeValores(Escenario, "Calculando Enseñanza Media...")
            ElseIf UCase(CodDes) = "EM" Then
                Call CargaEscenario(Escenario)
                Call CargaCambionivel("EB")
                Call TraeValores(Escenario, "Calculando Enseñanza Básica...")
            Else
                Call CargaEscenario(Escenario)
            End If
        
        Me.txt_estado(0) = Val(Me.txt_autoriz(0)) - Val(Me.txt_actuales(0))
        Me.txt_estado(1) = Val(Me.txt_autoriz(1)) - Val(Me.txt_actuales(1))
        Me.btn_gen_rep.Enabled = True
        End If
        
    Else
        MsgBox ("Rango de alumnos por cursos [1 a 45]")
        Me.txt_alu_cur.SetFocus
        SendKeys "{home}+{end}"
    End If
Else
    MsgBox ("Faltan opciones necesarias ")
End If
End Sub

Private Sub btn_can_cursos_Click()
Me.Frame_Criterios.Enabled = True
Me.frame_salida.Enabled = True
Me.Frame_Esc1.Enabled = True
Me.frame_ncursos.Visible = False
End Sub

Private Sub Btn_Cancelar_Click()
Unload Me
End Sub

Private Sub btn_gen_rep_Click()
Call CreaBD(DirAplicacion & "\GesTemp.mdb")
columnasnum = Me.Grd_proyec.Cols
Set Rendim = DBEngine.Workspaces(0).OpenDatabase(DirAplicacion & "\GesTemp.mdb")
Call CreaTabla(DirAplicacion & "\GesTemp.mdb", "Detalles", "16,10")
For R = 2 To Me.Grd_proyec.Rows - 1
    detal = "": ins = "": horiz = ""
    For t = 0 To Me.Grd_proyec.Cols - 1
        If Me.Grd_proyec.TextMatrix(R, t) = "" Then
            detal = detal & "Null , "
            'horiz = horiz & "'____________________________________' ,"
        Else
            detal = detal & "'" & Me.Grd_proyec.TextMatrix(R, t) & "' , "
            'horiz = horiz & "'____________________________________' ,"
        End If
        ins = ins & "C" & CStr(t + 1) & ", "
    Next t
    ins = Left(ins, Len(ins) - 2): ins = "(" & ins & ")"
    detal = Left(detal, Len(detal) - 2): detal = "(" & detal & ")"
    'horiz = Left(horiz, Len(horiz) - 2): horiz = "(" & horiz & ")"
    a = "insert into Detalles " & ins & " values " & detal
    Rendim.Execute a
    'horiz = Left(horiz, Len(horiz) - 2): horiz = "(" & horiz & ")"
'    a = "insert into Detalles " & ins & " values " & detal
'    Rendim.Execute a
    'b = "insert into Detalles " & ins & " values " & horiz
    'If R >= 1 Then
    '    Rendim.Execute b
    'End If
Next R
Rendim.Close
    Titulo = UCase(Form_Proyec_Vac.Caption)
    Nombrecol = devuelvecampo("establecimientos", "", "nom_est", "nom_est <> ''", conn)
    Direccol = devuelvecampo("establecimientos", "", "dir_est", "dir_est <> ''", conn)
    ComunaCol = devuelvecampo("establecimientos", "", "localidad_est", "localidad_est <> ''", conn)
    Form_main.CrystalReport.WindowTitle = Titulo
    Form_main.CrystalReport.Formulas(0) = "nomcol = '" & Nombrecol & "'"
    Form_main.CrystalReport.Formulas(1) = "dircol = '" & Direccol & "'"
    Form_main.CrystalReport.Formulas(2) = "comunacol = '" & ComunaCol & "'"
    Form_main.CrystalReport.Formulas(3) = "titulo= '" & Titulo & "'"
    Form_main.CrystalReport.Formulas(4) = "hora = '" & Time & "'"
    Form_main.CrystalReport.Formulas(5) = "Tipens = '" & Me.cmb_mod_proy.Text & "'"
    Form_main.CrystalReport.Formulas(6) = "AnhoAct = '" & Anno & "'"
    Form_main.CrystalReport.Formulas(7) = "AnhoProx = '" & Anno + 1 & "'"
    Form_main.CrystalReport.Formulas(8) = "AutHom = '" & Me.txt_autoriz(0).Text & "'"
    Form_main.CrystalReport.Formulas(9) = "AutMuj = '" & Me.txt_autoriz(1).Text & "'"
    Form_main.CrystalReport.Formulas(10) = "ActHom = '" & Me.txt_actuales(0).Text & "'"
    Form_main.CrystalReport.Formulas(11) = "ActMuj = '" & Me.txt_actuales(1).Text & "'"
    Form_main.CrystalReport.Formulas(12) = "EstHom = '" & Me.txt_estado(0).Text & "'"
    Form_main.CrystalReport.Formulas(13) = "EstMuj = '" & Me.txt_estado(1).Text & "'"
    
    
    If Escenario = 1 Then
        Tipoinforme = "Vacantes Proyectadas"
        Encab1 = "MATRÍCULA ACTUAL": Encab2 = "POSTULANTES 2004": Encab3 = "MAT. PROBABLE": Encab4 = "CURSOS " & Anno + 1
    ElseIf Escenario = 2 Then
        Tipoinforme = "Vacantes Reales"
        Encab1 = "RESERVA ACTUAL": Encab2 = "POSTULANTES 2004": Encab3 = "MAT. PROBABLE": Encab4 = "CURSOS " & Anno + 1
    ElseIf Escenario = 3 Then
        Tipoinforme = "Vacantes Finales"
        Encab1 = "RESERVAS MAT.": Encab2 = "POST.MAT.2004": Encab3 = "MATRÍCULA REAL": Encab4 = "CURSOS " & Anno + 1
    End If
    Form_main.CrystalReport.Formulas(14) = "Encab1 = '" & Encab1 & "'"
    Form_main.CrystalReport.Formulas(15) = "Encab2 = '" & Encab2 & "'"
    Form_main.CrystalReport.Formulas(16) = "Encab3 = '" & Encab3 & "'"
    Form_main.CrystalReport.Formulas(17) = "Encab4 = '" & Encab4 & "'"
    Form_main.CrystalReport.Formulas(18) = "TipoInforme = '" & Tipoinforme & "'"
    Form_main.CrystalReport.Formulas(19) = "Aluxcur= '" & Me.txt_alu_cur.Text & "'"
    Form_main.CrystalReport.Formulas(20) = "Jornada= '" & Me.cmb_jor_proy.Text & "'"
    Form_main.CrystalReport.ReportFileName = DirAplicacion & "\rpt\Proyec_vac.rpt"
    Form_main.CrystalReport.DataFiles(0) = DirAplicacion & "\GesTemp.mdb"
    Form_main.CrystalReport.WindowState = crptMaximized
    Form_main.CrystalReport.ReplaceSelectionFormula ("")
    'Form_main.CrystalReport.Destination = crptToFile
    'Form_main.CrystalReport.PrintFileType = crptHTML30
    'Form_main.CrystalReport.PrintFileName = "c:\vacantes.html" & str(Date)
    Form_main.CrystalReport.Action = 1
    Form_main.CrystalReport.ReplaceSelectionFormula ("")
    Call LimpiaFormulas(Form_main.CrystalReport, 30)
    Kill (DirAplicacion & "\GesTemp.mdb")
    
End Sub

Private Sub Btn_Limpiar_Click()
Me.cmb_mod_proy.Text = ""
Me.cmb_jor_proy.Text = ""
Me.txt_alu_cur.Text = 0
Me.txt_actuales(0) = 0: Me.txt_actuales(1) = 0
Me.txt_estado(0) = 0: Me.txt_estado(1) = 0
Me.btn_gen_rep.Enabled = False
If Escenario = 1 Then
    Call Grillainicial1
ElseIf Escenario = 2 Then
    Call Grillainicial2
ElseIf Escenario = 3 Then
    Call Grillainicial3
End If
End Sub


Private Sub cmb_mod_proy_Click()
Dim CapHom As Integer
Dim CapMuj As Integer
CapHom = 0: CapMuj = 0
des = devuelvecampo("codigos_ensenanza", "", "cod_des", "des_ens = '" & Me.cmb_mod_proy.Text & "'", conn)
dirwin = SpecialDir(&H24) & "\" 'Directorio de Windows
'MsgBox ("En este directorio debe estar el archivo capac.dat " & dirwin)
If UCase(des) = "K" Then
        CapHom = Val(TraeLinea(dirwin & "Capac.dat", 1))
        CapMuj = Val(TraeLinea(dirwin & "Capac.dat", 2))
ElseIf UCase(des) = "EB" Or UCase(des) = "EM" Then
        CapHom = Val(TraeLinea(dirwin & "Capac.dat", 3))
        CapMuj = Val(TraeLinea(dirwin & "Capac.dat", 4))
End If
Me.txt_autoriz(0) = CapHom: Me.txt_autoriz(1) = CapMuj
End Sub

Private Sub Command1_Click()

End Sub

Private Sub Form_Load()
Call Form_main.hideframeimpresion5
If Menuinformes5 = "vacantes" Then
    Me.Frame_proyec.Visible = True
    Me.Opt_destino_proyec(0).Value = True
    Me.txt_ncursos.Text = 0
    Me.txt_autoriz(0) = 0: Me.txt_autoriz(1) = 0
    Me.txt_actuales(0) = 0: Me.txt_actuales(1) = 0
    Me.txt_estado(0) = 0: Me.txt_estado(1) = 0
    Me.frame_ncursos.Visible = False
    Call llenacombo(cmb_mod_proy, "codigos_ensenanza", "des_ens", "order by ord_ens", conn)
    Call llenacombo(cmb_jor_proy, "jornadas", "des_jor", "", conn)
    Me.txt_alu_cur = 0
    Me.btn_gen_rep.Enabled = False
    Set rs = New ADODB.Recordset
    Set RsAux = New ADODB.Recordset
    Me.Height = 7470
    Me.Width = 11865
    Me.Frame_proyec.Top = 120
    Me.Frame_proyec.Left = 129
    If Escenario = 1 Then
        Form_Proyec_Vac.Caption = "Proyección de vacantes año " & Anno + 1 & " (Matrícula actual + Inscritos)"
        Me.Frame_proyec.Caption = "Vacantes Proyectadas"
        Call Grillainicial1
        CentrarForma Me
        Me.Show
    ElseIf Escenario = 2 Then
        Form_Proyec_Vac.Caption = "Proyección de vacantes año " & Anno + 1 & " (Reservas proximo año + Nuevos matriculados)"
        Me.Frame_proyec.Caption = "Vacantes Reales"
        Call Grillainicial2
        CentrarForma Me
        Me.Show
    ElseIf Escenario = 3 Then
        Form_Proyec_Vac.Caption = "Proyección de vacantes año " & Anno + 1 & " (Matriculados antiguos + Matriculados nuevos)"
        Me.Frame_proyec.Caption = "Vacantes Finales"
        Call Grillainicial3
        CentrarForma Me
        Me.Show
    End If
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
Menuinformes5 = ""
End Sub

Private Sub Opt_destino_compprofe_Click(Index As Integer)
If Index = 0 Then
    Form_main.CrystalReport.Destination = crptToWindow
Else
    Form_main.CrystalReport.Destination = crptToPrinter
End If
End Sub

Private Sub Grd_proyec_Click()
If Me.Grd_proyec.Col = 12 Then
fila = Me.Grd_proyec.Row
    If fila > 1 And Me.Grd_proyec.TextMatrix(fila, 0) <> "" And Me.Grd_proyec.TextMatrix(fila, 0) <> "TOTALES" Then
        Me.Frame_Criterios.Enabled = False
        Me.frame_salida.Enabled = False
        Me.Frame_Esc1.Enabled = False
        Me.txt_ncursos.Text = Me.Grd_proyec.TextMatrix(fila, 12)
        Me.frame_ncursos.Visible = True
        Me.txt_ncursos.SetFocus
        SendKeys "{home}+{end}"
    End If
End If
End Sub

Private Sub Grd_proyec_KeyDown(KeyCode As Integer, Shift As Integer)
'If Me.Grd_proyec.Col = 12 Then
'    MsgBox (KeyCode)
'End If
End Sub

Private Sub Grd_proyec_KeyPress(KeyAscii As Integer)
'If Me.Grd_proyec.Col = 12 Then
'    If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then
'        Me.Grd_proyec.Text = Me.Grd_proyec.Text + Chr(KeyAscii)
'        Exit Sub
'    ElseIf KeyAscii = 46 Then
'        Me.Grd_proyec.Text = 1
'        Exit Sub
'    ElseIf KeyAscii = 8 Then
'        Me.Grd_proyec.Text = Mid(Me.Grd_proyec.Text, 1, Len(Me.Grd_proyec.Text) - 1)
'        If Len(Me.Grd_proyec.Text) < 1 Then Me.Grd_proyec.Text = ""
'        Exit Sub
'    End If
'End If
'KeyAscii = 0
End Sub

Private Sub Opt_destino_proyec_Click(Index As Integer)
If Index = 1 Then
    Form_main.CrystalReport.Destination = crptToPrinter
ElseIf Index = 0 Then
    Form_main.CrystalReport.Destination = crptToWindow
End If
End Sub

Private Sub txt_alu_cur_KeyPress(KeyAscii As Integer)
If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then Exit Sub
If KeyAscii = 8 Then Exit Sub
If KeyAscii = 32 Then Exit Sub
KeyAscii = 0
End Sub

Private Sub txt_ncursos_KeyPress(KeyAscii As Integer)
If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then Exit Sub
If KeyAscii = 8 Then Exit Sub
If KeyAscii = 32 Then Exit Sub
KeyAscii = 0
End Sub
