Вы находитесь на странице: 1из 11

CONTINUACION DE LA LIBRETA PROGRAMACION EN ACCESS

En el subformulario en el cuadro de texto en propiedades Otras en


Nombre=TextoEstado y en Origen del Estado. En el subformulario introducir
el campo Estado pero que no sea visible para que aparezca el campo
Estado.
Introducir un botn en el formulario Busqueda NombreEmpleado para llamar
al formulario Reasignador (Ir a Reasignador).
Cuando este formulario se abra en el cuadro cmdasignadoA queremos que
aparezca el nombre del empleado que se escogi en el formulario
BsquedaNombreEmpleado.
Evento Al abrir del formulario Reasignador
Cuadro_combinado => cmbAsignadoA; Ficha Otras = Nombre
Cuadro_combinado => cmbNuevoAsignadoA;
Cuadro_combinado => cmbAsignadoA = VarIdEmpleado
En el cuadro de dialogo Instruccin SQL: Generador de consultas de origen
de la fila en la fila criterios introducir Forms!Reasignador.cmbAsignadoA
Y debajo de esto en el evento abrir el formulario Reasignador la siguiente
expresin; Lista13.Requery. Para volver a regenerar la lista vuelva a
consulta y la vuelva a crear.
La instruccin anterior la debemos colocar en otro evento de otro objeto
para que cuando cambiamos de asignado a se nos cambie la lista a la vez
que cambiamos de AsignadoA en el evento antes de actualizar del
cmbAsignadoA del formulario Reasignado.
El botn Reasignar seleccionados lo programamos para que los problemas
que elegimos.
Seleccionmultiple => simple
Botn que compruebe si hay algn dato en segundo cmb. Antes
comprobamos si en el cuadro combinado hay algn nombre para poder
reasignar problemas a alguien.
En el botn Reasignado seleccionados al hacer click;
If IsNull(cmbNuevoAsignadoA) Then,
MsgBox(Debe seleccionar un nombre en reasignar problemas,
vbOk)
cmbNuevoAsignadoA.SetFocus
Exit sub

End If
Debajo de End If escribir MsgBox cmbNuevoAsignadoA sin comillas
.ColumN(1)
Puede solo
MENSA=Est seguro de que quiere asignar sus problemas a & empleado
& &cmbNuevoAsignado.Columna(1)&?
OPCION=(MENSA, VbOkCancel)
If OPCION=VbCancel
Exit Sub
End If
Si no se ha seleccionado algo de la lista tiene que salir un mensaje
If Lista??.Itemsselected.Count=0 Then, Indica el nmero de las filas
seleccionadas
MsgBox Hay que seleccionar al menos un problema Este mensaje
debe salir antes de que, si ests seguro de asignar sus problemas
End If
Exit Sub
Elemento ADO
Esquema; Son los pasos que queremos seguir;
Abrir Conexin
Abrir tabla Problemas
Establecer Indice
Para cada elemento seleccionado de la lista
Buscar el elemento en la tabla
Cambiar el valor de AsignadoA
Actualizar registro
DoCmd.Houglass=True Para que aparezca el reloj de arena
DIM con As Connection
DIM RST As New ADODB.Recordset
Set con = CurrentProject.connection con a la coneccion que hemos abierto.

rst.open Problemas, con, adopenkeySet, adLockOptimistic,


adcmdTableDirect,
rst.Index =IdProblema,
For Each Var In lista0.ItemsSelected Va a cambiar de valor cada vuelta los
elementos van del a al n. ItemSelected =
elementos seleccin
Next Var
rst.Seek lista0.ItemDataVar Dato del elemento de la primera
columnas que queremos otro elemento tendramos que poner .ColumN(1)
Seek=Buscar en un ndice
rst!AsignadoA=cmbNuevoAsignadoA
rst.Update rst hace referencia a la tabla.
Boton de Reasignar seleccionados en el evento Al hacer click.
Queremos q cmbAsignadoA aparezca el NuevoAsignadoA. El
cmbNuevoAsignadoA que se quede en blanco y la lista se regenere.
cmbAsignadoA=cmbNuevoAsignadoA
cmbNuevoAsignadoA=Null
Lista12.Requery
DoCmd.Houglass=False
Reasignar todos. Comprobar que los cmbs tienen algn dato.
ElseIf Not IsNull(cmbAsignadoA) or Not IsNull(cmbNuevoAsignadoA) then,
Set con=CurrenteProject.connection
Con.execute UPDATE Problemas set AsignadoA=& cmbNuevoAsignadoA &
WHERE AsignadoA = & cmbAsignado A solamente en aquellos que
tengan el campo
Poner en el cmbAsignadoA poner el NuevoAsignadoA
cmbNuevoAsignadoA=Null
Luego regenerar la lista.
Lista??.Requery

BASE DE DATOS COLEGIO


PROVEEDORES ALUMNOS

CURSOS

CALIFICACIONES

Id_Prof

Id_Alum

Id_Cur

Id_Alum

Nombre

Nombre

Nombre

Id_Cur

Apellidos

Apellidos

Duracion

Direccion

Direccion

Precio

Poblacion

Poblacion

Id_Prof

Id_Asig

Telefono
Id_Cur

BECAS
ESTUDIO

BUSQUEDA DE ASIGNATURAS

BUSQUEDA DE

Id_Alum

Id_Asig

Id_Alum

Tipo Beca

Asignatura

Nombre

CantidadAbonar

EstudioFinalizados
RepiteCurso

RELACIONES:
Tabla ALUMNOS Id_Alum Tabla BECAS
Tabla ALUMNOS Id_Alum Tabla BUSQUEDA DE ESTUDIOS
Tabla ALUMNOS Id_Alum Tabla CALIFICACIONES
Tabla CURSOS Id_Cur Tabla CALIFICACIONES
Tabla CURSOS Id_Cur Tabla ALUMNOS
Tabla PROFESORES Id_Prof Tabla CURSOS
Tabla ASIGNATURAS Id_Asig Tabla CALIFICACIONES
Tabla ASIGNATURAS Id_Asig Tabla PROFESORES

Cambiar orden de tabulacin: Menu ver de Access, Orden de Tabulacion,


Seleccionar el nombre del control que se desea cambiar.
*Formulario con todos los cursos que ha desarrollado.
* Cmb combinado para el alumno y curso nuevo formurio para aadir un
nuevo alumno.
* Formulario CursoActivo, fecha de inicio hay que comprobar la fecha de
inicio no se ha menor que la fecha de inicio del curso y si es menor se
manda un mensaje. Cuando se introduce el curso automticamente habr
que introducir la fecha de inicio, pero siempre y cuando la fecha este en
blanco. Si no esta en blanco tiene que mandar un mensaje si se quiere
reemplanzar la fecha de inicio del curso y adems la fecha de inicio no
coincide con la que aparece en el recuadro Fecha de Inicio. Despues de
actualizar el cmbCurso.
TxtFechaInicioAlumno Cuadro de texto
Obligatorio que los campos cmbAlumno, cmbCurso y TxtFechaInicioAlumno
estn en blanco que no se guarden
CONSULTA
Todos los campos del CursoActivo y Cursos solo FechaInicio
El campo FechaInicio de la tabla CURSOS poner en la consulta
FechaInicioCurso:FechaInicio, y de la tabla CURSOSACTIVO poner
FechaInicioAlumno:FechaInicio
CmbCurso After Update
If IsNull(TxtFechaInicioAlumno) Then,
TxtFechaInicioAlumno=FechaInicioCurso
Else
OPCION=MsgBox(Desea reemplazar la fecha de inicio del curso,
VbOkCancel)
If OPCION=VbOk Then
TxtFechaInicioAlumno=FechaInicioCurso
Else
Cancel=True
End If
End If

TxtFechaInicioAlumno AfterUpdate
If txtFechaInicioAlumno<FechaInicioCurso Then
MENSA=Ha introducido una fecha menor
OPCION=MsgBox(MENSA)
Cancel=True
End If
Form Before Update
If IsNull(cmbAlumno) Or IsNull(cmbCurso) Or IsNull(txtFechaInicioAlumno)
Then
OPCION=MsgBox(Debe introducir un nombre de alumno, un curso y
la fecha de inicio del curso)
Cancel=True
End If
Si la fecha de inicio es superior a la fecha de inicio de la del curso que salga
en rojo; ir a formato condicional poner distinto a y poner [FechaInicioCurso]
Para que cuando a un alumno le cambias un curso que se cambie la fecha al
curso que es pero que salga un mensaje.
ElseIf OPCION=VbCancel Then
MsgBox(La fecha que ha introducido es errnea)
TxtFechaInicioAlumno=FechaInicioCurso
End If
Poner en la tabla CURSOACTIVO en el campo CausaBaja poner un cuadro
combinado desde la tabla los siguientes datos;
-

Contrato de trabajo
Invalidez temporal
Invalidez permanente
Faltas de Asistencia
Otras

Ejercicio. Hacer un formulario con los cursos que estn haciendo que
aparezcan todos los del subformulario Alumnos. Consulta CursoActivo y
Consulta Subformulario Alumno, Nombre y DNI.

Ejercicio. Otro formulario que sea reasignador de curso como el de la otra


base de datos. CursoActivoCursos. Igual que el formulario reasignar de la
CURSO Cuadro combinado
Nuevo CursoCuadro combinado
SUBFormulario

CAMBIAR
CURSO
CANCELAR

CAMBIAR
TODOS

base de datos PROBLEMAS.


La consulta la Lista (ConsultaSubformulario);
IdAlumno, IdCurso, DNI, Alumno:[Nombre]&, &[Apellidos], Telefono,
FechaNacimiento
En el criterio del campo IdCurso escribir; Forms!ReasignarCurso!CmbCurso
ReasignarCurso es el formulario y CmbCurso es el cuadro combinado.
Boton CAMBIAR TODOS
Con.Execute UPDATE CursoActivo SET cmbCurso = & cmbNuevoCurso &
WHERE IdCurso= & cmbCurso
Ejercicio. Hacer una tabla BUSQUEDAMODULOS;
-

IdModulo (Autonumerico)
Modulo - Texto 25

Formulario. Asignar modulo a un curso. Se tiene que almacenar en la tabla


modulo.
MODULO Comando combinado con
asistente
CURSO

Evento al no estar
en la lista

PROFESOR
ACEPTAR

CANCELAR

BOTON ACEPTAR; AL HACER CLICK


MENSA=Esta seguro de aadir nuevo modulo y profesor al curso?

OPCION=MsgBox(MENSA,VbOkCancel)
If OPCION=VbOk Then
Set BDT=CurrentDbd
Set rest=BDT.OpenRecordset(Modulos)
rst.AddNew
rst!IdModulo=cmbMoculo
rst!IdCurso=cmbCurso
rst!IdProfesor=cmbProfesor
rst.Update
Response=acDataErrAdded
End If
MENSA=Esta seguro de aadir el modulo &cmbModulo(Column(1)& y el
profesor &cmbProfesor.column(1)& al curso &cmbCurso(column(1)&?
INFORMES
MODULO, CURSO, PROFESORES
CONSULTA INFORME MODULOS
INFORME AGRUPADOS POR MODULOS
CURSO IDCURSO NOMBRE
UTILIZAR UN INDICE COMPUESTO EN LA TABLA CursoActivo Fila en blanco,
nombre de indice normalmente son los nombres del campo AlumnoCurso
que campo queremos introducir en el nombre del campo IdAlumno, IdCurso
Lista20.Column(1)=cmbCurso
Lista20.ItemData(Var), cmbCurso Buscar en curso

PROFESORES

ALUMNOS

CURSOS

CALIFICACIONES

Id_Prof

DNI_Alum (Id)

Id_Curso

DNI_Alum

DNI

Nombre

DNI_Alum

Id_Modulo

Nombre

Apellidos

Nombre

Id_Curso

Apellidos

Direccion

Horario

Calificacion

Direccion

Poblacion

Fecha_inicio

Observaciones

Poblacion

CodigoPostal

Fecha_Final

CodigoPostal

Telefono

Horas

Telefono

FechaNacim

Precio

Fijo

Sexo

Inscripcion

Sexo

NivelAcademico

Nivel

Titulacion

Observaciones

Aula

FechaNacimiento

Foto

Plazas

Observaciones

CURSOACTIVO BUCAR MODULOS


ESTUDIO

BUSQUEDA DE

Id_Alum

Id_Mod

Id_Nivel

Id_Curso

NombreModulo

Nivel

FechaInicio

Id_Curso

FechaBaja

Id_Prof

CausadeBaja
Observaciones
RELACIONES:
Tabla ALUMNOS Id_Alum Tabla CALIFICACIONES
Tabla ALUMNOS Id_Alum Tabla CURSOACTIVO
Tabla CURSOS Id_Curso Tabla CURSOACTIVO
Tabla CURSOS Id_Cursp Tabla CALIFICACIONES
Tabla CURSOS Id_Curso Tabla MODULOS
Tabla PROFESORES Id_Prof Tabla MODULOS
Tabla BUSQUEDANIVEL Id_Nivel Tabla NIVEL
Tabla BUSQUEDANIVEL Id_Nivel Tabla ALUMNOS
Tabla CURSOACTIVO FechaInicio Tabla CURSO1
Tabla CURSOACTIVO FechaInicio Tabla CURSO2
TABLAS:

BUSQUEDANIVEL

CURSO1

IdNivel

IdCurso

IdCurso

CURSO2

CONSULTA SUBFORMULARIO:
CURSO

CURSOACTIVO

ALUMNOS

IdCurso

IdAlumno

IdAlumnos

FechaInicio

IdCurso
FechaInicio

CURSOACTIVOCURSOS
IdAlumno Tabla CursoActivo
IdCurso Tabla CursoActivo
FechaInicioCurso: FechaInicio Tabla Cursos
FechaBaja Tabla CursoActivo
CausaBaja Tabla CursoActivo
Observaciones Tabla CursoActivo
FechaInicioCurso:FechaInicio Tabla CursoActivo
FORMULARIOS
CURSOS. Origen de registro Cursos Todos los registros
IdCurso

Subvencion

Nombre_ Cargo
Horario

Aula

FechaInicio

Plazas

FechaFin

Horas

Nivel Nivel

Precio
SUBFORMULARIO. Consulta Subformulario Hoja de datos
Subformulario Alumnos
IdCurso

Nombre=NombreAlumno&, &Apellido

IdAlumno

DNI

DATOS ALUMNOS. Origen de registros Alumnos


Foto

Idalumno

Sexo

FechaNacimiento

Nombre
Apellido
Direccion

Telefono
Observaciones

Poblacion
Codigo Postal
Nivel Academico
Subformulario ConsultaSubformulario Hoja de datos Subformulario
DatosCursoActivo
IdAlumno

CausaBaja

IdCurso

Observaciones

Nombre_

FechaInicio
FechaBaja
NUEVO ALUMNO Origen CursoActivoCursos
Nombre IdAlumno
Desactivado
Curso IdCurso
FechaInicio FechaInicioAlumno
Fecha de Baja FechaBaja
Causa de baja CausaBaja
Observaciones

IdAlumno
IdCurso

Desactivado

Вам также может понравиться