Está en la página 1de 9

PROGRAMACION DEL FORMULARIO ALUMNOS

Option Explicit
' VARIABLE PARA SELECCIONAR LA UBICACION DE LA FOTOGRAFIA
Dim RUTA As String

Private Sub BTNCALCULAR_Click()


Call CALCULAR_NOTA
End Sub

Private Sub BTNIMAGEN_Click()


'PROCESO PARA LOCALIZAR Y VISUALIZAR LA FOTO DEL ESTUDIANTE
RUTA = Application.GetOpenFilename("IMAGENES JPG, *.JPG, IMAGEN JPEG, *.JPEG", 0, "SELECCIONAR IMAGEN")
Image2.Picture = LoadPicture(RUTA)
'DETERMINAR EL TAMAÑO DE LA IMAGEN DENTRO DEL OBJETO
Image2.PictureSizeMode = fmPictureSizeModeZoom
'¡VISUALIZAR LA UBICACION DE LA IMAGEN
TXTRUTA.Text = RUTA
End Sub

Private Sub BTNNUEVO_Click()


Call NUEVO
End Sub

Private Sub BTNREGISTRAR_Click()


Call REGISTRAR
End Sub

Private Sub CBODEPARTAMENTO_Click()


If CBODEPARTAMENTO = "<<SELECCIONE DEPARTAMENTO" Then
CBOPROVINCIA.Clear
CBODISTRITO.Clear
Else
If CBODEPARTAMENTO = "LIMA" Then
CBOPROVINCIA.Clear
Call LLENAR_PROV
CBOPROVINCIA.ListIndex = 0
End If
End If
End Sub
Private Sub LLENAR_PROV()
With CBOPROVINCIA
.AddItem "<<SELECCIONAR SU PROVINCIA>>"
.AddItem "LIMA"
.AddItem "CALLAO"
End With
End Sub
Private Sub CBOPROVINCIA_Click()
'COLOCAR TODAS LAS PROVINCIAS DE LIMA
If CBOPROVINCIA = "<<SELECCIONAR SU PROVINCIA>>" Then
'BORRAR EL CONTENIDO DE CUADRO COMBINADO DISTRITO
CBODISTRITO.Clear
If CBOPROVINCIA = "LIMA" Then
CBODISTRITO.Clear
Call LLENAR_DSTR_LIMA
CBODISTRITO.ListIndex = 0
End If
If CBOPROVINCIA = "CALLAO" Then
CBODISTRITO.Clear
Call LLENAR_DSTR_CALLAO
CBODISTRITO.ListIndex = 0
End If
End If
End Sub

Private Sub FRMCERRAR_Click()


'CERRAR VENTANA ALUMNOS
FRMALUMNOS.Hide
'ABRIR LA VENTANA PRINCIPAL
FRMPRINCIPAL.Show
End Sub

Private Sub LBLESTADO_Click()


If LBLESTADO.Caption = "APROBADO" Then
LBLESTADO.ForeColor = &H400000 'AZUL
Else
LBLESTADO.ForeColor = &HFF 'ROJO
End If
End Sub

Private Sub TXTDNI_Change()


'DETERMINAR EL NUMERO MAXIMO DE NUMEROS
TXTDNI.MaxLength = 8
End Sub

Private Sub UserForm_Activate()


'SELECCIONAR LA TABLA ALUMNOS
Sheets("ALUMNOS").Activate
CODIGO_ALUMNO
Call LLENAR_COMBO
Call NUEVO
Call INABILITAR_BOTONES
Call TABLA
End Sub
Private Sub TABLA()
'CARGAR LA TABLA ALUMNOS EN EL OBJETO CUADRO DE LISTA
LSTALUMNOS.RowSource = "ALUMNOS"
'VISUALIZAR LOS ENCABEZADOS DE LAS COLUMNAS DE LA TABLA ALUMNOS
LSTALUMNOS.ColumnHeads = True
'DETERMINAR EL NUMERO DE COLUMNAS DE NUESTRA TABLA
LSTALUMNOS.ColumnCount = 17
'DETERMINAR EL ANCHO DE LAS COLUMNAS EN NUESTRO OBJETO CUADRO DE LISTA
LSTALUMNOS.ColumnWidths = "60;80;80;80;80;80;60;90;80;180;50;50;50;50;80;120,70"
End Sub

Private Sub LLENAR_COMBO()


'BORRAR EL CONTENIDO DE LOS CUADRO COMBINADOS DE GRADO, SEXO, DEPARTAMENTO
CBOGRADO.Clear
CBOSEXO.Clear
CBODEPARTAMENTO.Clear
'DETERMINAR EL CONTENIDO DEL GRADO
With CBOGRADO
.AddItem "<<SELECCIONAR GRADO>>"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
End With
'DETERMINAR EL GENERO DEL ESTUDIANTE
With CBOSEXO
.AddItem "<<SELECCIONAR EL GENERO>>"
.AddItem "MASCULINO"
.AddItem "FEMENINO"
End With
'DETERMINAR LOS DEPARTAMENTOS
With CBODEPARTAMENTO
.AddItem "<<SELECCIONE DEPARTAMENTO>>"
.AddItem "LIMA"
End With
End Sub

Private Sub LLENAR_DSTR_LIMA()


'COLOCAR LOS DISTRITOS DE LIMA
With CBODISTRITO
.AddItem "<<SELECCIONE DISTRITO>>"
.AddItem "LIMA"
.AddItem "BREÑA"
.AddItem "LINCE"
.AddItem "JESUS MARIA"
.AddItem "MIRAFLORES"
.AddItem "SURQUILLO"
.AddItem "SAN ISIDRO"
.AddItem "MAGDALENA"
.AddItem "SAN MIGUEL"
.AddItem "PUENTE PIEDRA"
.AddItem "LOS OLIVOS"
.AddItem "SMP"
.AddItem "INDEPENDENCIA"
.AddItem "COMAS"
.AddItem "SJM"
End With
End Sub
Private Sub LLENAR_DSTR_CALLAO()
'COLOCAR LOS DISTRITOS DEL CALLAO
With CBODISTRITO
.AddItem "<<SELECCIONAR DISTRITO>>"
.AddItem "VENTANILLA"
.AddItem "LA PERLA"
.AddItem "BELLAVISTA"
.AddItem "CARMEN DE LA LEGUA"
.AddItem "LA PUNTA"
End With
End Sub

Private Sub CALCULAR_NOTA()


'DECLARACION DE VARIABLES
Dim N1, N2, N3, N4, PROM As Integer
Dim ESTADO, NOMBRE As String
NOMBRE = TXTNOMBRE.Text
'ALMACENAR EN FORMA MOMENTANEA LAS NOTAS INGRESADAS
N1 = Val(TXTPRACTICAS.Text)
N2 = Val(TXTORAL.Text)
N3 = Val(TXTESCRITO.Text)
N4 = Val(TXTFINAL.Text)
'VERIFICAR EL INGRESO DE NOTAS
If TXTPRACTICAS.Value <> "" And TXTORAL.Value <> "" And TXTESCRITO.Value <> "" And TXTFINAL.Value <> "" Then
'DETERMINAR EL RANGO DE NOTAS DE 0....20
If (TXTPRACTICAS.Value >= 0 And TXTPRACTICAS.Value <= 20) And (TXTORAL.Value >= 0 And TXTORAL.Value <= 20)
And (TXTESCRITO.Value >= 0 And TXTESCRITO.Value <= 20) And (TXTFINAL.Value >= 0 And TXTFINAL.Value <= 20) Then
'HALLAR PROMEDIO
PROM = (N1 + N2 + N3 + N4) / 4
LBLESTADO.Visible = True
'DETERMINAR EL RANGO DE PROMEDIO APROBADO 13....20
If PROM >= 13 Then
'VISUALIZAR APROBADO
ESTADO = "APROBADO"
LBLESTADO.ForeColor = &H400000 'AZUL
Else
ESTADO = "DESAPROBADO"
LBLESTADO.ForeColor = &HFF 'ROJO
End If
TXTPROMEDIO.Text = PROM
LBLESTADO.Caption = NOMBRE & " " & ESTADO
Else
'MENSAJE DE VERIFICACION DE NOTAS
MsgBox "VALORES PERMITIDOS PARA LAS NOTAS SON: 0......20", vbInformation, "MENSAJE DE ERROR"
TXTPRACTICAS.Text = ""
TXTORAL.Text = ""
TXTESCRITO.Text = ""
TXTFINAL.Text = ""
End If
Else
'MENSAJE DE INGRESO DE NOTAS
MsgBox "INGRESE SUS NOTAS POR FAVOR........", vbCritical, "MENSAJE DE INGRESO"
TXTPRACTICAS.Text = ""
TXTORAL.Text = ""
TXTESCRITO.Text = ""
TXTFINAL.Text = ""
TXTPRACTICAS.SetFocus
End If
End Sub

Private Sub REGISTRAR()


'DECLARAR VARIABLES
Dim NOMB, APEL, DIRE, DNI, SEXO, GRAD, DEPA, PROV, DIST, N1, N2, N3, N4, PROM, COND As String
Dim ULTIMAFILA As Integer
Dim CELDA As Variant
'ALMACENAR MOMENTANEAMENTE LOS DATOS INGRESADOS PARA CADA VARIABLE DECLARADA
'OBJETOS DE CUADRO DE TEXTO
NOMB = TXTNOMBRE.Text
APEL = TXTAPELLIDO.Text
DIRE = TXTDIRECCION.Text
DNI = TXTDNI.Text
N1 = TXTPRACTICAS.Text
N2 = TXTORAL.Text
N3 = TXTESCRITO.Text
N4 = TXTFINAL.Text
PROM = TXTPROMEDIO.Text
'OBJETOS DE CUADROS COMBINADOS
SEXO = CBOSEXO.Text
GRAD = CBOGRADO.Text
DEPA = CBODEPARTAMENTO.Text
PROV = CBOPROVINCIA.Text
DIST = CBODISTRITO.Text
'OBJETOS DE TIPO ETIQUETA - LABEL
COND = LBLESTADO.Caption
'SELECCIONAR LA TABLA ALUMNOS
Sheets("ALUMNOS").Select
'DETERMINAR SI TODOS LOS CAMPOS TIENEN DATOS
If (NOMB <> Empty And APEL <> Empty And DIRE <> Empty And DNI <> Empty And SEXO <> "<<SELECCIONAR EL
GENERO>>" And GRADO <> "<<SELECCIONAR GRADO>>" And DEPA <> Empty And DEP <> "<<SELECCIONAR
DEPARTAMENTO>>" And PROV <> "<<SELECCIONAR PROVINCIA>>" And DIST <> "<<SELECCIONAR DISTRITO>>" And
TXTPROMEDIO.Value <> "") Then
'VERIFICAR SI SE HA SELECCIONADO O LOCALIZADO LA FOTO DEL ESTUDIANTE
If TXTRUTA.Text <> "" Then
Set WILI = VBA.CreateObject("SCRIPTING.FILESYSTEMOBJECT")
DESTINO = ThisWorkbook.Path & "\FOTO\" & "FOTO ALUMNOS\" & VALOR + 1 & ".JPG"
WILI.COPYFILE TXTRUTA.Text, DESTINO
TXTRUTA.Text = ""
ULTIMAFILA = Sheets("ALUMNOS").Cells(Rows.Count, 1).End(xlUp).Row
CELDA = Cells(ULTIMAFILA, 1).Value
''VERIFICAR SI LA CELDA ESTA VACIA
If CELDA = "" Then
ULTIMAFILA = Sheets("ALUMNOS").Cells(Rows.Count, 1).End(xlUp).Row
Else
ULTIMAFILA = Sheets("ALUMNOS").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
End If
'ALMACENAR O COPIAR TODA LA INFORMACION EN LA TABLA ALUMNOS EN LAS COLUMNAS
CORRESPONDIENTES
Range("A" & ULTIMAFILA).Value = LBLCODIGO.Caption
Range("B" & ULTIMAFILA).Value = NOMB
Range("C" & ULTIMAFILA).Value = APEL
Range("D" & ULTIMAFILA).Value = DIRE
Range("E" & ULTIMAFILA).Value = DNI
Range("F" & ULTIMAFILA).Value = SEXO
Range("G" & ULTIMAFILA).Value = GRAD
Range("H" & ULTIMAFILA).Value = DEPA
Range("I" & ULTIMAFILA).Value = PROV
Range("J" & ULTIMAFILA).Value = DIST
Range("K" & ULTIMAFILA).Value = N1
Range("L" & ULTIMAFILA).Value = N2
Range("M" & ULTIMAFILA).Value = N3
Range("N" & ULTIMAFILA).Value = N4
Range("O" & ULTIMAFILA).Value = PROM
Range("P" & ULTIMAFILA).Value = COND
Range("Q" & ULTIMAFILA).Value = VALOR & ".JPG"
'EJECUTAR NUEVO INGRESO
Call NUEVO
'BORRAR EL CONTENIDO DE LA FOTO
Image2.Picture = Nothing
'VENTANA DE CONFIRMACION DE ALMACENAMIENTO
MsgBox "REGISTRO ALMACENADO CON EXITO DE..." & NOMB & " " & APEL, vbInformation, "MENSAJE DE
GUARDAR EN TABLA ALUMNOS"
'DESABILITAR TODOS LOS OBJETOS
Call INABILITAR_BOTONES
CODIGO_ALUMNO
Else
MsgBox "SELECCIONAR O LOCALIZAR LA FOTO DEL ESTUDIANTE....", vbInformation, "MENSAJE DE FOTO"
End If
Else
MsgBox "VERIFICAR QUE TODOS LOS DATOS ESTEN COLOCADOS........", vbCritical, "MENSAJE DE DATOS"
End If
End Sub
Private Sub NUEVO()
'INICIALIZAR TODOS LOS OBJETOS
'OBJETOS DE TIPO CUADRO DE TEXTO
TXTNOMBRE.Text = ""
TXTAPELLIDO.Text = ""
TXTDIRECCION.Text = ""
TXTDNI.Text = ""
TXTRUTA.Text = ""
TXTPRACTICAS.Text = ""
TXTORAL.Text = ""
TXTESCRITO.Text = ""
TXTFINAL.Text = ""
TXTPROMEDIO.Text = ""
'OBJETOS DE TIPO ETIQUETA
LBLESTADO.Caption = ""
'OBJETOS DE CUADROS COMBINADOS
CBOSEXO.ListIndex = 0
CBOGRADO.ListIndex = 0
CBODEPARTAMENTO.ListIndex = 0
'CBOPROVINCIA.ListIndex = 0
'CBODISTRITO.ListIndex = 0
'OBJETO DE IMAGEN
Image2.Picture = Nothing
CODIGO_ALUMNO
Call HABILITAR_BOTONES
End Sub

Private Sub INABILITAR_BOTONES()


'DESACTIVAR TODOS LOS OBJETOS
'OBJETOS DE TIPO CUADRO DE TEXTO
TXTNOMBRE.Enabled = False
TXTAPELLIDO.Enabled = False
TXTDIRECCION.Enabled = False
TXTDNI.Enabled = False
TXTRUTA.Enabled = False
TXTPRACTICAS.Enabled = False
TXTORAL.Enabled = False
TXTESCRITO.Enabled = False
TXTFINAL.Enabled = False
TXTPROMEDIO.Enabled = False
'OBJETOS DE TIPO ETIQUETA
LBLESTADO.Visible = False
'OBJETOS DE CUADROS COMBINADOS
CBOSEXO.Enabled = False
CBOGRADO.Enabled = False
CBODEPARTAMENTO.Enabled = False
CBOPROVINCIA.Enabled = False
CBODISTRITO.Enabled = False
'OBJETO DE BOTONES DE COMANDO
BTNIMAGEN.Enabled = False
BTNCALCULAR.Enabled = False
BTNREGISTRAR.Enabled = False
End Sub
Private Sub HABILITAR_BOTONES()
'ACTIVAR TODOS LOS OBJETOS LUEGO DE PRESIONAR EL BOTON NUEVO
'OBJETOS DE TIPO CUADRO DE TEXTO
TXTNOMBRE.Enabled = True
TXTAPELLIDO.Enabled = True
TXTDIRECCION.Enabled = True
TXTDNI.Enabled = True
TXTRUTA.Enabled = True
TXTPRACTICAS.Enabled = True
TXTORAL.Enabled = True
TXTESCRITO.Enabled = True
TXTFINAL.Enabled = True
TXTPROMEDIO.Enabled = True
'OBJETOS DE TIPO ETIQUETA
LBLESTADO.Visible = True
'OBJETOS DE CUADROS COMBINADOS
CBOSEXO.Enabled = True
CBOGRADO.Enabled = True
CBODEPARTAMENTO.Enabled = True
CBOPROVINCIA.Enabled = True
CBODISTRITO.Enabled = True
'OBJETO DE BOTONES DE COMANDO
BTNIMAGEN.Enabled = True
BTNCALCULAR.Enabled = True
BTNREGISTRAR.Enabled = True
End Sub
Function VALOR() As Integer
'INSERTAR UNA FILA EN BLANCO AL FINAL DE LA TABLA
Dim ULTIMAFILA, VALORF As Integer
Dim NUMERO, CELDAF As Variant
ULTIMAFILA = Sheets("ALUMNOS").Cells(Rows.Count, 1).End(xlUp).Row
NUMERO = Cells(ULTIMAFILA, 1).Value
If NUMERO = "" Then
ULTIMAFILA = Sheets("ALUMNOS").Cells(Rows.Count, 1).End(xlUp).Rows
'VALOR = Cells(ULTIMAFILA, 1).Value
Else
ULTIMAFILA = Sheets("ALUMNOS").Cells(Rows.Count, 1).End(xlUp).Row
CELDAF = Cells(ULTIMAFILA, 1).Value
CELDAF = Right(CELDAF, 6)
VALOR = CELDAF
End If
End Function

Sub CODIGO_ALUMNO()
'PERSONALIZAR EL FORMATO DEL CODIGO DEL ESTUDIANTE
Dim CODIALU As Variant
CODIALU = Format(VALOR + 1, "000000")
LBLCODIGO.Caption = "ALU-" & CODIALU
End Sub

También podría gustarte