Base de datos ingresos y gastos

Estoy realizándome una base de datos en Access para introducir los gastos del hogar, hacer un presupuesto anual y que dicho presupuesto además pueda compensarse de un año para otro, y se compare con cada categoría de dinero gastado-ingresado y en general.
El caso es que necesitaba algo de orientación, si ha hecho algo parecido o puede darme alguna idea sobre el funcionamiento. En principio tengo las tablas y no sé si serán correctas, te las paso a continuación:
Categorías: idcat, nompart, descripcion
Año presupuesto: idfecha, año, presupuesto, fechainicio, fechafin
detalles de presupuesto:lin, idfecha, idcat, cantidad_asignadaing, cantidad_asignadagasto
ingresos y gastos: lin, idfecha, idcat, fecha, ingreso, gasto, descripcion
En principio en presupuestos e ingresos y gastos, los había separado en tablas diferentes, unas para ingresos y otras para gastos. No sé si así podrán ir bien.
Año presupuesto, sería la tabla principal y las demás irían relacionadas mediante idfecha
Desearía que me diese una orientación sobre si debería añadir o quitar algo según lo que quiero hacer.
Igualmente alguna orientación de como podría hacer que los presupuestos se comparen a los gastos por cada categoría.
Respuesta
1
Voy un poco liado y no podré contestar tu consulta con rapidez, y también porque "sencilla" no lo es precisamente ;)
Te pido un poco de paciencia. En cuanto tenga un ratito (largo) le doy una vuelta a tu pregunta y te contesto.
Gracias!
Un saludo,
... http://neckkito.eu5.org ...
Ok, cuando puedas
Te comento mi opinión:
- Yo no separaría las tablas de ingreso y gasto. Tenerlas juntas te va a facilitar mucho la vida cuando intentes sacar un informe global, mientras que tenerlas separadas te obligará a hacer "operaciones" para unirlas. Lo que sí te recomiendo en referencia a este aspecto es que tanto en la tabla "detalles presupuesto" como en "ingresos y gastos" (o la tabla unificada, si la creas) es que crees un nuevo campo, llamado, por ejemplo, tipo de movimiento, que tenga dos valores: ingreso o gasto. Así, por ejemplo, además de decirle a Access que existen dos tipos de movimiento (porque, aunque tú veas las tablas separadas, si no hay un dato en un campo que diga "ingreso" o "gasto" Access no lo va a saber", tendrás un campo valioso para filtrar por consultas o para realizar agrupaciones en un informe.
- Relacionar las tablas a través del campo idFecha yo no te lo aconsejo. Las relaciones, en teoría, deberían basarse en un campo que identifique inequívocamente el registro, y precisamente una fecha no suele cumplir muy bien ese requisito.
Te doy una idea: ¿Por qué no eliminas el idFecha de la tabla "año presupuesto" y dejas el campo año como idAño? Así, por ejemplo, todo lo que introduzcas deberá estar referido a ese año para pertenecer a ese presupuesto, y si no es que pertenece al presupuesto de otro año. Evidentemente deberías hacer lo mismo para el resto de tablas que hayan de relacionarse
- Lo que comentas de comparación es un poco trabajoso, pero te explico un poco por encima cómo podría funcionar:
.- Crearías una consulta de selección donde te recogiera los datos del presupuesto (suponiendo que hay un solo registro para cada categoría. Si no, tendrías que hacer una consulta de totales, que te explico un poco más abajo)
Es decir, la primera consulta te daría una cosa así, por ejemplo:
Categoría: vestuario Importe: 100
Categoría: alimentación Importe: 200
.- Crearías una consulta de selección donde te recogiera los datos de los gastos o de los ingresos.
Te quedaría, por ejemplo, una cosa así (para gastos):
Cat: vestuario Importe: 25
Cat: vestuario Importe: 5
Cat: alimentación Importe 3
Cat: alimentación importe 2
.- Convertirías la anterior consulta en una consulta de totales, agrupando por suma los importes, de manera que los datos te quedaran una cosa así:
Cat: vestuario SumaDeImporte: 30
Cat: alimentación SumaDeImporte: 5
.- Harías otra consulta basada en las dos anteriores, relacionando las tablas de la consulta a través del campo idcat, e introducirías un campo calculado en la consulta que te diera la diferencia. Te quedaría así:
Cat vestuario Cons1. Importe: 100 Cons2. SumaDeImporte: 30 Diferencia: 70
Cat alimentacion Cons1. Importe: 200 Cons2. SumaDeImporte: 5 Diferencia: 195
(Donde Diferencia = Cons1.Importe - Cons2.SumaDeImporte)
Dicho así parece un poco complicado, pero en el fondo es un tema un poco "mecánico".
Bueno. Creo que no me dejo nada más. Si tienes alguna cosilla más que preguntar me lo comentas.
Muchísimas gracias, me ha sido de mucha utilidad, con esto ya tengo ideas para entretenerme en su desarrollo durante tiempo.
Lo que me comentabas de Idfecha, se trata de simplemente un código numérico, pero como dices sería mejor ponerle idaño.
Muchas gracias. Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas