• No se han encontrado resultados

PROYECTO TERMINAL DE INVESTIGACION SISTEMA DESARROLLADO PARA EL DEPARTAMENTO DE VINCULACION CON EL SECTOR PRODUCTIVO DEL CBTIS No. 6

N/A
N/A
Protected

Academic year: 2018

Share "PROYECTO TERMINAL DE INVESTIGACION SISTEMA DESARROLLADO PARA EL DEPARTAMENTO DE VINCULACION CON EL SECTOR PRODUCTIVO DEL CBTIS No. 6"

Copied!
45
0
0

Texto completo

(1)

UNIVERSIDAD AUTONOMA METROPOLITANA

UNIDAD IZTAPALAPA

DIVISION DE CIENCIAS BASICAS E INGENIERIA

LICENCIATURA EN COMPUTACION

PROYECTO TERMINAL DE INVESTIGACION

SISTEMA DESARROLLADO PARA EL DEPARTAMENTO DE VINCULACION CON EL SECTOR PRODUCTIVO DEL CBTIS No. 6

22 de Marzo de 1999.

ASESOR:

(\

(2)

INDICE

INTRODUCCI~N

...

3

DESCRIPCIóN DEL PROYECTO

...

DESARROLLO DEL PROYECTO

...

4

ENTREVISTAS

...

5

MODELADO DEL SISTEMA

...

6

MODELO

ENTIDAD-RELACIÓN

...

16

DICCIONARIO DE DATOS

...

17

MANUAL DE USUARIO

CODIGO FUENTE

...

20

(3)

Las escuelas tienen diferentes departamentos, los cuales a su vez realizan

funciones específicas. Estas funciones reciben el nombre de procesos, por ejemplo :

Proceso de inscripción de un alumno a la escuela, a la biblioteca, a actividades deportivas,

etc. Pero pueden involucrar no sólo a los alumnos sino a las personas que trabajan ahí,

como son los profesores, personal administrativo y personal en general, que en este caso

son principalmente pago de nómina, inscripción a cursos de actualización, etc.

Los procesos al cabo de un tiempo se pueden automatizar y es ahí donde se tiene

la necesidad de organizar, de forma óptima la información y tener acceso a ella sin

necesidad de tomar días para buscarla.

El equipo de cómputo con el software adecuado, puede optimizar el acceso a la

información, así como ahorrar horas-hombre de trabajo en buscar la información.

Nosotros en particular como profesionales en Computación estamos preparados

para resolver los problemas de Desarrollo en sistemas que satisfagan las necesidades de

automatización de esos procesos.

Como recién egresados tenemos que realizar un proyecto de investigación en áreas

donde sean útiles, así que decidimos hacerlo para una institución educativa pública, la

institución que acepto el proyecto no tenía ningún sistema que automatizara eficazmente

su información, por lo que se desarrolló completamente un sistema para sus actuales

necesidades.

Este proyecto sirvió para que reafirmaramos nuestros conocimientos en Análisis y

Diseño, así como para darnos cuenta de algunas fallas

,

para corregirlas. Así como la

(4)

DESCRIPCIóN DEL PROYECTO.

El objetivo de este proyecto es la de automatizar el departamento de vinculación, para manejar la información de los alumnos, profesores,empresas, así como las

actividades relacionadas con éstas de una manera automática. El sistema debe tener la capacidad de manejar eficientemente, todo tipo de consultas y reportes, en cuanto a los alumnos egresados, profesores y actividades, altas, bajas y modificaciones.

El sistema debe de proporcionar las siguientes características:

0 Seguridad: La información solo debe ser manejada por la persona o personas

0 Confiabilidad: El sistema debe de proporcional información verídica

Funcionalidad: Debe de cumplir con los requisitos establecidos al inicio del a cargo.

proyecto.

Este también proporcionara un subsistema de ayuda en línea y una barra de mensajes que indicaran las h c i o n e s disponibles a ejecutar y el como hacerlo, todo esto con el fin de hacer mas fácil su manejo.

DESARROLLODELPROYECTO

El desarrollo de un sistema de computación implica varias etapas y diversos especialistas para cada una de estas, siendo el establecimiento de los tiempos de termino posterior al análisis, sin embargo, en este caso los tiempos se ajustaran al tiempo establecido por la universidad para la conclusión de un proyecto terminal para C.B.I.

La gráfica de Gant sig. muestra los tiempos para el desarrollo de este proyecto:

ACTIVIDAD

Investigación y estudio de l a s herramientas

Entrevistas con usuarios

Análisis y Requerimientos de prueba

Diseiio y programación

Pruebas

Documentación

Generación de Manuales

Generación del Reporte

Presentación

Instalación y pruebas del usuario

Liberación del sistema

"

TIEMPO MESES

O 1 2 3 4 5 6

m

-

(5)

ENTREVISTAS

El primer paso en el desarrollo del proyecto son las entrevistas con los usuarios. El sistema a modelar debe cumplir en lo mejor posible las especificaciones dadas.

De estas se estableció lo siguiente para el departamento de Vinculación con el sector productivo.

Un alumno puede tener derecho a estar registrado desde el cuarto trimestre en adelante en bolsa de trabajo. Para las demás actividades dependerá del grado de conocimiento necesario, para tomar la actividad. En caso de no existir restricciones, queda a cargo del encargado del departamento, establecer los requisitos.

Un egresado puede tener derecho a estar registrado, si lo hizo cuando todavía era alumno o se registro para la bolsa de trabajo.

Un profesor está registrado, para poder tomar la actividad dependerá de la especialidad y el tipo de materias que imparte.

Las empresas son dadas de alta por la SEP, la cual manda al plantel, un archivo conteniendo las empresas, con las que tiene convenio.

Las actividades son dadas principalmente por las empresas como asistencia a conferencias, visitas a instalaciones, cursos de actualización a tomar en el plantel de parte de los empleados de la empresa, propuestas de trabajo, estadías de profesores en las

instalaciones de una empresa.

Registro, bajas y modificaciones de información Alumnos

0 Egresados

Profesores Empresas

Actividades (Cursos, Visitas, Estadias, Conferencias, Propuestas de trabajo) Enviados y Aceptados (alumnos y egreasados

Consulta y reporte Empresa por giro.

Actividad por Especialidad y por trimestre. Alumnos por Especialidad

0 Alumnos egresados por Especialidad

únicamente reportes Alumnos Egresados Profesores

(6)

MODELADO DEL SISTEMA

El siguiente paso es el modelado del sistema que se desea. Un sistema de proceso

La herramienta que utilizamos para describir la transformación de entradas a de datos involucra tanto datos como el proceso.

salidas de un diagrama de flujo de datos.

Los diagramas de flujos de datos consisten en procesos, agregados de datos, flujos y terminadores:

0 Los procesos se representan por medio de círculos o “burbujas”, en el

diagrama. Representan las diversas funciones individuales que el sistema lleva a cabo. Las funciones transforman entradas en salidas.

0 Losflujos se muestran por medio de flechas curvas. Son las conexiones

entre los procesos(funciones del sistema) y representan la información que dichos procesos requieren come entrada o la información que generan coma salida.

0 Los agregados de datos se representan por medio de dos líneas paralelas o

mediante una elipse. Muestran colecciones (o agregados) de datos que el sistema debe recordar por un periodo de tiempo.

Los terminadores muestran las entidades externas con las que el sistema se comunica.

(7)

Bajas

Cambios

W

Especialidad

-

usque& poresp

Altas

Bajas

Especialidad

(8)

Altas

Bajas

Cambios

/u

Cambios

\

Bajas

,-b

fz!$:3*

X activid

E nwado/aceptado '

Bajas

,-b

e$:&)

Enviado/Aceptados

Bajas

(9)

A continuación se muestra el diagrama de flujo que quedó al agrupar.

\ Busqueda por Giro

Empresa

,Busqueda Actividad por Especlalldad Altas

Rep. Actividades Trimestrales

Busqueda Alumno

\

por Especialidad

I

Actividades

I

Empresa

\

Busqueda Egresados por Especialidad

I

Empresa

(10)

\

Busqueda de Trabajadores

Por Clave

Bajas

"O

Trabajadores

A b i o s

f

+

-

"

4"-

I

Trabajadores

I

Empresa

/

Reporte Profesores

(11)

A continuación una vista de las mostradas anteriormente con las relaciones que existen entre ellas, que son más visibles al ponerlas todas en un mismo conjunto.

(12)

Explosio'n de cada Esfera

Actividades

Bajas Especialidad

Cambios L

v

L

I

Actividades

-

Trimestre\

Reportes

Especialidad

/

Env/Acep

Matricula

Actividad

m.

EnvIAcep.

P

Inf.

(13)

Trabajadores

Clave Busqueda

Trabajadores

Inf

Trabajadores

-

Inf.

(14)

Alumnos

Especialidad

O

Cambios

Busqueda

Alumnos

Bk

(

Egresadc

Busque?-

A

Egresados

\

Especialidad

O

O

Cambios

Cambios

Bajas

Egresados

Inf. Egresados

Inf.

(15)

MODELO ENTIDAD-RELACIóN

Estos diagramas aunque útiles, solo resaltan un aspecto principal de un sistema: sus funciones.

Necesitamos conocer a detalle la información que debe contener el sistema, y no solo eso, sino también la relación que existe entre los agregados de información. Para esto necesitamos lo que se conoce como diagrama de entidad-relacion.

En este punto podemos ya obtener, entidades y las relaciones entre ellas, a este diagrama se le llama de entidad relación. También podemos obtener la información que contiene cada una de las entidades. Las lineas significan uno a muchos.

EMPRESAS I/ ALUMNOS

"

7T "

ACTIVIDADES \I I

I ENV /ACEP

1.L "

"

EMPLEADOS

-

1 EGRESADOS

I

Diagrama de Entidad-Relación

Lista de entidades:

EMPRESAS

(16)

EGRESADOS EMPLEADOS EW-ACEP Matricula Nombre Direccion Telefono Especialidad Estudio-actuales Institucion Trabajo Tel-trabajo

Clave Clave Inscripcion

Nombre Matricula

Direccion Clave-Actividad

Telefono Promedio

Materias-impartidas Observaciones Estatus

DICCIONARIO DE DATOS

El diccionario de datos es importante para conocer como que tipo de información va a contener cada dato, a continuación se presenta esta herramienta para el proyecto desarrollado.

A continuación se presenta el diccionario de datos para cada una de las entidades.

ALUMNO

MTRICULA 8{0-9}8

NOMBRE : nombre

+

segundo nombre

+

apellido paterno

+

apellido materno nombre: 3 { caracter legal} 1 O

segundo nombre: nombre

+

(segundo nombre) apellido paterno: 3 { caracter legal} 15

apellido materno: 3 { caracter legal} 15 caracter legal: { [A-Z]

I

[a-z]}

DZRECCZbN : (tipo de calle)

+

nombre de calle

+

numero

+

colonia

+

[delegacion

I

municipio]

+

estado

tipo calle [Av

I

Bldv ]

nombre de calle: {[A-Z]

I

[a-z]} numero: {[O-9]}

+

(1[A-Z] 1

I

bis) colonia: 3{[A-Z]

I

[a-z]}

delegación o municipio: 3 { [A-Z]

I

[a-z]} 15 estado: 5 { [A-Z]

I

[a-z]} 10

TEL&FONO : 7 { [O-9]} 15

ESPECLALIDAD : 4{ [TEC-92]

I

[TCM-92]

I

[TCN-921

I

[TLC-92]}6 GRADO : 8 { 4-6) 1

(17)

EGRESADOS MATRICULA NOMBRE DIRECCION TELEFONO ESPECIALIDAD

ESTUDIOS ACTUALES : 3 { [Caracter legal]} 50 RVSTITUCIÓN : 3 { [Caracter legal]} 50 TRABAJO : 3 { [Caracter legal]} 50

TEL-TRABAJO: 7{[0-9]}15

EMPLEADOS

CLAVE: 8{[0-9]}5 NOMBRE

DIRECCION TELEFONO

MATERIAS IMPARTIDAS : Material

+

Materia2

+

Materia3

+

Materia4

+

Materia5 Materia: 3 { [Caracter legal]} 15

ACTIVIDADES

ACTIVIDAD : 8{[0-9]}5 EMPRESA 8{ [O-915

TPO-ACT : {[VI

I

[PI

I

[CI

I

[Al

I

[El) 1

NOMBRE : [Tipo de Actividad]

+

[Nombre de Actividad]

Tipo de Actividad: { [ Visitas]

1

[Propuestas]

I

[Cursos]

I

[Estadías]

I

[Conferencias] } Nombre de Actividad: 3 { [Caracter legal]} 3 5

RESPONSABLE : (Titulo)

+

nombre

+

segundo nombre

+

apellido paterno

+

apellido materno

ESPECIALIDAD :

Título : [Lic]

I

[Profl

I

[Ing]

NO-ALUMNOS : S{ [O-91) FECHA : [O-311 / [l-121 / 1998-1

(18)

EMPRESAS

NUM EMPRESA : 8 { [O-91) 5

NOMBRE : [Nombre de la Empresa]

I

[Razón Social] Nombre de la Empresa : 3 { [Caracter legal]} 50 DIRECCION

TELEFONO

CONTACTO : Nombre del contacto

materno

GIRO : S { [O-9]}2

Nombre del contacto : nombre

+

segundo nombre

+

apellido paterno

+

apellido

TEL-CONTA CTO : 7 { [ 0-91 } 1 5

EW-ACEP

CLAVE INSCRIPCIóN : S { [O-9]} MATN¿%JLA : 8{[0-9]}5

CLAVE-ACTIVIDAD : S { [O-9]}5 PROMEDIO : { [O-91

.

[O-9]}

(19)

MANUAL DE USUARIO DEL SISTEMA VINCULA

Para instalar el sistema Vincula, se deben tener los discos de instalación, que son proporcionados junto con este manual. Primero se debe ejecutar la instrucción a:\setup.exe del disco #1, después aparecerá una pantalla que nos irá guiando para hacer la instalación de la aplicación, la cual nos pedirá que introduzcamos los otros dos discos.

La pantalla principal del sistema tiene un menú que tiene las siguientes opciones :

0 Mantenimiento de Catalogos

Consultas

0 Reportes 0 Ayuda

La pantalla de inicio se ve como la siguiente :

(20)

Mantenimiento de Catalogos

:

El menú Catálogos tiene las siguientes opciones :

o Actividades

o Alumnos

o Egresados

0 Profesores 0 Empresas

o Enviado/Aceptado

(21)

Cada catálogo se manipula a través de una pantalla, la cual tiene barras de texto y botones. A continuación se describirá el procedimiento para usarlos.

0 Las barras de texto son de color blanco y verde. La de color verde es la clave sobre la cual se harán las búsquedas para accesar la información una vez que haya sido dada de alta, y por lo tanto debe ser única. La de color blanco es para introducir la mayoría de la información, ya que es la descripción. Hay varias maneras de pasar de una a otra, una es cuando se esta introduciendo el texto por primera vez se oprime <Enter> con esta tecla se interpreta que ya no se va introducir nada en esa barra de texto, otra es usar el tabulador o el ratón. Es importante notar que no puede dejarse un texto en blanco, ya que aparecerá un mensaje de error, al hacer cualquier operación (alta, modificación).

o Los botones hacen la operación, que indica la leyenda que tienen cada uno que son (Limpia, Agregar, Buscar, Salir). Mas adelante se describen las operaciones que hacen cada uno de ellos.

El catálogo de alumnos se muestra a continuación :

(22)

A continuación se muestra la pantalla del catálogo de Empleados :

(23)

Para modificaciones y bajas se busca el registro, tecleando el criterio de búsqueda, se oprime el botón buscar si lo encontró se muestra una pantalla como la de catalogo de empresas que es la siguiente :

(24)

A continuación se muestra la pantalla del catálogo de actividades :

En esta pantalla se puede modificar o borrar el registro actual. Ya sea que se modifique el registro o se borre, después de realizar la operación regresa a la pantalla anterior. Para modificar un registro se teclea los campos a ser cambiados menos la clave que aparece inhabilitada en color gris, a continuación se oprime el botón de modificar. Para el caso de borrar el registro, aparece una ventana con el mensaje de confirmación de borrado con las opciones de Sí, No y Cancelar.

(25)

Todas las ventanas tienen las mismas opciones con excepción, del catalogo de

EnviadoMceptado que varia en que no tiene opción de buscar. Esta pantalla tiene un control en la parte de abajo que tiene flechas en dos direcciones, éste sirve para moverse a través del catalogo registro por registro.

Consultas

:

El menú Consultas tiene las siguientes opciones :

Alumnos por Especialidad

Alumnos Egresados por Especialidad Empresas por Giro

Actividades por Especialidad

(26)

Todas las consultas tienen una ventana a través de la cual se procesa la consulta. Esta pantalla es de la siguiente forma :

(27)

La consulta se presenta en una ventana, que ya está lista para imprimir, si es que se requiere, o solamente para verse en pantalla. A continuación se muestra la pantalla.

CENTRO DE BACHILLERATO TECNO'

DE SERVICIOS No. 6

DEPARTAMENTO DE VINCULACION C O K

REPORTE DE A L U M N O S P O R E I_

Reportes

:

El menú Reportes tiene las siguientes opciones :

0 Actividades por Trimestre 0 Alumnos Egresados

Profesores

(28)

Algunos reportes se procesan a través de una ventana parecidas al módulo de consultas y otras no requieren de criterio de búsqueda, así que se hacen directamente. A continuación la pantalla de reportes de actividades por trimestre.

El resultado de la consulta es un reporte, se presenta en una ventana que ya está lista para imprimir, si es que se requiere, o solamente para verse en pantalla. La pantalla se pede maximizar y se obtiene la siguiente :

CENTRO DE BACHILLERATO TECNOLbGICO

Y D E SERVICIOS ##6.

DEPARTAIMENTO DE VINCULACIbN CON EL SECTOR PRODUCTrV

REPORTE DE ACTIVIDADES POR TRIMESTRE

;: . T l U i u E ~ R E 2.

i L

e,~

ACTWIDADES.NOMBRE EMPRESAS.NOMBRE

RESPONSABLE FECHA ESPECIALIDAD OBSERV

$¶da

w LUCES 1 2 m . m S.A. DE C . V. w o - 2 3 JHTHIHJ WDndrr S.A.

M .

2

LUCES S.A. DE C. V.

(29)

Ayuda

:

Este menu tiene solo una opción : Acerca

La pantalla que muestra contiene información acerca del sistema, como es versión, autor,

AYUDA

ENLINEA DEL

SISTEMA

VINCULA

(30)

La ayuda se invoca a traves de F1, y la pantalla es como la que aparece a

k w d a

Como se puede observar la pantalla tiene las mismas opciones del menú principal de la aplicación. Cada opción esta en un color verde y al pasar el ratón en esas áreas, se

(31)

Al seleccionar la opción de Actividades, aparece la pantalla que se muestra a continuación :

El catalogo de actividades contiene :

...."... Clave de &~&ja.&Ffúmero de actividad dad

legable cuando se selecciona una opción menú desplegable

Las opciones son :

Tipo de Actividad Caractcr desplegado cursos C Conferencias F

Practicas A

Estadias E Propuestas P

Visitas V

(32)

Al regresar a la pantalla principal y seleccionar la opción de Consultas, obtenemos la siguiente pantalla :

I

Este menú contiene los siguientes submenús :

Alumnos por Especiahdad

Alurnnos E,qesados por Especialtdad

Empresas p o r &o

Actividades por Especiahdad

Todas las consultas se muestra una pantalla donde se teclea el criterio de la consulta. La consulta de Empresas por Giro es un poco diferente ya que sólo se selecciona el Giro de una tabla dando un click del rat&, cuando se selecciona cambia de color.

En los dos casos las consultas, se generan en una ventana que tambiCn puede ser usada para imprimir el resultado de la consulta.

(33)

CODIGO FUENTE MAS IMPORTANTE DE VINCULA

'RUTINAS DEL MODULO GL0BAL.BAS

Global DB As Database

Global gCurrentTb1-ALUMNOS As Recordset Global gCurrentTb1-EGRESADOS As Recordset Global gCurrentTb1-EMPLEADOS As Recordset

Global gCurrentTb1-EMPRESAS As Recordset

Global gCurrentTb1-ENVACEP As Recordset Global gCurrentTb1-ACTIVIDADES As Recordset

Function Valida-Fecha(NumDia, NumMes, N W o As Integer) As Boolean

Dim Bisiesto As Double

Dim Bisiesto2 As Integer

Dim NumeroDiasXMes As Integer

Select Case NumMes 'Evalúa Mes

Case Is = 1, 3, 5, 7, 8, 10, 12: NumeroDiasXMes = 3 1 'Enero Marzo Mayo Julio

Case Is = 2 'Febrero(Bisiest0 o no)

Agosto Octubre Diciembre

Bisiesto = N W o / 4

Bisiesto2 = Int(Bisiest0)

If Bisiesto = Bisiesto2 Then

NumeroDiasXMes = 29

Else

NumeroDiasXMes = 28

End If

Case Is = 4, 6, 9, 11: NumeroDiasXMes = 30 'Abril Junio Septiembre

Case Else 'Otros valores, Error sin medida

End Select

'MsgBox ("Mes="

+

Str(NumMes)

+

" Dias="

+

Str(NumDia)

+

> "

+

Str(NumeroDiasXMes))

If (NumDia > NumeroDiasXMes) Then

Noviembre

MsgBox "Error, No hay mes relacionado"

Valida-Fecha = False

MsgBox ("El numero de Dias no corresponden con el mes"

+

Chr(l3)

+

"Intentelo Nuevamente") Else

End If

Valida-Fecha = True

(34)

Function EXISTE-ACT(Arg As String) Dim T As String

EXISTE-ACT = False

If Not gCurrentTb1-ACTIVIDADES.EOF Then

gCurrentTb1-ACTIVIDADES.MoveFirst

End If

While Not gCurrentTb1-ACTIVIDADES.EOF

T = gCurrentTbl-ACTIVIDADES("ACTIVn>AD")

If Arg = T Then

End If

gCurrentTb1-ACTIVIDADES.MoveNext

EXISTE-ACT = True

Wend End Function

Function EXISTE-ALUMNO(Mat As String) Dim T As String

EXISTE-ALUMNO = False

If Not gCurrentTb1-ALUMNOS.EOF Then

gCurrentTb1-ALUMNOS.MoveFirst

End If

While Not gCurrentTb1-ALUMNOS.EOF

T = gCurrentTb1-ALUMNOS("MATRICULA")

If Mat = T Then

End If

gCurrentTb1-ALUMNOS.MoveNext

EXISTE-ALUMNO = True

Wend End Function

Function EXISTE-EGRESADO(Matricu1a As String)

Dim T As String

EXISTE-EGRESADO = False

If Not gCurrentTb1-EGRESADOS.EOF Then

gCurrentTb1-EGRESADOS.MoveFirst

End If

While Not gCurrentTbl-EGRESADOS.EOF

T = gCurrentTbl-EGRESADOS('W"ARICULA")

If Matricula = T Then

End If

gCurrentTb1-EGRESADOS.MoveNext

EXISTE-EGRESADO = True

(35)

Function EXISTE-EMP(ArgEmp As String)

Dim T As String

EXISTE-EMP = False

If Not gCurrentTb1-EMPRESAS.EOF Then

gCurrentTb1-EMPRESAS.MoveFirst

End If

While Not gCurrentTb1-EMPRESAS.EOF

T = gCurrentTb1-EMPRESAS("NIJ"Eh4PRESA")

If ArgEmp = T Then

End If

gCurrentTb1-EMPRESAS.MoveNext

EXISTE-EMP = True

Wend

End Function

Function EXISTE-PROF(NumProf As String)

Dim T As String

EXISTE-PROF = False

If Not gCurrentTb1-EMPLEADOS.EOF Then

gCurrentTb1-EMPLEADOS.MoveFirst

End If

While Not gCurrentTb1-EMPLEADOS.EOF

T = gCurrentTb1-EMPLEADOS("CLAW3")

If NumProf = T Then

End If

gCurrentTb1-EMPLEADOS.MoveNext

EXISTE-PROF = True

Wend

(36)

'FORMA CATALOGO DE ACTIVIDADES

Private Sub AGREGA-ACTIVIDAD()

gCurrentTb1-ACTIVIDADES.AddNew

gCurrentTbl-ACTIVIDADES("ACTIVPDAD") = mskCveAct.Text

gCurrentTb1-ACTIVIDADES("EMFRESA") = mskCvEmp.Text

gCurrentTbl-ACTIVIDADES("TP0-ACT") = 1blTpoA.Caption

gCurrentTbl-ACTIVIDADES("NOMBRE") = txtNomAct.Text

gCurrentTb1-ACTIVIDADES("RESP0NSABLE") = txtResp.Text

gCurrentTb1-ACTIVIDADES("N0-ALUMNOS") = mskNoA1.Text

gCurrentTb1-ACTIVIDADES("FECHA") = mskFec.Text

gCurrentTb1-ACTIVIDADES("ESPECIAL,IDAD") = mskEspAct.Text

gCurrentTbl-ACTIVIDADES("TRIMESTRE") = mskTrim.Text

gCurrentTb1-ACTIVIDADES("OBSERVACI0NES") = txtObs.Text

gCurrentTb1-ACTIVIDADES.Update

End Sub

Private Function DESCOMP_FECHA()

Dim NumDia, NumMes, N W o As Integer

NumDia = Trim$(Mid(mskFec.Text, 1,2))

NumMes = Trim$(Mid(mskFec.Text, 4,2))

NumAño = Trim$(Mid(mskFec.Text, 7,2))

If Valida-FechaVumDia, NumMes, NumAiio) Then

Else

End If

DESCOMF-FECHA = True

DESCOMI-FECHA = False

End Function

Private Sub FormLoad()

cboTpoAct.AddItem "Curso" cboTpoAct.AddItem "Conferencia" cboTpoAct.AddItem "Estadias" cboTpoAct.AddItem "Practicas" cboTpoAct.AddItem "Propuestas" cboTpoAct.AddItem "Visitas"

(37)

Private Sub cboTpoAct-Click()

If cboTpoAct.Text = "Curso" Then

End If

If cboTpoAct.Text = "Conferencia" Then

End If

If cboTpoAct.Text = "Estadias" Then

End If

If cboTpoAct.Text = "Practicas" Then

End If

If cboTpoAct.Text = "Propuestas" Then

End If

If cboTpoAct.Text = "Visitas" Then

End If

1blTpoA.Caption = "C"

1blTpoA.Caption = "F"

1blTpoA.Caption = "E"

IblTpoACaption = "A"

1blTpoA.Caption = "Pll

1blTpoA.Caption = "V"

End Sub

Private Sub cmdAddAct-Click() Dim M As Integer

If CHECA-TEXT Then

If Not EXISTE-ACT(mskCveAct.Text) And EXISTE-EMP(mskCvEmp.Text) Then

If DESCOMP-FECHA Then AGREGA-ACTIVIDAD Else

M = MsgBox("La fecha es incorrecta,el registro no se dio de alta", vbOKOnly)

End If

M = MsgBox("La actividad existe o la empresa no existe,el registro no se dio de

Else

alta", vbOKOnly) End If

cmdClAct.SetFocus

SendKeys "-", True

M = MsgBox("PARA DAR DE ALTA UN REGISTR0,NINGUN TEXTO DEBE

Else

ESTAR VACIO", vbOKOnly) End If

(38)

Private Sub cmdBorAct-Click() Dim M As Integer

M = MsgBox("i ESTA SEGURO DE BORRAR EL REGISTRO ?'I, vbYesNoCance1)

If M = 6 Then

gCurrentTb1-ACTIVIDADES.Delete

gCurrentTb1-ACTIVIDADES.MovePrevious

End If

cmdBuscAct.Visible = True

cmdModAct.Visible = False

cmdBorAct.Visible = False

cmdAddAct.Visible = True

cmdClAct.Enabled = True

mskCveAct.Enabled = True

cmdClAct.SetFocus

SendKeys

"-",

True

End Sub

Private Sub cmdBuscAct-Click() Dim Enc, T As Integer

Enc = O

gCurrentTb1-ACTIV1DADES.MoveFirst

Do Until Enc = 1 Or gCurrentTb1-ACTIVIDADES.EOF

If Not mskCveAct.Text = gCurrentTb1-ACTIVIDADES("ACTIV1DAD") Then

Else

End If

If Enc Then

gCurrentTb1-ACTIVIDADES.MoveNext

Enc = 1

Loop

mskCvEmp.Text = gCurrentTbl-ACTIVIDADES("EMPRESA")

1blTpoA.Caption = gCurrentTbl-ACTIVIDADES("TP0-ACT")

txtNomAct.Text = gCurrentTbl-ACTIVIDADES("NOMBRE")

txtResp.Text = gCurrentTb1-ACTIVIDADES("RESP0NSABLE")

mskNoA1.Text = Format$(Str$(gCurrentTbl-ACTIVIDADES("NO-ALUMNOS")),

mskFec.Text = Format$(gCurrentTbl-ACTIVDADES("FECHA"), "dcUmm/yy")

mskEspAct.Text = gCurrentTb1-ACTIVIDADES("ESPECL4LIDAD")

mskTrim.Text = gCurrentTb1-ACTIVIDADES("TRIMESTRE")

txt0bs.Text = gCurrentTb1-ACTIVIDADES("OBSERVAC1ONES")

cmdBuscAct.Visible = False

cmdModAct.Visible = True

cmdBorAct.Visible = True

cmdAddAct.Visible = False

cmdClAct.Enabled = False

mskCveAct.Enabled = False

mskCvEmp.Enabled = False

cboTpoAct.SetFocus

T = MsgBox("E1 registro no se encontró, verifique la clave e intente nuevamente",

Else

(39)

mskCveAct.SetFocus End If

End Sub

Private Sub cmdModAct-Click()

Dim M As Integer

If CHECA-TEXT Then If DESCOMP_FECHA Then

gCurrentTb1-ACTIVIDADES.Edit

gCurrentTbl-ACTIVIDADES("TPO-ACT") = 1blTpoA.Caption

gCurrentTbl-ACTIVIDADES("NOMBRE") = txtNomAct.Text

gCurrentTb1-ACTIVIDADES("RESP0NSABLE") = txtResp.Text

gCurrentTbl-ACTIVIDADES("NO_ALUMNOS") = mskNoA1.Text

gCurrentTb1-ACTIVIDADES("FECHA") = mskFec.Text

gCurrentTb1-ACTIVIDADES("ESPECL4LIDAD") = mskEspAct.Text

gCurrentTb1-ACTIVIDADES("TRIMESTRl3") = mskTrim.Text

gCurrentTb1-ACTIVIDADES("OBSERVAC1ONES") = txtObs.Text

gCurrentTb1-ACTIVIDADES.Update

M = MsgBox("La fecha es incorrecta , el registro no se modificó", vbOKOnly)

Else

End If

M = MsgBox("N0 SE MODIFICO ESTE REGISTR0,NINGUN TEXTO DEBE

Else

ESTAR VACIO", vbOKOnly) End If

cmdBuscAct.Visible = True

cmdModAct.Visible = False

cmdBorAct.Visible = False

cmdAddAct.Visible = True

cmdClAct.Enabled = True

mskCveAct.Enabled = True

mskCvEmp.Enabled = True

cmdClAct.SetFocus

SendKeys "-", True

(40)

'FORMA CONSULTA DE ACTIVIDAD X ESPECULIDAD.

Option Explicit

Dim gCurrentQueryDef As QueryDef Dim gCurrentRS As Recordset

Private Function CONS-ACTPOR-ESPE() As Boolean Dim TotalRegistros As Integer

On Error Resume Next

Set gCurrentQueryDef = DB.CreateQueryDef("ACTXESPE", "SELECT

ACTIVIDADES.NOMBRE,EMPRESAS.NOMBRE,ACTIVIDADES.RESPONSABLE,ACTIVI

DADES.NO ALUMNOS,ACTIVIDADES.FECHA,ACTIVIDADES.ESPECIALIDAD,ACTIVI

ACTIVIDADES,EMPRESAS WHERE ACTIVIDADES.ESPECIALIDAD = &

Trim$(UCase$(mskCEspAct.Text)) & 'It AND ACTIVIDADES.EMFRESA =

EMPRESAS.NUM-EMPRESA")

DADES.TRÍ~ESTRE,ACTIVIDADES.OBSERVACIONES FROM

Set gCurrentRS = DB.OpenRecordset("ACTXESPE", dbOpenSnapshot)

TotalRegistros = gCurrentRS.RecordCount

If TotalRegistros <= O Then

Else

End If

CONS-ACTPOR-ESPE = False

CONS-ACT-POR-ESPE = True

End Function

Private Sub cmdCnsAct-Click() Dim M As Integer

DB.DeleteQueryDef (I'ACTXESPEI')

If Not CONS-ACT-POR-ESPE() Then

M = MsgBox("N0 HAY REGISTROS CON ESTA CLAVE...", vbOKOnly)

mskCEspAct.SetFocus

Else

REP-ACT-ESP.Action = O

(41)

Option Explicit

Dim gCurrentQueryDef As QueryDef Dim gCurrentRS As Recordset

Private Function CONS-ACTPOR-ESPE() As Boolean Dim TotalRegistros As Integer

On Error Resume Next

Set gCurrentQueryDef = DB.CreateQueryDef("ACTXESPE", "SELECT

ACTIVIDADES.NOMBRE,EMPRESAS.NOMBRE,ACTIVIDADES.RESPONSABLE,ACTIVI DADES.NO~ALUMNOS,ACTIVIDADES.FECHA,ACTIVIDADES.ESPECIALIDAD,ACTIVI

DADES.TRIMESTRE,ACTIVIDADES.OBSERVACIONES FROM

ACTIVIDADES,EMPRESAS WHERE ACTIVIDADES.ESPECIALIDAD = "' &

Trim$(UCase$(mskCEspAct.Text)) & "'

AND

ACTIVIDADES.EMPRESA =

Eh4l'RESAS.NLJ"EMPRESA")

Set gCurrentRS = DB.OpenRecordset("ACTXESPE", dbOpenSnapshot)

TotalRegistros = gCurrentRS.RecordCount

If TotalRegistros <= O Then

Else

End If

CONS-ACT-POR-ESPE = False

CONS-ACT-POR-ESPE = True

(42)

'

FORMA CONSULTA POR GIRO

Option Explicit

Dim gCurrentQueryDef As QueryDef Dim gCurrentRS As Recordset

Dim TabGiros As QueryDef

Dim TabTemp As Recordset

Private Sub Cns-Giro()

Dim ColInd As Integer, ColCont As Integer

Dim RowInd As Integer, RowCont As Integer

On Error Resume Next

Set TabGiros = DB.CreateQueryDef("GIROEMP", "SELECT

*

FROM GIROS')

Set TabTemp = DB.OpenRecordset("GIROEMP", dbOpenSnapshot)

TabTemp.MoveLast

RowCont = TabTemp.RecordCount

TabTemp.MoveFirst

grdGiro.Cols = 2

grdGiro.Rows = RowCont + 1

grdGiro.ColWidth(0) = TextWidth("CLAVE")

grdGiro.ColWidth( 1) = TextWidth("DESCRIPC1ON")

*

3

grdGiro.Co1 = O

grdGiro.Row = O

For ColInd = O To 1

grdGiro.Co1 = ColInd

grdGiro.Text = TabTemp(ColInd).Name

Next

RowInd = O

Do Until TabTemp.EOF

For ColInd = O To 1

grdGiro.Co1 = CoIInd

grdGiro.Row = RowInd

+

1

grdGiro.Text = TabTemp(Co1Ind)

Next

TabTemp.MoveNext

RowInd = RowInd

+

1

Loop

grdGiro.Co1 = 1

grdGiro.Row = O

(43)

Private Function CONS-EMP-POR-GIRO() As Boolean Dim TotalRegistros As Integer

On Error Resume Next

Set gCurrentQueryDef = DB.CreateQueryDef("EMPRXGIRO", "SELECT

EMPRESAS.*,GIROS.DESCRIPCION FROM EMPRESAS,GIROS Where EMPRESAS.GIRO

= GIROS.NO GIRO And EMPRESAS.GIRO = & Trim$(grdGiro.Text) & ""')

SecgCurrentRS = DB.OpenRecordset("EMPRXGIRO", dbOpenSnapshot)

TotalRegistros = gCurrentRS.RecordCount

If TotalRegistros <= O Then

Else

End If

CONS-EMP-POR-GIRO = False

CONS-EMP-POR-GIRO = True

End Function

Private Sub cmdCnsGiro-Click() Dim M As Integer

DB.DeleteQueryDef (IIEMPRXGIRO")

If Not CONS-EMP-POR-GIRO() Then

M = MsgBox("N0 HAY REGISTROS CON ESTA CLAVE...", vbOKOnly)

grdGiro.SetFocus

Else

REP-EMP-GIRO.Action = O

End If

(44)

Private Sub Fom-Load()

DB.DeleteQueryDef ("GIROEMP") Cns-Giro

End Sub

Private Sub grdGiro-Click() Dim i As Integer

i = grdGiro.SelStartRow

With grdGiro

.Row = i

End With

grdGiro.Co1 = O

If i = O Then

End If End Sub

grdGiro.Row = 1

'FORMA REPORTE DE ACTIVIDADES POR TRIMESTRE

Option Explicit

Dim gCurrentQueryDef As QueryDef Dim gCurrentRS As Recordset

Private Function CONS-ACTPOR-TRIM() As Boolean Dim TotalRegistros As Integer

On Error Resume Next

Set gCurrentQueryDef = DB.CreateQueryDef("ACTXTRIM", "SELECT

ACTIVIDADES.NOMBRE,EMPRESAS.NOMBRE,ACTIVIDADES.RESPONSABLE,ACTIVI DADES.NO_ALUMNOS,ACTIVIDADES.FECHA,ACTIVIDADES.ESPECIALIDAD,ACTIVI

DADES.TRIMESTRE,ACTIVIDADES.OBSERVACIONES FROM

ACTIVIDADES,EMPRESAS WHERE ACTIVIDADES.TRIMESTRE = "' &

Trim$(UCase$(txTrim.Text)) &

AND

ACTIVIDADES.EMPRESA=EMPRESAS.NIJ"EMPRESA ORDER BY TPO-ACT")

111

Set gCurrentRS = DB.OpenRecordset("ACTXTRI"', dbOpenSnapshot)

TotalRegistros = gCurrentRS.RecordCount

If TotalRegistros <= O Then

Else

End If

CONS-ACT-POR-TRIM = False

CONS-ACT-POR-TRIM = True

(45)

Private Sub cmdAcTrim-Click() Dim M As Integer

DB.DeleteQueryDef (IIACTXTRIM")

If Not CONS-ACT-POR-TRIM() Then

M = MsgBox("N0 HAY REGISTROS CON ESTA CLAVE...", VbOKOnly)

txTrim.SetFocus

Else

REP-ACT-TRIM.Action = O

End If

Referencias