Hola Como puedo desactivar una o mas registros por medio de un formulario en una bd en access

Hola Como puedo desactivar, (no quiero eliminarlos? Uno o mas registros por medio de un formulario en una bd en access, si me pueden apoyar con un ejemplo que mejor, lo que busco es entenderlo

Saludos y muchas gracias

1 respuesta

Respuesta
1

¿Qué quieres decir cuando dices "desactivarlos"? ¿Es posible que lo que quieras es que ya no se muestren en el formulario?

Bueno, ya me explicarás.

Gracias por el interés... un ejemplo palpable es el de una base de datos de una escuela, donde los alumnos, se van por diferentes motivos, pero que se requiere tener tener el historial del mismo, por si las dudas...ohhhhh que me recomiendas???

Saludos cordiales

Te lo pongo a través de un ejemplo:

Partimos de una tabla <TAlumnos>, con sus campos correspondientes, y un formulario basado en esa tabla que se llama <FAlumnos>.

Lo que hacemos es lo siguiente:

- Añadimos un campo nuevo a <TAlumnos>, de tipo si/no, que llamaremos [Baja]. En sus propiedades, en la tabla, le ponemos que su valor predeterminado es FALSO

Y ahora dividimos la sistemática en dos partes:

a) Para dar de baja un alumno...

- Creamos una consulta sobre <TAlumnos> donde le añadimos el identificador del alumno, si lo tenemos, o el nombre, y ese campo [Baja]. En [Baja] le ponemos como filtro la palabra FALSE. 

- Creamos un formulario sobre esa consulta. Ahora, cuando queramos dar de baja un alumno, lo buscamos y abrimos el formulario de baja filtrado. Marcamos el check y ya lo tenemos dado de baja (si no sabes cómo hacer eso me lo comentas y te lo explico)

b) Para sacar la información...

- Creamos una consulta sobre <TAlumnos> donde añadimos todos los campos que necesitemos. Añadimos también el campo [Baja]. Entonces tenemos varias opciones:

++ Si queremos ver todos los alumnos que están de baja en el filtro de [Baja] escribimos las palabras TRUE

++ Si queremos ver todos los alumnos que no están de baja en el filtro de [Baja] escribimos las palabras FALSE

++ Si queremos ver todos los alumnos, de baja o no, no ponemos ningún filtro.

- Podríamos hacer varias consultas según el filtro que pongamos: <CAlumnosBaja>, <CAlumnosAlta>, <CAlumnosTodos>

- Si queremos un formulario bastaría que basáramos el formulario en la consulta que nos interese.

- Si queremos un informe bastaría que basáramos el informe en la consulta que nos interese.

Y bueno... a grandes rasgos eso sería la visión global del proceso.

A ver si te sirve.

Gracias Neckkito...como se hace esto: Creamos un formulario sobre esa consulta. Ahora, cuando queramos dar de baja un alumno, lo buscamos y abrimos el formulario de baja filtrado. Marcamos el check y ya lo tenemos dado de baja (si no sabes cómo hacer eso me lo comentas y te lo explico)

Te explico un posible sistema:

- Créate una consulta con dos campos: uno con el nombre o el identificador del alumno y otro con el campo [Baja]. En este último campo sitúas el filtro como FALSE. Guardas esa consulta como, por ejemplo, CBaseCombo

- Créate un formulario en blanco, o reutiliza uno que ya tengas (si tienes un formulario que te haga de panel de control, pues utilizar ese). Yo lo llamaré <FSelBaja>

- Inserta un cuadro combinado (combo) en ese formulario. Cuando te salga el asistente le dices que quieres los valores de una tabla o consulta, seleccionas CBaseCombo, seleccionas el identificador o nombre del alumno (no importa que añadas el campo [Baja]) y sigues el asistente hasta el final.

- Sacas las propiedades del combo y te vas a Pestaña Otras -> Nombre, y ahí sustituyes el valor que haya por

CboSelAlum

- Por ejemplo, siguiendo con la terminología que te comentaba en un mensaje anterior, lo que queremos abrir es el formulario FBajas (formulario que nos permite dar a un alumno de baja), que está basado en la consulta CBajas. Lo que tenemos que hacer ahora es filtrar CBajas. Para ello:

- Situamos CBajas en vista diseño y nos vamos al grid de la consulta, al campo que te recoge el identificador o nombre del alumno (que será el campo correspondiente al que hemos utilizado en el combo). Como filtro escribimos lo siguiente:

Forms!FSelBaja.cboSelAlum.value

- Finalmente, en <FSelBaja>, seleccionamos el combo y nos vamos a Propiedades -> Pestaña Eventos -> Después de actualizar, y en ese evento generamos el siguiente código:

...

Private Sub...

If isnull(me.cboSelAlum.value) then exit sub

docmd.openform "FBajas"

End sub

...

Y listo: ya lo tienes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas