Universidad Técnica de Manabí       Facultad de Ciencias Informáticas TESIS DE GRADO        Previa a la Obtención del Títu...
CERTIFICACIONIng. Maricela Pinargote, certifica que la presente tesis ha sido elaborada por lasSrta. Ligia Elena Escobar D...
UNIVERSIDAD TÉCNICA DE MANABÍ          FACULTAD DE CIENCIAS INFORMÁTICAS               ESCUELA DE COMPUTACIÓN             ...
DERECHO DEL AUTORLas presentes: Ligia Elena Escobar Domínguez y Maryuri Johana SolórzanoTuarez, declararan que la tesis es...
AGRADECIMIENTOAgradezco primeramente a Dios por hacer posible el sueño que todaestudiante anhela en la vida: ser una Profe...
AGRADECIMIENTOCon especial afecto agradezco a los directivos de esta importanteInstitución Educativa como es la Universida...
DEDICATORIAA Dios por ser él quien me ha iluminado desde el cielo despejandocualquier duda y regalándome un poquito de sab...
DEDICATORIADedico este trabajo primeramente a Dios por guiarnos y darnosfuerzas para seguir adelante. A nuestros progenito...
RESUMEN EJECUTIVOEl desarrollo de un programa computarizado optimiza el tiempo, sistematizar lalabor del usuario, especial...
EXECUTIVE SUMMARYThe development of a program computarizado optimize the time, systematize thelabor of the user, specially...
ÍNDICECERTIFICACION                               IIAPROBACION                                  IIIDERECHO DEL AUTOR      ...
CAPITULO IV4.1 CONCLUSIONES Y RECOMENDACIONES     164.1.1 CONCLUSIONES                     164.1.2 RECOMENDACIONES        ...
TEMA:“DESARROLLO DE UN SISTEMA INFORMÁTICO ADMINISTRATIVOPARA LA ESCUELA FISCAL MIXTA “21 DE MAYO” DEL CANTÓNPORTOVIEJO, P...
IntroducciónLos Sistemas Informáticos en la actualidad son muy importantes ya que gracias aellos la mayoría de las institu...
CAPITULO I1.1 Justificación.Este Sistema informático es trascendental por la importancia que presenta elcontrol de datos e...
1.2 Planteamiento del problema.La Informática es la ciencia que sirve para que muchos procesos aumenten sueficiencia, y si...
1.3 Objetivos.1.3.1 Objetivo General.Solucionar con la implementación de un sistema informático administrativo lasdificult...
1.4 BENEFICIARIOS1.4.1. DIRECTOSLas principales personas que se beneficiaran con la implementación del SistemaInformático ...
CAPITULO II2. Marco Referencial.Como consecuencia de fuertes invierno ocurridos entre los años 1982 - 1983hubieron muchos ...
2.1 Marco Teórico.La investigación se basa en la problemática que tiene la Escuela Fiscal Mixta “21de Mayo” siendo uno de ...
LA CONSTRUCCIÓN DE UNA APLICACIÓN EN WINDOWS CONVISUAL BASIC IMPLICA TRES PASOS DE PROGRAMACIÓN.       Crear la interfaz d...
registro es incorrecto y por último el programa debe hacer que el reporte sea elcorrecto.2.1.2 Objetivos del Diseño de SQL...
Los clientes invierten en sistemas de administración de bases de datos, en formade aplicaciones escritas para esa base de ...
warehousing mientras hace que la tecnología sea más accesible a una mayorcantidad de público.Microsoft ha establecido un e...
2.1.3 Visual Basic3    Este lenguaje de programación es desarrollado por Alan Cooper para Microsoft.El lenguaje de program...
se escribe el código fuente), un depurador (programa que corrige errores en elcódigo fuente para que pueda ser bien compil...
CAPITULO III3. Diseño Metodológico.Para realizar la investigación se consideraron los siguientes aspectos: Metodologíay Té...
3.3 Resultados Obtenidos      Con el desarrollo del sistema informático para la Escuela “21 de Mayo” se      logró solucio...
3.3 Presupuesto.                                                       Costo      Sub.Nro                Descripción      ...
CAPITULO IV4.1 CONCLUSIONES Y RECOMENDACIONES4.1.1 CONCLUSIONESDespués de concluir con nuestro proyecto “DESARROLLO DE UN ...
4.1.2 RECOMENDACIONESPara la debida utilización del sistema es recomendable tener en cuenta lassiguientes recomendaciones:...
CAPITULO V5. PROPUESTA5.1. DESCRIPCION GENERAL DEL SISTEMAEl programa llamado Ejecutable.exe es un sistema informático que...
5.3 RELACIONES DE LAS BASES DE DATOS                                       19
5.4 CRONOGRAMA VALORADO
SISTEMAMatriculación           Notas                                   Asistencias                      Configuración   Re...
5.5 Bibliografía.      BATINI, CERI Y NAVATHE. Diseño Conceptual de Bases de Datos.      Adisson – Wesley. 1994.      Inte...
ANEXOS
MANUAL    DELPROGRAMADOR
ÍNDICE                                                   PÁG.1. CODIFICACIÓN DEL PROGRAMA                       11.1 FORMU...
1.    CODIFICACION DEL PROGRAMA1.1   FORMULARIO DE INGRESO AL SISTEMADim aux As BooleanPrivate Sub cmb_usuarios_Click()Cod...
base.CloseEnd IfEnd Sub1.2 FORMULARIO PRINCIPALPrivate Sub m_a_i_inf_asis_alumno_Click()abrir_form form_rep_asistencias_al...
End SubPrivate Sub m_c_r_parciales_Click()abrir_form Form_parciales, "Form_parciales"End SubPrivate Sub m_c_r_periodos_Cli...
End SubPrivate Sub m_salir_Click()Unload MeEnd SubPrivate Sub MDIForm_Load()Set apli = New ApplicationCrae_aplicacion_exce...
Public Function Get_Accion() As String  Get_Accion = accionEnd FunctionPublic Function Get_filtro() As String  Get_filtro ...
End IfExit SubSALIR:End SubPrivate Sub cmd_busca_padre_Click()On Error GoTo SALIRBusqueda_sql "SELECT codigo,nombre,Cedula...
If Busqueda.retorna <> "" Then   If Busqueda.retorna <> "Abrir" Then txt_repre.TEXT = Busqueda.retorna   If Busqueda.retor...
SQL12 = "select * from imagenes where estudiante=" & eti_codigo.Caption &" and periodo=" & Gperiodo & ""Else    SQL12 = "s...
NuevoEnd SubPrivate Sub cmd_primero_Click()LLenaDatosForm 1End SubPrivate Sub cmd_salir_Click()SALIREnd SubPrivate Sub cmd...
Dim ruta As Stringruta = App.Path & "iconoslisto.gif"img_listo.Picture = LoadPicture(ruta)filtro = ""opcion_foto = Extrae_...
End IfEnd SubPrivate Sub txt_madre_Change()Dim SQL12 As StringSQL12 = "select nombre from representante where codigo=" & t...
Private Sub txtnombres_KeyPress(KeyAscii As Integer)KeyAscii = SoloNombre(KeyAscii)End SubPrivate Sub txttelefono_KeyPress...
For I = 0 To GRID.Cols - 1      If UCase(d_grid(I).campo_col) = UCase(nombre) Then         col_nombre = d_grid(I).n_col   ...
NextSQL1 = SQL1 & ") "SQL2 = SQL2 & ") "SQL1 = SQL1 & SQL2genera_INSERT = SQL1End FunctionPrivate Function genera_UPDATE(F...
If GRID.TextMatrix(I, col_nombre("periodo")) <> "" And GRID.TextMatrix(I,col_nombre("profesor")) <> "" And GRID.TextMatrix...
Set tabla = base.Execute(SQL1)If tabla.EOF = True Then   tabla.Close   Set tabla = Nothing   Set tabla = base.Execute(SQL2...
Private Sub dtp_fecha_Change()procesarEnd SubPrivate Sub dtp_fecha_Click()cmd_entrada.Enabled = Falsecmd_salida.Enabled = ...
d_grid(2).campo_col = "fecha"d_grid(2).campo_col2 = ""d_grid(2).revisar = Falsed_grid(2).clave = Trued_grid(2).insertable ...
d_grid(7).ancho_col = 300d_grid(7).cabecera_col = "AT"d_grid(7).campo_col = "atraso2"d_grid(7).campo_col2 = "atraso"d_grid...
d_grid(11).Obligatorio = Falsed_grid(12).n_col = 12d_grid(12).ancho_col = 0d_grid(12).cabecera_col = "justificada2"d_grid(...
a_col = GRID.col  a_fil = GRID.Row  If d_grid(GRID.col).revisar = False Then        a_tex = ""        txt.Visible = False ...
End SubPrivate Sub MaskEdBox1_Change()End SubPrivate Sub Timer1_Timer()lbl_hora.Caption = TimeEnd SubPrivate Sub txt_Chang...
STRSQL = "SELECT COUNT(*) as total FROM USUARIOS WHEREcodigo=" & ExtraeIDCombo(cmb_usuarios) & " and upper(clave) = " &UCa...
SQL1 = "DELETE FROM MATERIA_GRADO WHERE PERIODO=" &Gperiodo & " AND materia=" & ExtraeIDCombo(list_aux) & " and grado=" &E...
Private Sub cmd_quitauno_Click()If List_materi_grado.ListIndex = -1 Then Exit Sublist_aux.AddItem List_materi_grado.TEXTli...
Public Function Get_filtro() As String  Get_filtro = filtroEnd FunctionPublic Function Get_nuevo() As String  Get_nuevo = ...
End SubPrivate Sub cmd_guardar_Click()GuardarEnd SubPrivate Sub cmd_nuevo_Click()NuevoEnd SubPrivate Sub cmd_primero_Click...
Get_filtro = filtroEnd FunctionPublic Function Get_nuevo() As String  Get_nuevo = nuevo_regEnd FunctionPublic Sub Set_Reg_...
Private Sub cmb_profesor_Click()procesarEnd SubPrivate Sub cmd_anterior_Click()LLenaDatosForm 3End SubPrivate Sub cmd_canc...
SQL1 = genera_INSERT(I)     Else        SQL1 = genera_UPDATE(I)     End If     EjecutaSQL SQL1  End IfNextEnd SubPrivate S...
For I = 0 To GRID_RES.Cols - 1     If d_grid(I).revisar = True Then        If GRID_RES.TextMatrix(FILA, I) = "" Then Exit ...
DAT_gridCONF_GRIDIf cmb_cursos.ListCount > 0 Then cmb_cursos.ListIndex = 0Set FRM = MeLLenaDatosFormEnd SubPrivate Sub DAT...
d_grid(4).cabecera_col = "Grado"d_grid(4).campo_col = "Ngrado"d_grid(4).editable = Trued_grid(4).clave = Falsed_grid(4).in...
d_grid(9).clave = Falsed_grid(9).insertable = Falsed_grid(9).revisar = Trued_grid(9).Obligatorio = Falsed_grid(10).n_col =...
cmb_materias.Visible = False   cmb_paralelo.Visible = False   cmb_grado.Visible = False   cmb_materias.Top = GRID.Top + GR...
End If   base.Execute (SQLSTR)NextEnd SubPrivate Sub BORRA_DATOS_GRID()Dim I, c As IntegerDim SQLSTR As StringFor I = 1 To...
End IfEnd SubPrivate Function EXITE_NOTA(FILA As Integer) As BooleanDim SQL1, strand As Stringstrand = " "EXITE_NOTA = Fal...
SQL1 = SQL1 & strCOMA & d_grid(I).campo_col & "=" &GRID.TextMatrix(FILA, d_grid(I).n_col) & ""      strCOMA = ","   End If...
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Tesis sistema informatico de la escuela 21 de mayo
Upcoming SlideShare
Loading in …5
×

Tesis sistema informatico de la escuela 21 de mayo

1,155 views

Published on

es algo muy importante

Published in: Career
1 Comment
0 Likes
Statistics
Notes
  • olle muy buena veo que la hiciste en Visual me pregunto si me podrias ayudar con el sistema que estoy elaborando es para una universidad de escasos recursos y nos interesaría poder tener un sistema como el de ustedes gracias de antemano cualquier ayuda me seria util
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
1,155
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
134
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Tesis sistema informatico de la escuela 21 de mayo

  1. 1. Universidad Técnica de Manabí Facultad de Ciencias Informáticas TESIS DE GRADO Previa a la Obtención del Título de: “ANALISTA EN SISTEMAS” TEMA:“DESARROLLO DE UN SISTEMA INFORMATICO ADMINISTRATIVOPARA LA ESCUELA FISCAL MIXTA “21 DE MAYO” DEL CANTÓNPORTOVIEJO, PROVINCIA DE MANABÍ”. AUTORAS: Ligia Elena Escobar Domínguez. Maryuri Johana Solórzano Tuàrez. DIRECTORA DE TESIS Ing. Maricela Pinargote Portoviejo - Manabí - Ecuador 2010
  2. 2. CERTIFICACIONIng. Maricela Pinargote, certifica que la presente tesis ha sido elaborada por lasSrta. Ligia Elena Escobar Domínguez y Maryuri Johana Solórzano Tuárez, bajomi dirección, control y seguimiento. El presente trabajo reúne los requisitos deuna investigación y programación concluida mediante el esfuerzo, dedicación yconstancia, tanto en parte teorice, investigativa y practica, lo que permite otorgarsu originalidad.Para constancia y validez, firmo el documento. Atentamente, Maricela Pinargote DIRECTORA DE TESIS
  3. 3. UNIVERSIDAD TÉCNICA DE MANABÍ FACULTAD DE CIENCIAS INFORMÁTICAS ESCUELA DE COMPUTACIÓN TEMA:“DESARROLLO DE UN SISTEMA INFORMÁTICO ADMINISTRATIVOPARA LA ESCUELA FISCAL MIXTA “21 DE MAYO” DEL CANTÓNPORTOVIEJO, PROVINCIA DE MANABÍ”. TESIS DE GRADOSometida a consideración de los Miembros del Tribunal de Revisión ySustentación, legalizada por el Honorable Consejo Directivo como requisitoprevio a la obtención del título de: ANALISTA EN SISTEMAS aprobado por:DIRECTORA DE TESIS ____________________ Ing. Maricela PinargotePRESIDENTE DEL TRIBUNAL ____________________ Ing. Lenin RiveraDOCENTE DE AREA _________________ Ing. Javier CuzcoDOCENTE MIEMBRO DE COMISION _________________ Ing. Jimmy Zambrano
  4. 4. DERECHO DEL AUTORLas presentes: Ligia Elena Escobar Domínguez y Maryuri Johana SolórzanoTuarez, declararan que la tesis es de total creación de las antes mencionadas;teniendo como directora de tesis a la Ing. Maricela Pinargote.Este proyecto está protegido por las Leyes del Autor y otros TratadosInternacionales. La reproducción o distribución no autorizadas de este trabajo o decualquier parte del mismo, pueden dar lugar a responsabilidades civiles y penalesque serán perseguidas por las autoridades competentes.Su análisis, diseño y codificación son de exclusividad de los autores.Para constancia firman.____________________ ____________________Ligia Escobar Domínguez Maryuri Solórzano Tuarez AUTORA AUTORA
  5. 5. AGRADECIMIENTOAgradezco primeramente a Dios por hacer posible el sueño que todaestudiante anhela en la vida: ser una Profesional.A mis queridos profesores quienes con sus conocimientos yenseñanzas me inculcaron todos los valores morales, éticos yprofesionales los cuales los pondré en práctica durante toda mi vida.A la Ing. Maricela Pinargote, mi Directora de Tesis, quien ha sidoparte fundamental de este proyecto guiándome en los análisis ycomentarios suscitados en el transcurso de la misma.Así mismo a todas las personas que han colocado su granito de arenacolaborando de la manera más humilde y desinteresada que me hanllevado a obtener un gran éxito. LIGIA ESCOBAR DOMÍNGUEZ
  6. 6. AGRADECIMIENTOCon especial afecto agradezco a los directivos de esta importanteInstitución Educativa como es la Universidad Técnica de Manabícomo son la Ing. Maricela Pinargote, Ing. Lenin Rivera, Ing. JavierCusco y Ing. Jimmy Zambrano, por su confianza y apoyo para laculminación de esta etapa importante de mi vida.A mi madre que me inculcó valores de responsabilidad y dedicaciónhacia la superación y el esfuerzo continuo para cumplir toda metaanhelada. Muchas gracias. MARYURI SOLÓRZANO TUAREZ
  7. 7. DEDICATORIAA Dios por ser él quien me ha iluminado desde el cielo despejandocualquier duda y regalándome un poquito de sabiduría para poderterminar con éxito este proyecto.A mis padres Sr. Jorge Escobar y Sra. Jacqueline Domínguez, quienescon esfuerzo y sacrificio han sabido compartir mis momentos másdifíciles dándome el apoyo incondicional en todos los aspectos.A mi hija Camila Sánchez quien es mi fuente de inspiración y mimotivo de seguir siempre adelante.A mis hermanos Jacqueline, Jorge Luis y Kassandra quienes mebrindan toda la confianza para poder seguir adelante.A mí querido esposo por su motivación y su apoyo incondicional. LIGIA ESCOBAR DOMÍNGUEZ
  8. 8. DEDICATORIADedico este trabajo primeramente a Dios por guiarnos y darnosfuerzas para seguir adelante. A nuestros progenitores por brindarnossu apoyo incondicional y llevarnos por la senda del bien.También dedico en especial a mi hijo Kendru Steven MoreiraSolórzano, por darme las fuerzas y motivación para el proceso de estainvestigación.A mi madre Dolores Tuárez, que con sus sabios consejos he podidoconseguir mis metas anheladas. MARYURI SOLÓRZANO TUAREZ
  9. 9. RESUMEN EJECUTIVOEl desarrollo de un programa computarizado optimiza el tiempo, sistematizar lalabor del usuario, especialmente desarrollado para un análisis rápido y eficaz.Se ofrece una herramienta de trabajo a la Escuela Fiscal Mixta “21 de Mayo” queconsiste en un sistema de información más exacta y rápida para el personal queallí labora matriculando una cantidad de alumnos en un corto período de tiempopara dar inicio a las actividades del plantel de manera eficiente e integra.Presenta una interfaz amigable capaz de realizar: las operaciones básicas demantenimiento de archivos que proporcione una mejor manera de proveerinformación actualizada para la toma de decisiones, registro y control de todos losprocesos inherentes del sistema de inscripción, ofrecer reportes de acuerdo a lanecesidad del usuario.El objetivo central del proyecto “Desarrollo de un Sistema InformáticoAdministrativo para la Escuela Fiscal Mixta “21 de Mayo” del Cantón Portoviejo,provincia de Manabí”, es automatizar el proceso de inscripción de esta institucióneducativa y todos los procesos inherentes al mismo que genere informaciónoportuna, precisa y confiable mediante el uso de los sistemas de información,herramienta que contribuye a los diferentes sectores productivos de la sociedad enllevar las tareas administrativas rutinarias, tediosa y de gran volumen deinformación al computador, teoría que afianza la propuesta de sistema deinformación para el proceso de inscripción del plantel como nueva forma detrabajo que sustituya la metodología hasta ahora utilizada en los sistemasadministrativos escolares.
  10. 10. EXECUTIVE SUMMARYThe development of a program computarizado optimize the time, systematize thelabor of the user, specially developed for a rapid and effective analysis.A tool of work offers to the Fiscal Mixed School " May 21 " that consists of asystem of more exact and rapid information for the personnel that there worksregistering a pupils quantity in a short period efficient of time to give beginningto the activities of the nursery of an way and it integrates.He presents an amicable interface capable of realizing: the basic operations ofmaintenance of files that provides a better way of providing information updatedfor the capture of decisions, record and control of all the inherent processes of thesystem of inscription, offering reports of agreement to the need of the user.The central aim of the project " Development of an IT Administrative System forthe Fiscal Mixed School " On May 21 " from the Canton Portoviejo, Manabísprovince ", is to automate the process of inscription of this educational institutionand all the processes inherent in the same one that generates opportune, preciseand reliable information by means of the use of the information systems, tool thathe contributes to the different productive sectors of the company in taking theadministrative routine tasks, tedious and of great volume of information to thecomputer, theory that guarantees the offer of information system for the process ofinscription of the nursery as new form of work that replaces the methodology tillnow used in the administrative school systems.
  11. 11. ÍNDICECERTIFICACION IIAPROBACION IIIDERECHO DEL AUTOR IVAGRADECIMIENTO VIDEDICATORIA VIIIRESUMEN EJECUTIVO IXSUMARY XTEMAINTRODUCCIÓNCAPITULO I1.1. JUSTIFICACIÓN 12.1 PLANTEAMIENTO DEL PROBLEMA 22.2 OBJETIVOS 32.3 OBJETIVO GENERAL 32.4 OBJETIVOS ESPECÍFICOS 3CAPITULO II2. MARCO REFERENCIAL 52.1 MARCO TEÓRICO 62.1.1 DISEÑO DEL SISTEMA 72.1.2 OBJETIVOS DEL DISEÑO DE SQL. SERVER 82.1.3 VISUAL BASIC 11CAPITULO III3. DISEÑO METODOLÓGICO 133.1 METODOLOGÍA 133.2 TÉCNICAS 133.3 RESULTADOS OBTENIDO 143.3 PRESUPUESTO 15
  12. 12. CAPITULO IV4.1 CONCLUSIONES Y RECOMENDACIONES 164.1.1 CONCLUSIONES 164.1.2 RECOMENDACIONES 17CAPITULO V5. PROPUESTA 185.1 DESCRIPCION GENERAL DEL SISTEMA 185.2 DETERMINACION DE REQUERIMIENTO 185.3 RELACIONES DE LAS BASES DE DATOS 195.4 CRONOGRAMA VALORADO 205.6 BIBLIOGRAFIA 21ANEXOSMANUAL DEL PROGRAMADORMANUAL DEL USUARIOCD DE INSTALACION
  13. 13. TEMA:“DESARROLLO DE UN SISTEMA INFORMÁTICO ADMINISTRATIVOPARA LA ESCUELA FISCAL MIXTA “21 DE MAYO” DEL CANTÓNPORTOVIEJO, PROVINCIA DE MANABÍ”.
  14. 14. IntroducciónLos Sistemas Informáticos en la actualidad son muy importantes ya que gracias aellos la mayoría de las instituciones por no decir todas, manejan las Bases deDatos de una forma más cómoda y sencilla, sin la necesidad de archivar losregistros en papeles u otros documentos, ya que la teneduría de libros se pasa acomputadora sin un sistema informático, lo que no permite obtener unainformación rápida de los registros diarios y mensuales que se necesitan en sudebido momento.Con los Sistemas Informáticos esta tarea resulta más fácil de manejar para losempleados que laboran en dichas instituciones, ya sean públicas o privadas.Institución escogida para aplicar este sistema informático es la Escuela NacionalMixta “21 de Mayo” por el prestigio que tiene y por las facilidades que brindarondesde un principio para la obtención de datos y materiales de apoyo para laculminación de este proyecto.Este trabajo tuvo como meta final la realización de un Sistema Informático creadoen lenguaje de programación Visual Basic 6.0, ya que es el más utilizado en laactualidad y es muy fácil de manejarlo y cualquier persona capacitada podrámanejarlo.Estos datos e instrucciones se codificaran en dicho lenguaje de programación paraque puedan ser convertidos en lenguajes de computadoras y así poder ejecutar elprograma.
  15. 15. CAPITULO I1.1 Justificación.Este Sistema informático es trascendental por la importancia que presenta elcontrol de datos en la entidad Educativa “21 de Mayo”, permitiendo innumerablesbeneficios que va a recibir los mismos con la realización de un SistemaInformático que ayude como controlar de una mejor manera los reportes einformes que a diario en ella se elaboran.Para contribuir a la solución de la problemática se puso énfasis en la informaciónque ofreció la Escuela a la interesada para la realización de este sistema.En esta justificación se expresan las razones experimentales y las posiblesventajas que se derivarían de los resultados de la realización de este proyecto. Yes evidente que la labor debe coordinar un buen número de campos para poderresolver el propósito planteado.Un sistema de información es un conjunto de elementos que interactúan entre sícon el fin de apoyar las actividades de las instituciones educativas. 1
  16. 16. 1.2 Planteamiento del problema.La Informática es la ciencia que sirve para que muchos procesos aumenten sueficiencia, y si una organización, institución o empresa requiere ofrecer a susclientes la calidad en el servicio que otorga, se hace emergente la búsqueda desoluciones que faciliten los procesos para servir mejor.La Escuela Fiscal Mixta “21 de Mayo”, institución que ayuda a la comunidad consu educación y prestigio, utiliza procesos manuales para recabar toda lainformación concerniente al alumnado y profesores como son las matriculas, notastrimestrales y asistencia del personal docente que surge durante el año lectivo, loque entorpece la agilidad y veracidad del procesamiento de datos, disminuyendopor consiguiente la efectividad de los servicios, lo que provoca insatisfaccióntanto para los alumnos como para la Institución.La manipulación del Sistema Administrativo con recursos materiales como papel,plumas, borrador y calculadora es muy complicado para quien lo maneja, por estarazón el problema queda planteado de la siguiente manera:¿Cómo influye el desarrollo de un Sistema Informático de registros deMatriculación, control de Notas y Asistencia del personal Docente, en la EscuelaFiscal Mixta “21 de Mayo” de la ciudad de Portoviejo? 2
  17. 17. 1.3 Objetivos.1.3.1 Objetivo General.Solucionar con la implementación de un sistema informático administrativo lasdificultades que ocasiona a las autoridades de la Escuela “21 de Mayo” el controlde sus procesos de administración mediante registros manuales.1.3.2 Objetivos Específicos. Facilitar al personal de la Escuela el proceso de registros de matriculación, notas y asistencia del personal docente. Permitir un manejo simple del control de asistencia y otros datos de los docentes de la Escuela. Permitir la obtención inmediata de reportes de matriculas, notas, asistencia, etc. Proporcionar a través del sistema el acceso a una información ordenada y actualizada del proceso administrativo de la institución. 3
  18. 18. 1.4 BENEFICIARIOS1.4.1. DIRECTOSLas principales personas que se beneficiaran con la implementación del SistemaInformático es el área de Colecturía de la Escuela Fiscal Mixta “21 de Mayo” dela ciudad de Portoviejo Provincia de Manabí.1.4.2. INDIRECTOSUsuarios en general. 4
  19. 19. CAPITULO II2. Marco Referencial.Como consecuencia de fuertes invierno ocurridos entre los años 1982 - 1983hubieron muchos damnificados, los que fueron ubicados en lo que hoy es laciudadela San Alejo.Viendo las necesidades de está nueva Ciudadela y ante gestiones de susmoradores se crea la escuela “21 de Mayo”, la que toma el nombre este plantel dela fecha en que fue creada el 21 de Mayo de 1984.1Funcionaba en un terreno prestado, en un canchón de caña sin piso totalmenteantipedagógico con 200 alumnos aproximadamente y como único profesor el Sr.Jorge Bello Saltos.Por el número elevado de alumnos, las autoridades educativas creyeronconveniente reajustar la escuela Cristóbal Colón, pasando la Sra. EstrellaZambrano Macías a laborar en esta escuela; además colaboraban varios jóvenes.Con el pasar del tiempo se fue incrementando el número de profesores y en laactualidad la Institución cuenta con 11 profesores titulares, 2 contratos, 1 conserjey la Directora es la Lcda. Carlota Andrade.1 Manual de la Escuela “21 de Mayo” 5
  20. 20. 2.1 Marco Teórico.La investigación se basa en la problemática que tiene la Escuela Fiscal Mixta “21de Mayo” siendo uno de estos problemas la falta de un Sistema Informáticoadecuado a sus necesidades y que sus computadoras no son actualizadas y porende no cumplen eficientemente en el correcto trabajo del mismo.Por medio de un Sistema Informático que se basa en un Software que Controle losRegistros como son: matriculación, control de notas y asistencia del personaldocente. La Directora ha decidido que; para el mejor desarrollo y progreso de laInstitución, que se actualice sus computadoras con un software que proporcionelos registros ya mencionados y va hacer en el lenguaje de programación llamadoVisual Basic, es el lenguaje más utilizado y el más fácil que encuentre unprogramador, ya que contiene muchas herramientas necesarias para construirprogramas para Windows de forma sencilla, eficiente y lograr hacer accesible alos programadores de Basic la posibilidad de programar para Windows.Una serie de herramientas ha permitido, que con algunos pocos de clic sea posiblecrear ventanas de Windows, colocarle botones de comando, menús, cuadros detextos, listas, etc.Esto es para que exista una mejor distribución de entrega de reportes, ya que coneste Software será de mucha ayuda y facilitará de manera más rápida los registrosque dispone la Escuela Fiscal Mixta “21 de Mayo”. 6
  21. 21. LA CONSTRUCCIÓN DE UNA APLICACIÓN EN WINDOWS CONVISUAL BASIC IMPLICA TRES PASOS DE PROGRAMACIÓN. Crear la interfaz de usuario mediante los controles de VISUAL BASIC. Establecer las características o propiedades de los elementos de dicha interfaz de usuario, medida que sea necesaria. Escribir el código del programa para uno o más elementos de la interfaz del usuario, a medida que sean necesarios.2.1.1 Diseño del Sistema.Se llevara a cabo el análisis de requisitos del programa que es una base de datosque registra la información que tiene en la Escuela Fiscal Mixta “21 de Mayo”.Para esto es necesario que el programa tenga la capacidad de acceder y crear unabase de datos, las cuales se usarán para mantener guardados los datos en el discoaun después de terminar la ejecución del programa deberá contar también confunciones que sean necesarios, el programa debe validar los diversos datos que seingresaran, estos deben estar acompañados con un respectivo mensaje que ayude acomprender su correcta utilización.El desempeño de Software se ha centrado en facilitar el ingreso, de acceder ymanipular los datos de la Escuela, en desarrollar el Software de manera que lleveel control de la información haciendo que se envié un mensaje de alerta cuando un 7
  22. 22. registro es incorrecto y por último el programa debe hacer que el reporte sea elcorrecto.2.1.2 Objetivos del Diseño de SQL ServerLos clientes están buscando soluciones para sus problemas de negocios. 2Lamayoría de las "soluciones" de bases de datos solamente traen múltiples nivelesde costos y complejidad. La estrategia de Microsoft es la de hacer que SQL Serversea la base de datos más fácil de utilizar para construir, administrar e implementaraplicaciones de negocios. Esto significa tener que poner a disposición un modelode programación rápido y sencillo para desarrolladores, eliminando laadministración de base de datos para operaciones estándar, y suministrandoherramientas sofisticadas para operaciones más complejas.SQL Server disminuye el costo total de propiedad a través de características comoadministración multi-servidor y con una sola consola; ejecución y alerta detrabajos basadas en eventos; seguridad integrada; y scripting administrativo. Estaversión también libera al administrador de base de datos para aspectos mássofisticados del trabajo al automatizar las tareas de rutina. Al combinar estospoderosos servicios de administración con las nuevas características deconfiguración automática, Microsoft SQL Server es la elección ideal deautomatización de sucursales y aplicaciones de base de datos insertadas.2 www. Monografías.com/trabajos14/sqlserver/sqlserver.shtml 8
  23. 23. Los clientes invierten en sistemas de administración de bases de datos, en formade aplicaciones escritas para esa base de datos y la educación que implica para laimplementación y administración. Esa inversión debe protegerse: a medida que elnegocio crece, la base de datos deberá crecer y manejar más datos, transacciones yusuarios. Los clientes también desean proteger las inversiones a medida queescalan aplicaciones de base de datos hacia equipos portátiles y sucursales.Para cumplir con estas necesidades, Microsoft ofrece un motor de base datosúnico que escala desde una computadora portátil que ejecuta Windows® 95 oWindows 98, hasta clusters de procesadores múltiples simétricos de terabyte queejecutan Windows NT Server Enterprise Edition. Todos estos sistemas mantienenla seguridad y confiabilidad que exigen los sistemas de negocios de misión crítica.Nueva para el lanzamiento de 7.0 es una versión de rastro de baja memoria concapacidades de replicación de multi-sitio. Se ajusta muy bien a las necesidadescada vez mayores del mercado de la computación móvil. Las otras característicastales como bloqueo a nivel de línea dinámico, el paralelismo intra-query, querydistribuido, y mejoras para las bases de datos muy grandes (VLDB) hacen que elSQL Server 7.0 sea la elección ideal para sistemas OLTP de alta tecnología ysistemas de data warehousing.Mientras los sistemas de procesamiento siguen siendo un componente clave paralas infraestructuras de bases de datos corporativas, las compañías también estáninvirtiendo bastante en mejorar la comprensión que tienen de sus datos. Laestrategia de Microsoft consiste en reducir el costo y la complejidad del data 9
  24. 24. warehousing mientras hace que la tecnología sea más accesible a una mayorcantidad de público.Microsoft ha establecido un enfoque total a todo el proceso de data warehousing(almacenamiento de datos). El objetivo es facilitar la construcción y diseño desoluciones de data warehousing costo efectivas a través de una combinación detecnologías, servicios y alianzas con los proveedores.La Microsoft Alliance for Data Warehousing es una coalición que une a loslíderes en la industria de almacenamiento de datos y aplicaciones. El MicrosoftData Warehousing Framework constituye un conjunto de interfaces deprogramación diseñadas para simplificar la integración y administración desoluciones de data warehousing.Las innovaciones del producto en SQL Server 7.0 mejoran el proceso de datawarehousing: Servicios de Transformación de Datos; manejo mejorado de lasconsultas complejas y bases de datos muy grandes; procesamiento analítico enlínea e integrado; y el Microsoft Repository. Otro componente esencial es elsoporte extenso para integración de terceros. 10
  25. 25. 2.1.3 Visual Basic3 Este lenguaje de programación es desarrollado por Alan Cooper para Microsoft.El lenguaje de programación es un dialecto de BASIC, con importantes añadidos.Su primera versión fue presentada en 1991 con la intención de simplificar laprogramación utilizando un ambiente de desarrollo completamente gráfico quefacilitara la creación de interfaces gráficas y en cierta medida también laprogramación misma. Desde el 2001 Microsoft ha propuesto abandonar eldesarrollo basado en la API Win32 y pasar a trabajar sobre un framework o marcocomún de librerías independiente de la version del sistema operativo, .NETFramework, a través de Visual Basic .NET (y otros lenguajes como C Sharp (C#)de fácil transición de código entre ellos) que presenta serias incompatibilidadescon el código Visual Basic existente.Visual Basic constituye un IDE (entorno de desarrollo integrado o en inglésIntegrated Development Enviroment) que ha sido empaquetado como unprograma de aplicación, es decir, consiste en un editor de código (programa donde3 http://es. wikipedia.org/wiki/Visual_Basic 11
  26. 26. se escribe el código fuente), un depurador (programa que corrige errores en elcódigo fuente para que pueda ser bien compilado), un compilador (programa quetraduce el código fuente a lenguaje de máquina), y un constructor de interfazgráfica o GUI (es una forma de programar en la que no es necesario escribir elcódigo para la parte gráfica del programa, sino que se puede hacer de formavisual). 12
  27. 27. CAPITULO III3. Diseño Metodológico.Para realizar la investigación se consideraron los siguientes aspectos: Metodologíay Técnicas3.1 Metodología.La metodología que se aplicará son dos, de campo y el bibliográfico. Campo.- son un conjunto de métodos, técnicas y procedimientos sistemáticos que se utilizarán para obtener respuestas al problema planteado. Bibliográfico.- esta es de tipo bibliográfico por cuánto el desarrollo de la investigación se apoya en información de libros, Internet y en folletos, etc.3.2 Técnicas.Se aplicó la siguiente técnica: Técnicas de entrevista.- Permitirá recopilar información en forma verbal, a través de preguntas previamente elaboradas. Se entrevistarán de forma individual al personal de la Escuela Fiscal “21 de Mayo”, quienes serán los principales beneficiados del proyecto. 13
  28. 28. 3.3 Resultados Obtenidos Con el desarrollo del sistema informático para la Escuela “21 de Mayo” se logró solucionar las dificultades que se originaban al momento de realizar los procesos de matriculación, reporte de notas y asistencia del personal. El sistema desarrollado permite un manejo fácil y eficiente del control de asistencia del personal, así como también datos de los alumnos de la Escuela. Se logro realizar un sistema cuyos resultados obtenidos sean fiables al momento de generar reportes de matriculas, notas, asistencias, entre otros. Proporcionar a través del sistema el acceso a una información ordenada y actualizada del proceso administrativo de la institución 14
  29. 29. 3.3 Presupuesto. Costo Sub.Nro Descripción Cantidad Unitario Total1 Material de escritorio y oficina 1 30.00 $ 30.002 Copias 2334 0.03 $ 70.003 Transporte 1 30.00 $ 30.004 Tinta para impresora 3 25.00 $ 75.005 Impresión 1 65.00 $ 65.006 Empastadas de Tesis 9 7.00 $ 63.007 Alquiler de Internet y Computadora 1 60.00 $ 60.008 Material bibliográfico 1 50.00 $ 50.009 Remas de Hojas 7 4.00 $ 28.00 SUMAN $ 471.00 IMPREVISTOS 10% $ 47.10 TOTAL $ 518.10SON: QUINIENTOS DIECIOCHO 10/100 DOLARES. 15
  30. 30. CAPITULO IV4.1 CONCLUSIONES Y RECOMENDACIONES4.1.1 CONCLUSIONESDespués de concluir con nuestro proyecto “DESARROLLO DE UN SISTEMAINFORMATICO ADMINISTRATIVO PARA LA ESCUELA FISCALMIXTA 21 DE MAYO DEL CANTÓN PORTOVIEJO, PROVINCIA DEMANABÍ”, se llegó a las siguientes conclusiones:  Se logró cumplir con el desarrollo de un sistema que permita optimizar el trabajo de matriculación, reporte de notas, asistencia del personal docente y demás procesos que se realizan en la Escuela.  El sistema cuenta con varias funcionabilidades que facilitan al usuario la comprensión y manejo del mismo.  El desarrollo del sistema cuenta con un manual de usuario que tiene la documentación necesaria que servirá a la persona encargada de administrar el sistema. 16
  31. 31. 4.1.2 RECOMENDACIONESPara la debida utilización del sistema es recomendable tener en cuenta lassiguientes recomendaciones:  Que el Administrador de sistema tenga conocimientos básicos en Informática y una previa capacitación a la utilización del mismo.  Para cualquier ayuda utilizar el manual de usuario.  El administrador debe ser el único responsable de la información que se ingresa al sistema para que no hayan confusiones.  Para que la implementación del sistema sea efectiva es recomendable que la información se maneje con gran seguridad. 17
  32. 32. CAPITULO V5. PROPUESTA5.1. DESCRIPCION GENERAL DEL SISTEMAEl programa llamado Ejecutable.exe es un sistema informático que sirve parallevar registros de matriculación, reporte de notas y asistencia del personaldocente de la Escuela Fiscal Mixta “21 de Mayo” de la ciudad de PortoviejoProvincia de Manabí.El presente sistema informático lo conforman los siguientes módulos: Formularios de Matriculación: Este modulo nos permite registrar los datos del estudiante, representante y matriculas que hubiesen en ese periodo. Formularios de Ingresos de Notas: Nos permite ingresar notas y tener un reporte confiable de las mismas. Formularios de Control de Asistencia del Docente: Permite llevar el control diario de asistencia del docente.5.2. DETERMINACION DE REQUERIMIENTOSe requiere de un sistema informático basado en computadoras, para ingresarmatriculas, reporte de notas y asistencia del personal docente para la EscuelaFiscal Mixta “21 de Mayo” de la ciudad de Portoviejo Provincia de Manabí.Los principales requerimientos del equipo de computación que se necesitan paraun óptimo funcionamiento son:Marca Mainborad: IntelTipo de Procesador: Dual Core de 2.0 GHz o SuperiorTamaño de Disco Duro: 160 GB de Espacio Inicial o SuperiorMemoria RAM: 1 GB o SuperiorMonitor: VGA o SVGAUnidad de CD: DVD-RomImpresora: Opcional 18
  33. 33. 5.3 RELACIONES DE LAS BASES DE DATOS 19
  34. 34. 5.4 CRONOGRAMA VALORADO
  35. 35. SISTEMAMatriculación Notas Asistencias Configuración Registros Registros Registros Registros Estudiantes Notas de Estudiante Asistencias de Periodos Profesores Lectivos Representantes Informes Grados Informes Matricula Informe de Notas x Materias Alumno Resumido Informe de Asistencias Informes Paralelos de Profesores Informe de Notas x Profesores Informe De Alumno Alumnos Matriculados Parciales Informe de Notas x Trimestre Resumido Paralelos Informe de Notas x Profesores Trimestre Usuarios Informe Resumido de notas x Materias y Establecer Periodo Activo trimestres Bloquear Establecer Configuraciones Establecer materias a Profesor Establecer Permisos de 21 Usuarios
  36. 36. 5.5 Bibliografía. BATINI, CERI Y NAVATHE. Diseño Conceptual de Bases de Datos. Adisson – Wesley. 1994. Internet de la página www.Google.com MICROSOFT PRESS. "Manual de Programador Visual Basic 6.0" EDITORIAL MC. Graw-Hill. 2003. MSDN. MICROSOFT "Ayuda de Visual Basic 6.0". Microsoft Coorpor. 2003. TIZNADO Santana Marco Antonio. Visual Basic. McGraww-Hill. 1997. VAQUERO, Antonio. Microsoft Visual BASIC 6.0. Referencias de Controles. Primera Edición McGraw Hill. España. 1993. 21 15
  37. 37. ANEXOS
  38. 38. MANUAL DELPROGRAMADOR
  39. 39. ÍNDICE PÁG.1. CODIFICACIÓN DEL PROGRAMA 11.1 FORMULARIO DE ESTUDIANTE 11.2 FORMULARIO PRINCIPAL 21.3 FORMULARIO REGISTRO DE ESTUDIANTES 41.5 FORMULARIO REGISTRO SISTENCIAS DE PROFESORES 121.6 FORMULARIO BLOQUEO DE SISTEMA 221.7 FORMULARIO DE CONF. DE MATERIAS A GRADO 231.8 FORMULARIO DE REGISTRO DE MATERIAS 251.9 FORMULARIOS CONFIGURACION MATERIAS PROFESOR 271.10 FORMULARIOS REGISTRO DE MATRICULAS 401.11 FORMULARIO REGISTRO DE GRADOS 491.12 FORMULARIO REGISTRO DE NOTAS 511.13 FORMULARIO INFORME DE NOTAS RESUMIDO X MATERIAS Y TRIMESTRES 701.14 FORMULARIO REGISTRO DE PARALELOS 781.15 FORMULARIO REGISTRO DE TRIMESTRES O PARCIALES 831.16 FORMULARIO ESTABLCER PERIODO ACTIVO 851.17 FORMULARIO REGISTRO DE PERIODOS 851.18 FORMULARIO PERMISOS DE USUARIOS 881.19 FORMULARIO REGISTRO DE PROFESORES 891.20 FORMULARIO INFORME ASISTENCIAS DE PROFESORES 911.21 FORMULARIO INFORME DE NOTAS X TRIMESTRE 941.22 FORMULARIO INFORME AUMNOS MATRICULADOS 961.23 FORMULARIO INFORME DE NOTAS X ALUMNO RESUMIDO 991.24 FORMULARIO INFORME DE NOTAS DE ALUMNOS X 101 TRIMESTRE1.25 FORMULARIO INFORME DE NOTAS X TRIMESTRE 104 RESUMIDO1.26 FORMULARIO INFORME DE NOTAS X TRIMESTRE 1071.27 FORMULARIO REGISTRO DE REPRESENTANTES 1091.28 FORMULARIO REGISTRO DE USUARIOS 1121.29 FORMULARIO ESTABLECER CONFIGURACIONES 1141.30 FORMULARIO DE BUSQUEDA 1171.31 VARIABLE GLOBALES 1211.32 FUNCIONES GLOBALES 123
  40. 40. 1. CODIFICACION DEL PROGRAMA1.1 FORMULARIO DE INGRESO AL SISTEMADim aux As BooleanPrivate Sub cmb_usuarios_Click()Cod_usuario = ExtraeIDCombo(cmb_usuarios)End SubPrivate Sub cmdCancel_Click()If base.State = 1 Then base.CloseEnd IfEndEnd SubPrivate Sub cmdOK_Click()Dim STRSQL As StringIf cmb_usuarios.ListIndex = -1 Then Exit SubSTRSQL = "SELECT COUNT(*) as total FROM USUARIOS WHEREcodigo=" & ExtraeIDCombo(cmb_usuarios) & " and upper(clave) = " &UCase(txt_clave.TEXT) & ""Set tabla = base.Execute(STRSQL)If tabla.Fields(0).Value > 0 Then aux = True tabla.Close Set tabla = Nothing Load MDIForm1 MDIForm1.Show frm_fondo.Show Unload Me Exit SubEnd Iftxt_clave.TEXT = ""MsgBox ("datos Incorrectos")tabla.CloseSet tabla = NothingEnd SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 13 Then SendKeys vbTabEnd SubPrivate Sub Form_Load()cod_usu = Leer_Ini(ruta_ini, "usuario", "")aux = FalseLLENACOMBO cmb_usuarios, "select codigo,nombre from usuarios"End SubPrivate Sub Form_Unload(Cancel As Integer)If base.State = 1 And aux = False Then 1
  41. 41. base.CloseEnd IfEnd Sub1.2 FORMULARIO PRINCIPALPrivate Sub m_a_i_inf_asis_alumno_Click()abrir_form form_rep_asistencias_alumno, "form_rep_asistencias_alumno"End SubPrivate Sub m_a_i_inf_asis_profe_Click()abrir_form form_rep_asistencias_profesores, "form_rep_asistencias_profesores"End SubPrivate Sub m_a_r_asis_estudiante_Click()abrir_form Form_asistencias_alumnos, "Form_asistencias_alumnos"End SubPrivate Sub m_a_r_asis_profesores_Click()abrir_form Form_asistencias_profesores, "Form_asistencias_profesores"End SubPrivate Sub m_bloquear_Click()Load form_Login2form_Login2.Show vbModalEnd SubPrivate Sub m_c_config_Click()abrir_form frm_config, "frm_config"End SubPrivate Sub m_c_mater_grados_Click()abrir_form form_materia_grado, "form_materia_grado"End SubPrivate Sub m_c_materia_profe_Click()abrir_form Form_materias_profe, "Form_materias_profe"End SubPrivate Sub m_c_periodoactivo_Click()abrir_form form_periodo_activo, "form_periodo_activo"End SubPrivate Sub m_c_r_areas_Click()abrir_form form_permisos2, "form_permisos2"End SubPrivate Sub m_c_r_materias_Click()abrir_form Form_materias, "Form_materias"End SubPrivate Sub m_c_r_niveles_Click()abrir_form Form_niveles, "Form_niveles"End SubPrivate Sub m_c_r_paralelos_Click()abrir_form Form_paralelos, "Form_paralelos" 2
  42. 42. End SubPrivate Sub m_c_r_parciales_Click()abrir_form Form_parciales, "Form_parciales"End SubPrivate Sub m_c_r_periodos_Click()abrir_form Form_periodos, "Form_periodos"End SubPrivate Sub m_c_r_profesores_Click()abrir_form Form_profesores, "Form_profesores"End SubPrivate Sub m_c_r_uauarios_Click()abrir_form Form_Usuarios, "Form_Usuarios"End SubPrivate Sub m_m_i_inf_matri_Click()abrir_form form_rep_estudiantes_matriculados,"form_rep_estudiantes_matriculados"End SubPrivate Sub m_m_r_estudiantes_Click()abrir_form Form_estudiante, "Form_estudiante"End SubPrivate Sub m_m_r_matricual_otros_Click()abrir_form Form_matricula2, "Form_matricula2"End SubPrivate Sub m_m_r_matricula_Click()abrir_form Form_matricula, "Form_matricula"End SubPrivate Sub m_m_r_representantes_Click()abrir_form Form_representante, "Form_representante"End SubPrivate Sub m_n_i_inf_concentrado_Click()abrir_form form_rep_notas_concentrado, "form_rep_notas_concentrado"End SubPrivate Sub m_n_i_inf_notas_x_estudiante_Click()abrir_form form_rep_notas_alumno_x_trimestre,"form_rep_notas_alumno_x_trimestre"End SubPrivate Sub m_n_i_inf_notas_x_materias_trimestre_Click()abrir_form Form_notas_materias, "Form_notas_materias"End SubPrivate Sub m_n_i_inf_notas_x_trimestre_Click()abrir_form form_rep_notas_x_trimestre, "form_rep_notas_x_trimestre"End SubPrivate Sub m_n_i_notas_estu_concentrado_Click()abrir_form form_rep_notas_alumno_concentrado,"form_rep_notas_alumno_concentrado"End SubPrivate Sub m_n_notas_estudiante_Click()abrir_form Form_notas, "Form_notas" 3
  43. 43. End SubPrivate Sub m_salir_Click()Unload MeEnd SubPrivate Sub MDIForm_Load()Set apli = New ApplicationCrae_aplicacion_excelNOMBRE_ESCUELA = Extrae_config("8")Set tabla = base.Execute("SELECT NOMBRE FROM PERIODO WHERECODIGO=" & Gperiodo & "")If tabla.EOF = False Then NOMBRE_PERIODO = tabla.Fields(0).ValueEnd Iftabla.CloseSet tabla = NothingMe.Caption = "Systema de Control Escolar - " & NOMBRE_PERIODOEnd SubPrivate Sub Crae_aplicacion_excel()Set Apli = New Excel.ApplicationEnd SubPrivate Sub MDIForm_Unload(Cancel As Integer)If base.State = 1 Then base.CloseEnd IfShell "TASKKILL /F /IM EXCEL.exe", vbMinimizedNoFocusEnd Sub1.3 FORMULARIO REGISTRO DE ESTUDIANTESDim strtabla As StringDim camposKP As StringDim nuevo_reg As StringDim reg_actual As StringDim filtro As StringDim opcion_foto As StringOption ExplicitDim DataFile As IntegerDim Chunk() As ByteConst conChunkSize As Integer = 16384Dim ar As FieldDim accion As StringPublic Sub Set_Accion(valor As String) accion = valorEnd Sub 4
  44. 44. Public Function Get_Accion() As String Get_Accion = accionEnd FunctionPublic Function Get_filtro() As String Get_filtro = filtroEnd FunctionPublic Function Get_nuevo() As String Get_nuevo = nuevo_regEnd FunctionPublic Sub Set_Reg_actual(valor As String) reg_actual = valorEnd SubPublic Function Get_tabla() As String Get_tabla = strtablaEnd FunctionPublic Function Get_camposPK() As String Get_camposPK = camposKPEnd FunctionPublic Sub SALIR()Unload MeEnd SubPrivate Sub cmd_anterior_Click()LLenaDatosForm 3End SubPrivate Sub cmd_busca_madre_Click()On Error GoTo SALIRBusqueda_sql "SELECT codigo,nombre,cedula,direccion FROM representantewhere sexo=2"Busqueda_where " and codigo+NOMBRE+cedula "Busqueda_orden "2"Busqueda_Ncampos 4Busqueda_campos 0, "Codigo", 5Busqueda_campos 1, "Nombre", 40Busqueda_campos 2, "Cedula", 20Busqueda_campos 3, "Direccion", 60Busqueda_indice 0Busqueda.boton = TrueLoad frmbusquedafrmbusqueda.Show vbModalIf Busqueda.retorna <> "" Then If Busqueda.retorna <> "Abrir" Then txt_madre.TEXT = Busqueda.retorna If Busqueda.retorna = "Abrir" Then Load Form_representante Form_representante.Show End If 5
  45. 45. End IfExit SubSALIR:End SubPrivate Sub cmd_busca_padre_Click()On Error GoTo SALIRBusqueda_sql "SELECT codigo,nombre,Cedula,direccion FROM representantewhere sexo=1"Busqueda_where " and codigo+NOMBRE+cedula "Busqueda_orden "2"Busqueda_Ncampos 4Busqueda_campos 0, "Codigo", 5Busqueda_campos 1, "Nombre", 40Busqueda_campos 2, "Cedula", 20Busqueda_campos 3, "Direccion", 60Busqueda_indice 0Busqueda.boton = TrueLoad frmbusquedafrmbusqueda.Show vbModalIf Busqueda.retorna <> "" Then If Busqueda.retorna <> "Abrir" Then txt_padre.TEXT = Busqueda.retorna End If If Busqueda.retorna = "Abrir" Then Load Form_representante Form_representante.Show End IfEnd IfExit SubSALIR:End SubPrivate Sub cmd_busca_repre_Click()On Error GoTo SALIRBusqueda_sql "SELECT codigo,nombre,cedula,direccion FROM representante "Busqueda_where "Where codigo+NOMBRE+cedula "Busqueda_orden "2"Busqueda_Ncampos 4Busqueda_campos 0, "Codigo", 5Busqueda_campos 1, "Nombre", 40Busqueda_campos 2, "Cedula", 20Busqueda_campos 3, "Direccion", 60Busqueda_indice 0Busqueda.boton = TrueLoad frmbusquedafrmbusqueda.Show vbModal 6
  46. 46. If Busqueda.retorna <> "" Then If Busqueda.retorna <> "Abrir" Then txt_repre.TEXT = Busqueda.retorna If Busqueda.retorna = "Abrir" Then Load Form_representante Form_representante.Show End IfEnd IfExit SubSALIR:End SubPrivate Sub cmd_buscar_Click()On Error GoTo SALIRBusqueda_sql "SELECT codigo,NOMBREs,telefono,direccion FROM estudiante"Busqueda_where " WHERE codigo+NOMBREs "Busqueda_orden "2"Busqueda_Ncampos 4Busqueda_campos 0, "Codigo", 5Busqueda_campos 1, "Nombre", 40Busqueda_campos 2, "Telefono", 15Busqueda_campos 3, "Direccion", 40Busqueda_indice 0Load frmbusquedafrmbusqueda.Show vbModalIf Busqueda.retorna <> "" Then LLenaDatosForm 0, Busqueda.retornaEnd IfExit SubSALIR:ERRORESEnd SubPrivate Sub cmd_cancelar_Click()CancelarEnd SubPrivate Sub cmd_eliminar_Click()Elimna_regEnd SubPrivate Sub cmd_guarda_img_Click()Dim SQL12 As StringDim cade As StringGuardarcade = VerificarIf cade <> "" Then Exit SubIf opcion_foto = "0" Then 7
  47. 47. SQL12 = "select * from imagenes where estudiante=" & eti_codigo.Caption &" and periodo=" & Gperiodo & ""Else SQL12 = "select * from imagenes where estudiante=" & eti_codigo.Caption &""End IfSet tabla_aux = base.Execute(SQL12)If tabla_aux.EOF = True Then SQL12 = "INSERT INTO IMAGENES(ESTUDIANTE,periodo) VALUES("& eti_codigo.Caption & "," & Gperiodo & " )" base.Execute (SQL12)End Iftabla_aux.CloseSet tabla_aux = NothingIf opcion_foto = "0" Then SQL12 = "select foto from imagenes where estudiante=" & eti_codigo.Caption& " and periodo=" & Gperiodo & ""Else SQL12 = "select foto from imagenes where estudiante=" & eti_codigo.Caption& ""End Iftabla_aux.Open SQL12, base, adOpenDynamic, adLockOptimisticGuardarBinary tabla_aux, foto, 0tabla_aux.updatetabla_aux.CloseSet tabla_aux = NothingEnd SubPrivate Sub cmd_guardar_Click()GuardarEnd SubPrivate Sub cmd_img_Click()On Error Resume NextIf eti_codigo.Caption = "" Then Exit Subcdl.CancelError = Truecdl.Filter = "imagenes de mapa de Bit *.bmp|*.bmp|imagenes *.jpg|*.jpg"cdl.FileName = "NOTAS " & cmb_materia.Text & " " &ExtraeIDCombo(cmb_grado) & cmb_paralelo.Text & " " &ExtraeIDCombo(cmb_parcial) & "º TRIMESTRE"cdl.ShowOpentxt_foto.TEXT = cdl.FileTitlefoto.Picture = LoadPicture(cdl.FileName)End SubPrivate Sub cmd_nuevo_Click() 8
  48. 48. NuevoEnd SubPrivate Sub cmd_primero_Click()LLenaDatosForm 1End SubPrivate Sub cmd_salir_Click()SALIREnd SubPrivate Sub cmd_siguiente_Click()LLenaDatosForm 4End SubPrivate Sub cmd_ultimo_Click()LLenaDatosForm 2End SubPrivate Sub eti_codigo_Change()Dim SQL12 As StringIf eti_codigo.Caption <> "" Then If opcion_foto = "0" Then SQL12 = "SELECT top 1 FOTO FROM IMAGENES WHEREESTUDIANTE=" & eti_codigo.Caption & " and periodo=" & Gperiodo & "" Else SQL12 = "SELECT top 1 FOTO FROM IMAGENES WHEREESTUDIANTE=" & eti_codigo.Caption & "" End If Set tabla_aux = base.Execute(SQL12) If tabla_aux.EOF = False Then LeerBinary tabla_aux, foto, 0 tabla_aux.MoveNext Else Set foto.Picture = Nothing End If tabla_aux.Close Set tabla_aux = NothingElse Set foto.Picture = NothingEnd IfEnd SubPrivate Sub Form_Activate()Set FRM = MeEnd SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 13 Then SendKeys vbTabEnd SubPrivate Sub Form_Load() 9
  49. 49. Dim ruta As Stringruta = App.Path & "iconoslisto.gif"img_listo.Picture = LoadPicture(ruta)filtro = ""opcion_foto = Extrae_config("17")strtabla = "estudiante"camposKP = "|codigo|"nuevo_reg = "codigo"LLENACOMBO cmb_sexo, "select codigo,nombre from tsexo"Set FRM = MeLLenaDatosFormEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)KeyAscii = SoloNombre(KeyAscii)End SubPrivate Sub Text2_Change()If Cedula(Text2) = False Then img_listo.Visible = FalseElse img_listo.Visible = TrueEnd IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)KeyAscii = SoloCedula(KeyAscii)End SubPrivate Sub txt_foto_Change()Dim SQL12 As StringIf eti_codigo.Caption <> "" Then If opcion_foto = "0" Then SQL12 = "SELECT top 1 FOTO FROM IMAGENES WHEREESTUDIANTE=" & eti_codigo.Caption & " and periodo=" & Gperiodo & "" Else SQL12 = "SELECT top 1 FOTO FROM IMAGENES WHEREESTUDIANTE=" & eti_codigo.Caption & "" End If Set tabla_aux = base.Execute(SQL12) If tabla_aux.EOF = False Then LeerBinary tabla_aux, foto, 0 tabla_aux.MoveNext Else Set foto.Picture = Nothing End If tabla_aux.Close Set tabla_aux = NothingElse Set foto.Picture = Nothing 10
  50. 50. End IfEnd SubPrivate Sub txt_madre_Change()Dim SQL12 As StringSQL12 = "select nombre from representante where codigo=" & txt_madre.TEXT& " "Set tabla_aux = base.Execute(SQL12)If tabla_aux.EOF = False Then eti_madre.Caption = tabla_aux.Fields(0).ValueElse eti_madre.Caption = ""End Iftabla_aux.CloseSet tabla_aux = NothingEnd SubPrivate Sub txt_padre_Change()Dim SQL12 As StringSQL12 = "select nombre from representante where codigo=" & txt_padre.TEXT& " "Set tabla_aux = base.Execute(SQL12)If tabla_aux.EOF = False Then eti_padre.Caption = tabla_aux.Fields(0).ValueElse eti_padre.Caption = ""End Iftabla_aux.CloseSet tabla_aux = NothingEnd SubPrivate Sub txt_repre_Change()Dim SQL12 As StringSQL12 = "select nombre from representante where codigo=" & txt_repre.TEXT& " "Set tabla_aux = base.Execute(SQL12)If tabla_aux.EOF = False Then eti_repre.Caption = tabla_aux.Fields(0).ValueElse eti_repre.Caption = ""End Iftabla_aux.CloseSet tabla_aux = NothingEnd SubPrivate Sub txtdireccion_KeyPress(KeyAscii As Integer)KeyAscii = SoloTexto(KeyAscii)End Sub 11
  51. 51. Private Sub txtnombres_KeyPress(KeyAscii As Integer)KeyAscii = SoloNombre(KeyAscii)End SubPrivate Sub txttelefono_KeyPress(KeyAscii As Integer)KeyAscii = SoloNumero(KeyAscii)End Sub1.5 FORMULARIO REGISTRO SISTENCIAS DE PROFESORESDim d_grid(100) As DATOS_GRIDDim Libro As Excel.WorkbookDim strtabla As StringDim HOJA As Excel.WorksheetDim a_col As IntegerDim a_fil As IntegerPrivate Sub CARGA_GRID(nombre As String, FILA As Integer, valor AsVariant) Dim I As Integer For I = 0 To GRID.Cols - 1 If UCase(d_grid(I).campo_col) = UCase(nombre) Then GRID.TextMatrix(FILA, d_grid(I).n_col) = valor If d_grid(I).revisar = True Then GRID.Row = FILA GRID.col = col_nombre(d_grid(I).cabecera_col) If valor = "S" Then Set GRID.CellPicture = LoadPicture(App.Path &"iconoschksi.bmp") Else Set GRID.CellPicture = LoadPicture(App.Path &"iconoschkno.bmp") End If GRID.CellPictureAlignment = 3 End If End If NextEnd SubPrivate Sub LIMPIA_GRID()Dim I, c As IntegerGRID.Rows = 2For c = 0 To GRID.Cols - 1 GRID.TextMatrix(1, c) = ""NextEnd SubPrivate Function col_nombre(nombre As String) As Integer Dim I As Integer 12
  52. 52. For I = 0 To GRID.Cols - 1 If UCase(d_grid(I).campo_col) = UCase(nombre) Then col_nombre = d_grid(I).n_col Exit Function End If NextEnd FunctionPrivate Function row_valor(valor As String, c As Integer) As Integer Dim I As Integer For I = 0 To GRID.Rows - 1 If GRID.TextMatrix(I, c) = UCase(valor) Then row_valor = I Exit Function End If NextEnd FunctionPrivate Function EXITE_ASISTENCIA(FILA As Integer) As BooleanDim SQL1, strand As Stringstrand = " "EXITE_ASISTENCIA = FalseSQL1 = "select count(*) as UNOS from " & strtabla & " where "For I = 0 To GRID.Cols - 1 If d_grid(I).clave = True Then SQL1 = SQL1 & strand & d_grid(I).campo_col & " = " &GRID.TextMatrix(FILA, d_grid(I).n_col) & "" strand = " AND " End IfNextSet tabla = base.Execute(SQL1)If tabla.Fields(0).Value <> 0 Then EXITE_ASISTENCIA = TrueEnd Iftabla.CloseSet tabla = NothingEnd FunctionPrivate Function genera_INSERT(FILA As Integer) As StringDim SQL1, SQL2, strCOMA As StringstrCOMA = " "SQL1 = "INSERT INTO " & strtabla & "("SQL2 = " VALUES ("For I = 0 To GRID.Cols - 1 If d_grid(I).insertable = True Then SQL1 = SQL1 & strCOMA & d_grid(I).campo_col SQL2 = SQL2 & strCOMA & "" & GRID.TextMatrix(FILA,d_grid(I).n_col) & "" strCOMA = "," End If 13
  53. 53. NextSQL1 = SQL1 & ") "SQL2 = SQL2 & ") "SQL1 = SQL1 & SQL2genera_INSERT = SQL1End FunctionPrivate Function genera_UPDATE(FILA As Integer) As StringDim SQL1, SQL2, strCOMA, strand As StringstrCOMA = " "strand = " "SQL1 = "UPDATE " & strtabla & " set "SQL2 = " WHERE "For I = 0 To GRID.Cols - 1 If d_grid(I).insertable = True And d_grid(I).clave = False Then SQL1 = SQL1 & strCOMA & d_grid(I).campo_col & "=" &GRID.TextMatrix(FILA, d_grid(I).n_col) & "" strCOMA = "," End If If d_grid(I).clave = True Then SQL2 = SQL2 & strand & d_grid(I).campo_col & " = " &GRID.TextMatrix(FILA, d_grid(I).n_col) & "" strand = " AND " End IfNextSQL1 = SQL1 & " "SQL2 = SQL2 & " "SQL1 = SQL1 & SQL2genera_UPDATE = SQL1End FunctionPrivate Sub cmd_entrada_Click()GRID.TextMatrix(a_fil, col_nombre("hora_e")) = lbl_hora.Captioncmd_entrada.Enabled = FalseEnd SubPrivate Sub cmd_guardar_Click()Dim SQL1, SQL2, SQL3 As StringDim FILA, I As IntegerIf GRID.TextMatrix(1, col_nombre("periodo")) <> "" And GRID.TextMatrix(1,col_nombre("profesor")) <> "" And GRID.TextMatrix(1, col_nombre("fecha"))<> "" Then If EXITE_ASISTENCIA(1) = True Then If Permiso("M", Me.Name) = False Then Exit Sub End IfEnd IfFor I = 1 To GRID.Rows - 1 14
  54. 54. If GRID.TextMatrix(I, col_nombre("periodo")) <> "" And GRID.TextMatrix(I,col_nombre("profesor")) <> "" And GRID.TextMatrix(I, col_nombre("fecha"))<> "" Then If EXITE_ASISTENCIA(I) = True Then SQL1 = genera_UPDATE(I) Else SQL1 = genera_INSERT(I) End If base.Execute (SQL1) End IfNextEnd SubPrivate Sub cmd_procesar_Click()procesarEnd SubPrivate Sub procesar()Dim SQL1, SQL2 As StringDim FILA As Integertxt.Visible = FalseLIMPIA_GRIDIf cmb_grado.ListIndex = -1 Or cmb_paralelo.ListIndex = -1 Then Exit SubSQL1 = "select P.codigo as profesor,P.nombre,A.periodo as periodo,A.fecha asfecha,isnull(A.estado,S) as estado,isnull(A.justificada,N) asjustificada,isnull(A.atraso,N)as atraso,isnull(A.observacion,) asobservacion,isnull(A.hora_e,00:00:00) as hora_e,isnull(A.hora_s,00:00:00) ashora_s from profesor P left outer join asistencias_P A on P.codigo=A.profesorwhere A.fecha=" & dtp_fecha.Value & " and A.periodo=" & Gperiodo & "order by P.nombre"SQL1 = "select p.codigo as profesor,p.nombre,periodo=" & Gperiodo &",fecha=" & dtp_fecha.Value & ",estado=isnull((select estado from asistencias_pwhere profesor=p.codigo and periodo=" & Gperiodo & " and fecha=" &dtp_fecha.Value & "),S),justificada=isnull((select justificada from asistencias_pwhere profesor=p.codigo and periodo=" & Gperiodo & " and fecha=" &dtp_fecha.Value & "),N),atraso=isnull((select atraso from asistencias_p whereprofesor=p.codigo and periodo=" & Gperiodo & " and fecha=" &dtp_fecha.Value & "),N) "SQL1 = SQL1 & ",observacion=isnull((select observacion from asistencias_pwhere profesor=p.codigo and periodo=" & Gperiodo & " and fecha=" &dtp_fecha.Value & "),),hora_e=isnull((select hora_e from asistencias_p whereprofesor=p.codigo and periodo=" & Gperiodo & " and fecha=" &dtp_fecha.Value & "),00:00:00),hora_s=isnull((select hora_s from asistencias_pwhere profesor=p.codigo and periodo=" & Gperiodo & " and fecha=" &dtp_fecha.Value & "),00:00:00) from profesor P"SQL2 = "select P.codigo as profesor,P.nombre," & Gperiodo & " as periodo," &dtp_fecha.Value & " as fecha,S as estado,N as justificada,N as atraso, asobservacion,00:00:00 as hora_e ,00:00:00 as hora_s from profesor P order byP.nombre" 15
  55. 55. Set tabla = base.Execute(SQL1)If tabla.EOF = True Then tabla.Close Set tabla = Nothing Set tabla = base.Execute(SQL2) If tabla.EOF = True Then tabla.Close Set tabla = Nothing MsgBox "No existen Estudiantes Matriculados", vbInformation, "SISTEMA" Exit Sub End IfEnd IfFILA = 1Do Until tabla.EOF = True For I = 0 To tabla.Fields.Count - 1 CARGA_GRID tabla.Fields.Item(I).Name, FILA, tabla.Fields(I).Value Next GRID.TextMatrix(FILA, col_nombre("N_lista")) = FILA tabla.MoveNext If tabla.EOF = False Then FILA = FILA + 1 GRID.Rows = GRID.Rows + 1 End IfLooptabla.CloseSet tabla = NothingEnd SubPrivate Sub cmd_salida_Click()GRID.TextMatrix(a_fil, col_nombre("hora_s")) = lbl_hora.Captioncmd_salida.Enabled = FalseEnd SubPrivate Sub cmd_salir_Click()SALIREnd SubPublic Sub SALIR()Unload MeEnd SubPrivate Sub dtp_Change()On Error Resume NextGRID.TextMatrix(a_fil, a_col) = dtp.ValueEnd Sub 16
  56. 56. Private Sub dtp_fecha_Change()procesarEnd SubPrivate Sub dtp_fecha_Click()cmd_entrada.Enabled = Falsecmd_salida.Enabled = FalseprocesarEnd SubPrivate Sub Form_Load()Me.Top = 0Me.Left = 10coloca_tolti Mestrtabla = "Asistencias_P"DAT_gridCONF_GRIDdtp_fecha.Value = Dateprocesarlbl_hora.Caption = TimeEnd SubPrivate Sub DAT_grid()GRID.Cols = 14d_grid(0).n_col = 0d_grid(0).ancho_col = 0d_grid(0).cabecera_col = ""d_grid(0).campo_col = "periodo"d_grid(0).campo_col2 = ""d_grid(0).revisar = Falsed_grid(0).clave = Trued_grid(0).insertable = Trued_grid(0).Obligatorio = Falsed_grid(0).editable = Falsed_grid(1).n_col = 1d_grid(1).ancho_col = 0d_grid(1).cabecera_col = ""d_grid(1).campo_col = "profesor"d_grid(1).campo_col2 = ""d_grid(1).revisar = Falsed_grid(1).clave = Trued_grid(1).insertable = Trued_grid(1).editable = Falsed_grid(1).Obligatorio = Falsed_grid(2).n_col = 2d_grid(2).ancho_col = 0d_grid(2).cabecera_col = "" 17
  57. 57. d_grid(2).campo_col = "fecha"d_grid(2).campo_col2 = ""d_grid(2).revisar = Falsed_grid(2).clave = Trued_grid(2).insertable = Trued_grid(2).editable = Falsed_grid(2).Obligatorio = Falsed_grid(3).n_col = 3d_grid(3).ancho_col = 600d_grid(3).cabecera_col = "Nº"d_grid(3).campo_col = "N_lista"d_grid(3).campo_col2 = ""d_grid(3).revisar = Falsed_grid(3).clave = Falsed_grid(3).insertable = Falsed_grid(3).editable = Falsed_grid(3).Obligatorio = Falsed_grid(4).n_col = 4d_grid(4).ancho_col = 3000d_grid(4).cabecera_col = "Nomina"d_grid(4).campo_col = "nombre"d_grid(4).campo_col2 = ""d_grid(4).revisar = Falsed_grid(4).clave = Falsed_grid(4).insertable = Falsed_grid(4).editable = Falsed_grid(4).Obligatorio = Falsed_grid(5).n_col = 5d_grid(5).ancho_col = 300d_grid(5).cabecera_col = "A"d_grid(5).campo_col = "estado2"d_grid(5).campo_col2 = "estado"d_grid(5).revisar = Trued_grid(5).clave = Falsed_grid(5).insertable = Falsed_grid(5).editable = Trued_grid(5).Obligatorio = Falsed_grid(6).n_col = 6d_grid(6).ancho_col = 300d_grid(6).cabecera_col = "J"d_grid(6).campo_col = "justificada2"d_grid(6).campo_col2 = "justificada"d_grid(6).revisar = Trued_grid(6).clave = Falsed_grid(6).insertable = Falsed_grid(6).editable = Trued_grid(6).Obligatorio = Falsed_grid(7).n_col = 7 18
  58. 58. d_grid(7).ancho_col = 300d_grid(7).cabecera_col = "AT"d_grid(7).campo_col = "atraso2"d_grid(7).campo_col2 = "atraso"d_grid(7).revisar = Trued_grid(7).clave = Falsed_grid(7).insertable = Falsed_grid(7).editable = Trued_grid(7).Obligatorio = Falsed_grid(8).n_col = 8d_grid(8).ancho_col = 800d_grid(8).cabecera_col = "H entrada"d_grid(8).campo_col = "hora_e"d_grid(8).campo_col2 = ""d_grid(8).revisar = flased_grid(8).clave = Falsed_grid(8).insertable = Trued_grid(8).editable = Trued_grid(8).Obligatorio = Trued_grid(9).n_col = 9d_grid(9).ancho_col = 800d_grid(9).cabecera_col = "H Salida"d_grid(9).campo_col = "hora_s"d_grid(9).campo_col2 = ""d_grid(9).revisar = Falsed_grid(9).clave = Falsed_grid(9).insertable = Trued_grid(9).editable = Trued_grid(9).Obligatorio = Trued_grid(10).n_col = 10d_grid(10).ancho_col = 4000d_grid(10).cabecera_col = "Observacion"d_grid(10).campo_col = "Observacion"d_grid(10).campo_col2 = ""d_grid(10).revisar = Falsed_grid(10).clave = Falsed_grid(10).insertable = Trued_grid(10).editable = Trued_grid(10).Obligatorio = Falsed_grid(11).n_col = 11d_grid(11).ancho_col = 0d_grid(11).cabecera_col = "estado2"d_grid(11).campo_col = "estado"d_grid(11).campo_col2 = ""d_grid(11).revisar = Trued_grid(11).clave = Falsed_grid(11).insertable = Trued_grid(11).editable = False 19
  59. 59. d_grid(11).Obligatorio = Falsed_grid(12).n_col = 12d_grid(12).ancho_col = 0d_grid(12).cabecera_col = "justificada2"d_grid(12).campo_col = "justificada"d_grid(12).campo_col2 = ""d_grid(12).revisar = Trued_grid(12).clave = Falsed_grid(12).insertable = Trued_grid(12).editable = Falsed_grid(12).Obligatorio = Falsed_grid(13).n_col = 13d_grid(13).ancho_col = 0d_grid(13).cabecera_col = "atraso2"d_grid(13).campo_col = "atraso"d_grid(13).campo_col2 = ""d_grid(13).revisar = Trued_grid(13).clave = Falsed_grid(13).insertable = Trued_grid(13).editable = Falsed_grid(13).Obligatorio = FalseEnd SubPrivate Sub CONF_GRID()Dim I As IntegerGRID.Rows = 2For I = 0 To GRID.Cols - 1 GRID.ColWidth(I) = d_grid(I).ancho_col GRID.TextMatrix(0, I) = d_grid(I).cabecera_colNextGRID.FixedCols = col_nombre("N_lista") + 1End SubPrivate Sub GRID_Click()Dim a_tex As Stringtxt.Visible = Falsetxt2.Visible = Falsea_col = GRID.cola_fil = GRID.Rowcmd_entrada.Enabled = Falsecmd_salida.Enabled = FalseIf d_grid(GRID.col).editable = False Then lbl_nombre.Caption = GRID.TextMatrix(a_fil, col_nombre("nombre")) If GRID.TextMatrix(a_fil, col_nombre("hora_e")) = "00:00:00" Then cmd_entrada.Enabled = True ElseIf GRID.TextMatrix(a_fil, col_nombre("hora_s")) = "00:00:00" Then cmd_salida.Enabled = True End IfElse 20
  60. 60. a_col = GRID.col a_fil = GRID.Row If d_grid(GRID.col).revisar = False Then a_tex = "" txt.Visible = False txt2.Visible = False If d_grid(GRID.col).Obligatorio = False Then txt.Top = GRID.Top + GRID.CellTop txt.Left = GRID.Left + GRID.CellLeft txt.Width = GRID.CellWidth - 10 txt.Height = GRID.CellHeight - 10 txt.TEXT = GRID.TextMatrix(a_fil, a_col) txt.Visible = True txt.SetFocus txt.SelLength = Len(txt.TEXT) End If Else txt2.Top = GRID.Top + GRID.CellTop txt2.Left = GRID.Left + GRID.CellLeft txt2.Width = GRID.CellWidth - 10 txt2.Height = GRID.CellHeight - 10 txt2.TEXT = GRID.TextMatrix(a_fil, a_col) txt2.Visible = True txt2.SetFocus txt2.SelLength = Len(txt.TEXT) End If Else If GRID.TextMatrix(a_fil, col_nombre(d_grid(GRID.col).campo_col2)) ="S" Then GRID.TextMatrix(a_fil, col_nombre(d_grid(GRID.col).campo_col2)) ="N" Set GRID.CellPicture = LoadPicture(App.Path & "iconoschkno.bmp") Else GRID.TextMatrix(a_fil, col_nombre(d_grid(GRID.col).campo_col2)) ="S" Set GRID.CellPicture = LoadPicture(App.Path & "iconoschksi.bmp") End If End IfEnd IfEnd SubPrivate Sub GRID_KeyPress(KeyAscii As Integer)If KeyAscii = vbKeySpace Then GRID_ClickEnd If 21
  61. 61. End SubPrivate Sub MaskEdBox1_Change()End SubPrivate Sub Timer1_Timer()lbl_hora.Caption = TimeEnd SubPrivate Sub txt_Change()On Error Resume NextGRID.TextMatrix(a_fil, a_col) = txt.TEXTEnd SubPrivate Sub txt_KeyPress(KeyAscii As Integer)KeyAscii = SoloTexto(KeyAscii)End SubPrivate Sub txt2_Change()On Error Resume NextGRID.TextMatrix(a_fil, a_col) = txt2.TEXTEnd SubPrivate Sub txt2_KeyPress(KeyAscii As Integer)KeyAscii = SoloTexto(KeyAscii)End Sub1.6 FORMULARIO BLOQUEO DE SISTEMAPrivate Sub cmb_usuarios_Click()Cod_usuario = ExtraeIDCombo(cmb_usuarios)End SubPrivate Sub cmdCancel_Click()If base.State = 1 Then base.CloseEnd IfEndEnd SubPrivate Sub cmdOK_Click()Dim STRSQL As StringIf cmb_usuarios.ListIndex = -1 Then Exit Sub 22
  62. 62. STRSQL = "SELECT COUNT(*) as total FROM USUARIOS WHEREcodigo=" & ExtraeIDCombo(cmb_usuarios) & " and upper(clave) = " &UCase(txt_clave.TEXT) & ""Set tabla = base.Execute(STRSQL)If tabla.Fields(0).Value > 0 Then tabla.Close Set tabla = Nothing Unload Me Exit SubEnd Iftxt_clave.TEXT = ""MsgBox ("datos Incorrectos")tabla.CloseSet tabla = NothingEnd SubPrivate Sub Form_Load()cod_usu = Leer_Ini(ruta_ini, "usuario", "")LLENACOMBO cmb_usuarios, "select codigo,nombre from usuarios"End Sub1.7 FORMULARIO DE CONFIGURACION DE MATERIAS A GRADOPrivate Sub cmb_grado_Click()If cmb_grado.ListIndex = -1 Then Exit SubLLENACOMBO List_materi_grado, "select codigo,nombre from materias whereCODIGO IN(SELECT MATERIA FROM MATERIA_GRADO WHEREperiodo=" & Gperiodo & " and grado=" & ExtraeIDCombo(cmb_grado) & ")"End SubPrivate Sub EjecutaSQL(cade As String)On Error GoTo SALIR2 base.Execute (cade)Exit SubSALIR2:ERRORESEnd SubPrivate Sub cmd_guardar_Click()Dim SQL1 As StringDim SQL2 As StringDim MAX_COD As IntegerIf cmb_grado.ListIndex = -1 Then Exit SubIf list_aux.ListCount > 0 Then For I = 0 To list_aux.ListCount - 1 list_aux.ListIndex = I 23
  63. 63. SQL1 = "DELETE FROM MATERIA_GRADO WHERE PERIODO=" &Gperiodo & " AND materia=" & ExtraeIDCombo(list_aux) & " and grado=" &ExtraeIDCombo(cmb_grado) & "" EjecutaSQL SQL1 Next list_aux.ClearEnd IfIf List_materi_grado.ListCount > 0 Then For I = 0 To List_materi_grado.ListCount - 1 List_materi_grado.ListIndex = I SQL1 = "SELECT COUNT(*) AS UNOS FROM MATERIA_GRADOWHERE PERIODO=" & Gperiodo & " AND materia=" &ExtraeIDCombo(List_materi_grado) & " and grado=" &ExtraeIDCombo(cmb_grado) & "" Set tabla = base.Execute(SQL1) If tabla.Fields(0).Value = 0 Then NO EXISTE SQL2 = "INSERT INTOMATERIA_GRADO(PERIODO,GRADO,MATERIA) VALUES(" & Gperiodo& "," & ExtraeIDCombo(cmb_grado) & "," &ExtraeIDCombo(List_materi_grado) & ")" EjecutaSQL SQL2 End If tabla.Close Set tabla = Nothing NextEnd IfEnd SubPrivate Sub cmd_pasauno_Click()If cmb_grado.ListIndex = -1 Then Exit SubIf list_materias.ListIndex = -1 Then Exit SubIf EXISTE_ITEM(List_materi_grado, CLng(ExtraeIDCombo(list_materias))) =True Then Exit SubList_materi_grado.AddItem list_materias.TEXTList_materi_grado.ItemData(List_materi_grado.NewIndex) =ExtraeIDCombo(list_materias)list_materias.RemoveItem (list_materias.ListIndex)End SubPrivate Sub cmd_quitatodo_Click()For I = 0 To List_materi_grado.ListCount - 1 List_materi_grado.ListIndex = I list_aux.AddItem List_materi_grado.TEXT list_aux.ItemData(list_aux.NewIndex) = ExtraeIDCombo(List_materi_grado)NextList_materi_grado.ClearEnd Sub 24
  64. 64. Private Sub cmd_quitauno_Click()If List_materi_grado.ListIndex = -1 Then Exit Sublist_aux.AddItem List_materi_grado.TEXTlist_aux.ItemData(list_aux.NewIndex) = ExtraeIDCombo(List_materi_grado)List_materi_grado.RemoveItem (List_materi_grado.ListIndex)End SubPrivate Sub Form_Load()Me.Top = 0Me.Left = 10coloca_tolti MeLLENACOMBO cmb_grado, "select codigo,nombre from grados"LLENACOMBO list_materias, "select codigo,nombre from materias" order bynombre"End SubPrivate Sub cmd_salir_Click()SALIREnd SubPublic Sub SALIR()Unload MeEnd SubPrivate Sub list_materias_Click()list_materias.ToolTipText = ExtraeIDCombo(list_materias)End Sub1.8 FORMULARIO DE REGISTRO DE MATERIASDim strtabla As StringDim camposKP As StringDim nuevo_reg As StringDim reg_actual As StringDim filtro As StringDim retorna As StringDim accion As StringPublic Sub Set_Accion(valor As String) accion = valorEnd SubPublic Function Get_Accion() As String Get_Accion = accionEnd FunctionPublic Sub Set_Retorna(valor As String) retorna = valorEnd Sub 25
  65. 65. Public Function Get_filtro() As String Get_filtro = filtroEnd FunctionPublic Function Get_nuevo() As String Get_nuevo = nuevo_regEnd FunctionPublic Sub Set_Reg_actual(valor As String) reg_actual = valorEnd SubPublic Function Get_tabla() As String Get_tabla = strtablaEnd FunctionPublic Function Get_camposPK() As String Get_camposPK = camposKPEnd FunctionPublic Sub SALIR()Unload MeEnd SubPrivate Sub cmd_anterior_Click()LLenaDatosForm 3End SubPrivate Sub cmd_buscar_Click()On Error GoTo SALIRBusqueda_sql "SELECT codigo,NOMBRE FROM materias "Busqueda_where " WHERE codigo+NOMBRE "Busqueda_orden "2"Busqueda_Ncampos 2Busqueda_campos 0, "Codigo", 20Busqueda_campos 1, "Nombre de Materia", 80Busqueda_indice 0Load frmbusquedafrmbusqueda.Show vbModalIf Busqueda.retorna <> "" Then LLenaDatosForm 0, Busqueda.retornaEnd IfExit SubSALIR:ERRORESEnd SubPrivate Sub cmd_cancelar_Click()CancelarEnd SubPrivate Sub cmd_eliminar_Click()Elimna_reg 26
  66. 66. End SubPrivate Sub cmd_guardar_Click()GuardarEnd SubPrivate Sub cmd_nuevo_Click()NuevoEnd SubPrivate Sub cmd_primero_Click()LLenaDatosForm 1End SubPrivate Sub cmd_salir_Click()SALIREnd SubPrivate Sub cmd_siguiente_Click()LLenaDatosForm 4End SubPrivate Sub cmd_ultimo_Click()LLenaDatosForm 2End SubPrivate Sub Form_Activate()Set FRM = MeEnd SubPrivate Sub Form_Load()filtro = ""LLENACOMBO cmb_area, "Select codigo,nombre from areas order by nombre"strtabla = "materias"camposKP = "|codigo|"nuevo_reg = "codigo"Set FRM = MeLLenaDatosFormEnd SubPrivate Sub txtnombre_KeyPress(KeyAscii As Integer)KeyAscii = SoloTexto(KeyAscii)End Sub1.9 FORMULARIOS CONFIGURACION MATERIAS PROFESORDim strtabla As StringDim camposKP As StringDim nuevo_reg As StringDim reg_actual As StringDim filtro As StringDim d_grid(100) As DATOS_GRIDDim a_col As IntegerDim a_fil As IntegerPublic Function Get_filtro() As String 27
  67. 67. Get_filtro = filtroEnd FunctionPublic Function Get_nuevo() As String Get_nuevo = nuevo_regEnd FunctionPublic Sub Set_Reg_actual(valor As String) reg_actual = valorEnd SubPublic Function Get_tabla() As String Get_tabla = strtablaEnd FunctionPublic Function Get_camposPK() As String Get_camposPK = camposKPEnd FunctionPublic Sub SALIR()Unload MeEnd SubPrivate Sub cmb_grado_Click()If cmb_grado.ListIndex = -1 Then Exit SubIf GRID.TextMatrix(a_fil, col_nombre("grado")) <>ExtraeIDCombo(cmb_grado) Then GRID.TextMatrix(a_fil, col_nombre("grado")) = ExtraeIDCombo(cmb_grado) GRID.TextMatrix(a_fil, col_nombre("Ngrado")) = cmb_grado.TEXT GRID.TextMatrix(a_fil, col_nombre("materia")) = "" GRID.TextMatrix(a_fil, col_nombre("Nmateria")) = "" GRID.TextMatrix(a_fil, col_nombre("paralelo")) = "" GRID.TextMatrix(a_fil, col_nombre("Nparalelo")) = ""End IfEnd SubPrivate Sub cmb_materias_Click()If cmb_materias.ListIndex = -1 Then Exit SubGRID.TextMatrix(a_fil, col_nombre("materia")) =ExtraeIDCombo(cmb_materias)GRID.TextMatrix(a_fil, col_nombre("Nmateria")) = cmb_materias.TEXTEnd SubPrivate Sub cmb_paralelo_Click()If cmb_paralelo.ListIndex = -1 Then Exit SubGRID.TextMatrix(a_fil, col_nombre("paralelo")) =ExtraeIDCombo(cmb_paralelo)GRID.TextMatrix(a_fil, col_nombre("Nparalelo")) = cmb_paralelo.TEXTEnd Sub 28
  68. 68. Private Sub cmb_profesor_Click()procesarEnd SubPrivate Sub cmd_anterior_Click()LLenaDatosForm 3End SubPrivate Sub cmd_cancelar_Click()LLenaDatosFormEnd SubPrivate Sub cmd_eliminar_Click()cmb_grado.Visible = Falsecmb_materias.Visible = Falsecmb_paralelo.Visible = FalseELIMINA_ITEM_GRID GRID.RowEnd SubPrivate Sub cmd_guardar_Click()Dim SQL1 As StringDim FILA, I As IntegerIf cmb_profesor.ListIndex = -1 Then Exit Subcmb_grado.Visible = Falsecmb_materias.Visible = Falsecmb_paralelo.Visible = FalseFor I = 1 To GRID_RES.Rows - 1 If VALIDAR_ELIMINAR(I) = True Then SQL1 = genera_DELETE(I) EjecutaSQL SQL1 End IfNextLIMPIA_GRID_RESI=1If GRID.TextMatrix(I, col_nombre("grado")) <> "" And GRID.TextMatrix(I,col_nombre("paralelo")) <> "" And GRID.TextMatrix(I, col_nombre("materia"))<> "" Then If GRID.TextMatrix(I, col_nombre("periodo")) = "" And GRID.TextMatrix(I,col_nombre("profesor")) = "" Then GRID.TextMatrix(I, col_nombre("periodo")) = Gperiodo GRID.TextMatrix(I, col_nombre("profesor")) =ExtraeIDCombo(cmb_profesor) End IfEnd IfFor I = 1 To GRID.Rows - 1 If VALIDAR(I) = True Then If EXITE_NOTA(I) = False And MODIFICADO(I) = False Then 29
  69. 69. SQL1 = genera_INSERT(I) Else SQL1 = genera_UPDATE(I) End If EjecutaSQL SQL1 End IfNextEnd SubPrivate Sub EjecutaSQL(cade As String)On Error GoTo SALIR2 base.Execute (cade)Exit SubSALIR2:ERRORESEnd SubPrivate Function MODIFICADO(FILA As Integer) As Boolean MODIFICADO = False Dim I As Integer For I = 0 To GRID.Cols - 1 If d_grid(I).revisar = True Then If GRID.TextMatrix(FILA, col_nombre(d_grid(I).campo_col)) = "" ThenExit Function End If Next For I = 0 To GRID.Cols - 1 If d_grid(I).revisar = True Then If GRID.TextMatrix(FILA, col_nombre(d_grid(I).cabecera_col)) <>GRID.TextMatrix(FILA, col_nombre(d_grid(I).campo_col)) Then MODIFICADO = True Exit Function End If End If NextEnd FunctionPrivate Function ELIMINABLE(FILA As Integer) As Boolean ELIMINABLE = False Dim I As Integer For I = 0 To GRID.Cols - 1 If d_grid(I).revisar = True Then If GRID.TextMatrix(FILA, col_nombre(d_grid(I).cabecera_col)) = ""Then Exit Function End If Next ELIMINABLE = TrueEnd FunctionPrivate Function VALIDAR_ELIMINAR(FILA As Integer) As Boolean VALIDAR_ELIMINAR = False Dim I As Integer 30
  70. 70. For I = 0 To GRID_RES.Cols - 1 If d_grid(I).revisar = True Then If GRID_RES.TextMatrix(FILA, I) = "" Then Exit Function End If Next VALIDAR_ELIMINAR = TrueEnd FunctionPrivate Function VALIDAR(FILA As Integer) As Boolean VALIDAR = False Dim I As Integer For I = 0 To GRID.Cols - 1 If d_grid(I).Obligatorio = True Then If GRID.TextMatrix(FILA, I) = "" Then Exit Function End If Next VALIDAR = TrueEnd FunctionPrivate Sub cmd_nuevo_Click()NuevoIf cmb_profesor.ListIndex = -1 Then Exit Subcmb_grado.Visible = Falsecmb_materias.Visible = Falsecmb_paralelo.Visible = FalseGRID.Rows = GRID.Rows + 1GRID.TextMatrix(GRID.Rows - 1, col_nombre("profesor")) =ExtraeIDCombo(cmb_profesor)GRID.TextMatrix(GRID.Rows - 1, col_nombre("periodo")) = GperiodoEnd SubPrivate Sub cmd_primero_Click()LLenaDatosForm 1End SubPrivate Sub cmd_salir_Click()SALIREnd SubPrivate Sub cmd_siguiente_Click()LLenaDatosForm 4End SubPrivate Sub cmd_ultimo_Click()LLenaDatosForm 2End SubPrivate Sub Form_Load()Me.Top = 0Me.Left = 10coloca_tolti MeLLENACOMBO cmb_profesor, "select codigo,nombre from profesor"LLENACOMBO cmb_grado, "select codigo,nombre from grados"strtabla = "materia_profesor" 31
  71. 71. DAT_gridCONF_GRIDIf cmb_cursos.ListCount > 0 Then cmb_cursos.ListIndex = 0Set FRM = MeLLenaDatosFormEnd SubPrivate Sub DAT_grid()GRID.Cols = 11GRID_RES.Cols = 11d_grid(0).n_col = 0d_grid(0).ancho_col = 0d_grid(0).cabecera_col = "profesor"d_grid(0).campo_col = "profesor"d_grid(0).editable = Falsed_grid(0).clave = Trued_grid(0).insertable = Trued_grid(0).revisar = Trued_grid(0).Obligatorio = Trued_grid(1).n_col = 1d_grid(1).ancho_col = 0d_grid(1).cabecera_col = ""d_grid(1).campo_col = "grado"d_grid(1).editable = Falsed_grid(1).clave = Trued_grid(1).insertable = Trued_grid(1).revisar = Falsed_grid(1).Obligatorio = Trued_grid(2).n_col = 2d_grid(2).ancho_col = 0d_grid(2).cabecera_col = ""d_grid(2).campo_col = "paralelo"d_grid(2).editable = Falsed_grid(2).clave = Trued_grid(2).insertable = Trued_grid(2).revisar = Falsed_grid(2).Obligatorio = Trued_grid(3).n_col = 3d_grid(3).ancho_col = 0d_grid(3).cabecera_col = ""d_grid(3).campo_col = "materia"d_grid(3).editable = Falsed_grid(3).clave = Trued_grid(3).insertable = Trued_grid(3).revisar = Falsed_grid(3).Obligatorio = Trued_grid(4).n_col = 4d_grid(4).ancho_col = 2000 32
  72. 72. d_grid(4).cabecera_col = "Grado"d_grid(4).campo_col = "Ngrado"d_grid(4).editable = Trued_grid(4).clave = Falsed_grid(4).insertable = Falsed_grid(4).revisar = Falsed_grid(4).Obligatorio = Falsed_grid(5).n_col = 5d_grid(5).ancho_col = 4000d_grid(5).cabecera_col = "Materia"d_grid(5).campo_col = "Nmateria"d_grid(5).editable = Trued_grid(5).clave = Falsed_grid(5).insertable = Falsed_grid(5).revisar = Falsed_grid(5).Obligatorio = Falsed_grid(6).n_col = 6d_grid(6).ancho_col = 1000d_grid(6).cabecera_col = "Paralelo"d_grid(6).campo_col = "Nparalelo"d_grid(6).editable = Trued_grid(6).clave = Falsed_grid(6).insertable = Falsed_grid(6).revisar = Falsed_grid(6).Obligatorio = Falsed_grid(7).n_col = 7d_grid(7).ancho_col = 0d_grid(7).cabecera_col = "periodo"d_grid(7).campo_col = "periodo"d_grid(7).editable = Trued_grid(7).clave = Trued_grid(7).insertable = Trued_grid(7).revisar = Trued_grid(7).Obligatorio = Trued_grid(8).n_col = 8d_grid(8).ancho_col = 0d_grid(8).cabecera_col = "grado"d_grid(8).campo_col = "grado2"d_grid(8).editable = Falsed_grid(8).clave = Falsed_grid(8).insertable = Falsed_grid(8).revisar = Trued_grid(8).Obligatorio = Falsed_grid(9).n_col = 9d_grid(9).ancho_col = 0d_grid(9).cabecera_col = "paralelo"d_grid(9).campo_col = "paralelo2"d_grid(9).editable = False 33
  73. 73. d_grid(9).clave = Falsed_grid(9).insertable = Falsed_grid(9).revisar = Trued_grid(9).Obligatorio = Falsed_grid(10).n_col = 10d_grid(10).ancho_col = 0d_grid(10).cabecera_col = "materia"d_grid(10).campo_col = "materia2"d_grid(10).editable = Falsed_grid(10).clave = Falsed_grid(10).insertable = Falsed_grid(10).revisar = Trued_grid(10).Obligatorio = FalseEnd SubPrivate Sub CONF_GRID()Dim I As IntegerGRID.Rows = 2For I = 0 To GRID.Cols - 1 GRID.ColWidth(I) = d_grid(I).ancho_col GRID.TextMatrix(0, I) = d_grid(I).cabecera_colNextEnd SubPrivate Sub GRID_Click()Dim a_tex As StringOn Error Resume NextIf cmb_profesor.ListIndex = -1 Then Exit SubIf d_grid(GRID.col).editable = False Then Exit Suba_col = GRID.cola_fil = GRID.RowIf GRID.col = col_nombre("Ngrado") Then cmb_materias.Visible = False cmb_paralelo.Visible = False cmb_grado.Visible = False cmb_grado.Top = GRID.Top + GRID.CellTop cmb_grado.Left = GRID.Left + GRID.CellLeft cmb_grado.Width = GRID.CellWidth - 10 cmb_grado.Height = GRID.CellHeight - 10 cmb_grado.ListIndex = IndexList(cmb_grado, CLng(valor_celda(a_fil,"grado"))) cmb_grado.Visible = True Exit SubEnd IfIf GRID.col = col_nombre("Nmateria") And valor_celda(a_fil, "grado") <> 0Then LLENACOMBO cmb_materias, "select codigo,nombre from materias whereCODIGO IN(SELECT MATERIA FROM MATERIA_GRADO WHEREperiodo=" & Gperiodo & " and grado=" & valor_celda(a_fil, "grado") & ")" 34
  74. 74. cmb_materias.Visible = False cmb_paralelo.Visible = False cmb_grado.Visible = False cmb_materias.Top = GRID.Top + GRID.CellTop cmb_materias.Left = GRID.Left + GRID.CellLeft cmb_materias.Width = GRID.CellWidth - 10 cmb_materias.ListIndex = IndexList(cmb_materias, CLng(valor_celda(a_fil,"materia"))) cmb_materias.Visible = True Exit SubEnd IfIf GRID.col = col_nombre("Nparalelo") And valor_celda(a_fil, "grado") <> 0Then LLENACOMBO cmb_paralelo, "select codigo,nombre from paralelo wheregrado=" & valor_celda(a_fil, "grado") & " and periodo=" & Gperiodo & "" cmb_materias.Visible = False cmb_paralelo.Visible = False cmb_grado.Visible = False cmb_paralelo.Top = GRID.Top + GRID.CellTop cmb_paralelo.Left = GRID.Left + GRID.CellLeft cmb_paralelo.Width = GRID.CellWidth - 10 cmb_paralelo.ListIndex = IndexList(cmb_paralelo, CLng(valor_celda(a_fil,"paralelo"))) cmb_paralelo.Visible = TrueEnd IfEnd SubPrivate Sub txt_Change()GRID.TextMatrix(a_fil, a_col) = txt.TEXTEnd SubPrivate Sub GUARDA_GRID()Dim I, mayor As IntegerDim SQLSTR As StringSet tabla = base.Execute("select isnull(max(cast(" & nuevo_reg & " as integer)),0)+ 1 as nuevo from " & strtabla)mayor = tabla.Fields(0).Valuetabla.CloseSet tabla = NothingFor I = 1 To GRID.Rows - 1 If GRID.TextMatrix(I, 0) = "" Then hay que insertar SQLSTR = "INSERT INTO " & strtabla & "(codigo,grado,periodo,nombre)Values (" & mayor & "," & GRID.TextMatrix(I, 1) & "," &GRID.TextMatrix(I, 2) & "," & GRID.TextMatrix(I, 3) & ")" GRID.TextMatrix(I, 0) = mayor mayor = mayor + 1 Else hay que actualizar SQLSTR = "UPDATE " & strtabla & " set nombre=" & GRID.TextMatrix(I,3) & " where codigo=" & GRID.TextMatrix(I, 0) & "" 35
  75. 75. End If base.Execute (SQLSTR)NextEnd SubPrivate Sub BORRA_DATOS_GRID()Dim I, c As IntegerDim SQLSTR As StringFor I = 1 To GRID_RES.Rows - 1 If GRID_RES.TextMatrix(I, 0) <> "" Then SQLSTR = "DELETE FROM " & strtabla & " WHERE codigo=" &GRID_RES.TextMatrix(I, 0) & "" base.Execute (SQLSTR) End IfNextGRID_RES.Rows = 2For c = 0 To GRID_RES.Cols - 1 GRID_RES.TextMatrix(1, c) = ""NextEnd SubPrivate Sub CARGA_GRID(nombre As String, FILA As Integer, valor AsVariant) Dim I As Integer For I = 0 To GRID.Cols - 1 If d_grid(I).campo_col = nombre Then GRID.TextMatrix(FILA, d_grid(I).n_col) = valor End If NextEnd SubPrivate Sub ELIMINA_ITEM_GRID(FILA As Integer)Dim c, f As IntegerIf ELIMINABLE(FILA) = True Then If GRID_RES.TextMatrix(GRID_RES.Rows - 1, 0) <> "" Then GRID_RES.Rows = GRID_RES.Rows + 1 End If f = GRID_RES.Rows - 1 For c = 0 To GRID.Cols - 1 GRID_RES.TextMatrix(f, c) = GRID.TextMatrix(FILA, c) NextEnd IfIf GRID.Rows > 2 Then For f = FILA To GRID.Rows - 2 For c = 0 To GRID.Cols - 1 GRID.TextMatrix(f, c) = GRID.TextMatrix(f + 1, c) Next Next GRID.Rows = GRID.Rows - 1Else LIMPIA_GRID 36
  76. 76. End IfEnd SubPrivate Function EXITE_NOTA(FILA As Integer) As BooleanDim SQL1, strand As Stringstrand = " "EXITE_NOTA = FalseSQL1 = "select count(*) as UNOS from " & strtabla & " where "For I = 0 To GRID.Cols - 1 If d_grid(I).clave = True Then SQL1 = SQL1 & strand & d_grid(I).campo_col & " = " &GRID.TextMatrix(FILA, d_grid(I).n_col) & "" strand = " AND " End IfNextSet tabla = base.Execute(SQL1)If tabla.Fields(0).Value <> 0 Then EXITE_NOTA = TrueEnd Iftabla.CloseSet tabla = NothingEnd FunctionPrivate Function genera_INSERT(FILA As Integer) As StringDim SQL1, SQL2, strCOMA As StringstrCOMA = " "SQL1 = "INSERT INTO " & strtabla & "("SQL2 = " VALUES ("For I = 0 To GRID.Cols - 1 If d_grid(I).insertable = True Then SQL1 = SQL1 & strCOMA & d_grid(I).campo_col SQL2 = SQL2 & strCOMA & "" & GRID.TextMatrix(FILA,d_grid(I).n_col) & "" strCOMA = "," End IfNextSQL1 = SQL1 & ") "SQL2 = SQL2 & ") "SQL1 = SQL1 & SQL2genera_INSERT = SQL1End FunctionPrivate Function genera_UPDATE(FILA As Integer) As StringDim SQL1, SQL2, strCOMA, strand As StringstrCOMA = " "strand = " "SQL1 = "UPDATE " & strtabla & " set "SQL2 = " WHERE "For I = 0 To GRID.Cols - 1 If d_grid(I).insertable = True And d_grid(I).revisar = False Then 37
  77. 77. SQL1 = SQL1 & strCOMA & d_grid(I).campo_col & "=" &GRID.TextMatrix(FILA, d_grid(I).n_col) & "" strCOMA = "," End If If d_grid(I).revisar = True Then SQL2 = SQL2 & strand & d_grid(I).cabecera_col & " = " &GRID.TextMatrix(FILA, d_grid(I).n_col) & "" strand = " AND " End IfNextSQL1 = SQL1 & " "SQL2 = SQL2 & " "SQL1 = SQL1 & SQL2genera_UPDATE = SQL1End FunctionPrivate Function genera_DELETE(FILA As Integer) As StringDim SQL1, SQL2, strCOMA, strand As StringstrCOMA = " "strand = " "SQL2 = "DELETE FROM " & strtabla & " WHERE "For I = 0 To GRID_RES.Cols - 1 If d_grid(I).revisar = True Then SQL2 = SQL2 & strand & d_grid(I).cabecera_col & " = " &GRID_RES.TextMatrix(FILA, d_grid(I).n_col) & "" strand = " AND " End IfNextgenera_DELETE = SQL2End FunctionPrivate Function valor_celda(FILA As Integer, nombre As String) As Integer Dim I As Integer valor_celda = -1 For I = 0 To GRID.Cols - 1 If UCase(d_grid(I).campo_col) = UCase(nombre) Then valor_celda = Val(GRID.TextMatrix(FILA, d_grid(I).n_col)) Exit Function End If NextEnd FunctionPrivate Function col_nombre(nombre As String) As Integer Dim I As Integer For I = 0 To GRID.Cols - 1 If UCase(d_grid(I).campo_col) = UCase(nombre) Then col_nombre = d_grid(I).n_col Exit Function End If Next 38

×