Ayuda BD Access!!!!

Merkury

Buenas somos un grupo de cuatro alumnos de grado superior de ADAI (Aplicacion y desarrollo de aplicaciones informaticas) y estamos aqui con un problema que nos han planteado, tenemos que desarrollar una base de datos para controlar un parking y tenemos el problema de que no somos capaces de evitar la duplicacion de registros a la entrada y a la salida (es decir que no pueda entrar un coche que ya esta dentro o que no pueda salir un coche que no a entrado).

Todo este control en teoria se lleva a cabo con el numero de matricula.

Alguna idea para nuestro problema con las limitaciones que nos impone la mierda de Access?

Saludos

shortyStyle

Poniendo como clave primaria dicha matrícula, así no se podrá repetir ese campo.

minipelos

edito. la idea de #2 desarrollada como un insert y delete es la más cómoda, rapida y más ligera para la base.

que entra el coche: insert. que sale: delete.

luego ya si te lo quieres currar mas, haces una macro que todos los insert entren en un log y todos los deletes actualizen el log con su salida (así encima tienes control de vehículos)

y si ya quieres, en el formulario puedes poner algo en plan de control de errores y que los errores de matrícula duplicada te los de más personalizados. eso ya gustos

Merkury

Vale si #3 eso ya lo habiamos pensado pero el problema es que nuestros conocimientos en desarrollo de macros de Access es limitado (ey tio estamos studiando! XD)

Una ayudita?

SeiYa

#4 una ayudita en que sentido?

Basta con poner la matrícula como campo clave para evitar que pueda estar el coche dos veces dentro ...

Deberías explicarte más a fondo como tienes planteado el problema.

Merkury

El enunciado es: "Desarrolla una BD para gestionar el control de un parking" XD (mi profesor es un poko cebollino)

A ver el problema de marcar la matricula como clave principal y que no se pueda repetir, es que una vez que el coche a entrado una vez si no lo eliminas de la tabla de entrada y de salidas no puede volver a entrar (un poko absurdo),esto llevaa hacer una macro que copie las matriculas con los datos de entrada en una tabla de control (log) con un insert y un delete que lo elimine de las tablas de entrada y salida (hasta aqui todos de acuerdo), el problema es que esta macro no conseguimos realizarla entre el grupo de trabajo a ver si a alguien se le ocurre como podia hacerla funcionar.

Saludos.

P.D Si quereis os subo el E-R de la BD para que veais como esta planteada.

SeiYa

Yo haría una tabla de entradas simplemente.

Si está dentro no puede estar fuera, si no está dentro del garaje significa que está fuera. XD

C

La opcion de #3 es la más fácil. Sin embargo tiene el incoveniente de que no guarda histórico. Te propongo una tabla como esta:

REGISTRO_PARKING
id
matrícula
fecha_entrada
hora_entrada
fecha_salida
hora_salida

Cuando entra un coche, insert al canto. Cuando sale, comprobar si para esa matrícula hay un registro sin fecha de salida. Si lo hay, update al canto. Así de sencillo.
En una sola tabla registro online más histórico. Cutre pero rápido y fácil.

Leunamal

#1

  • Si no vas a borrar el registro de un coche con matrícula X cuando este salga del parking:

La clave primaria sería la matrícula, la hora de entrada y día. La razón es que un coche con matrícula X puede entrar varias veces en el mismo parking al mismo día, o puede que entre a la misma hora siempre pero en diferentes días.

  • Si deseas borrar el registro del coche, cuya matrícula es X, que acaba de salir del parking:

La clave primaria sería simplemente la matrícula.

saludos

YavestruZ

No, si al final se lo haceis xD

Merkury

Grazias a todos por las ideas, el jueves pasado la entregamos (si se me olvido mirar el post me habeis pillado), para que veais que somos unos genios, os dire la solucion que utilizamos.

Hicimos 3 tablas, entradas, salidas e historico.

Como claves principales marcamos en la tabla de entrada y salida la matricula (haciendo una relacion 1-1) y en la tabla de historico fecha salida y hora salida.

Con todo esto realizamos una consulta anexada de salidas y una consulta de borrado, con todo relizamos una macro, para que fuese capaz de borrar las matriculas de las dos tablas de entrada y salida y copiarlas en la tabla historico y asi xapo ^.

Saludos

Usuarios habituales

  • Merkury
  • YavestruZ
  • Leunamal
  • SeiYa
  • minipelos
  • shortyStyle