Access - hacer un balance

 
Vista:

hacer un balance

Publicado por Joan (1 intervención) el 19/02/2007 19:26:06
Hola mi nombre es Joan y soy bastante novato en el tema de bases de datos,

Ahora mismo estoy creando una base de datos para mi padre, basicamente el problema es que necesito haver un balance y que este se actualice a medida que vaya entrando entradas:
son dos granjas de vacas y toros en las que estas son canviadas de una a la otra
lo que me interesa es que pueda introducir en un formuladio (parte superada) si es una alta o una baja y si es macho o hembra,
lo que quiero es que si es una hembra y es una alta me sume un numero al balance acumulado de hembras
si es una baja la reste de este y analogamente con los machos,
he pensado en una consulta y que me haga los acumulados del total...
pero hay mil problemas
si a alguien se le ocurre alguna idea o si alguien cree que tiene una idea pero no me he explicado bien que me lo diga por favor
atentamente
Joan Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cálculo de balance acumulado de Hembras y Machos en una granja

Publicado por Alejandro (4142 intervenciones) el 03/08/2023 17:50:57
¡Hola, Joan! Entiendo lo que necesitas y puedo ayudarte con la estructura de la base de datos y las consultas necesarias para calcular el balance acumulado de hembras y machos. A continuación, te presento una posible solución:

1. Estructura de la base de datos:
- Crea una tabla llamada "Movimientos" con los siguientes campos:
- ID_Movimiento (clave principal, autonumérico)
- Tipo (texto): Puede ser "Alta" o "Baja"
- Genero (texto): Puede ser "Hembra" o "Macho"
- Fecha (Fecha/Hora): Fecha del movimiento
- GranjaOrigen (texto): Nombre de la granja desde la que proviene el animal (opcional, si lo necesitas)
- GranjaDestino (texto): Nombre de la granja a la que se traslada el animal (opcional, si lo necesitas)

2. Consultas:
- Puedes crear dos consultas de totales para obtener los acumulados de hembras y machos:

- Consulta para obtener el acumulado de hembras:
1
2
3
4
SELECT Genero, SUM(IIf(Tipo='Alta',1,-1)) AS BalanceHembras
FROM Movimientos
WHERE Genero='Hembra'
GROUP BY Genero;

- Consulta para obtener el acumulado de machos:
1
2
3
4
SELECT Genero, SUM(IIf(Tipo='Alta',1,-1)) AS BalanceMachos
FROM Movimientos
WHERE Genero='Macho'
GROUP BY Genero;

Estas consultas utilizan la función `SUM` junto con la función `IIf` para sumar 1 si es un movimiento de alta y restar 1 si es un movimiento de baja.

3. Formulario:
- Crea un formulario para introducir los movimientos de alta y baja de hembras y machos.
- Agrega controles para introducir el tipo de movimiento, el género, la fecha y, si es necesario, los nombres de las granjas de origen y destino.

4. Actualización del balance:
- Puedes utilizar subformularios o controles de texto en el formulario principal para mostrar los acumulados de hembras y machos.
- Utiliza las consultas mencionadas anteriormente como origen de datos para los controles que mostrarán los balances acumulados.

Con esta estructura y las consultas, podrás tener un balance acumulado actualizado de hembras y machos a medida que ingreses nuevos movimientos en el formulario. Cada vez que registres un nuevo movimiento, los acumulados se calcularán automáticamente y se reflejarán en el formulario.

Espero que esta solución te ayude a resolver tu problema. ¡Buena suerte con tu base de datos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar