BBDD estoy atascado

Hola Alex, espero que me puedas ayudar
La BBDD es para calcular lo que van a cobrar los asistentes a reuniones de diferente tipo.
Tengo una tabla para cada asistencia de cada tipo de reunión
tengo una consulta que me selecciona todas las asistencias:
SELECT As_contrata_personal.nome, As_contrata_personal.data, As_contrata_personal.cargo
FROM As_contrata_personal
UNION SELECT As_xunta_goberno.nome, As_xunta_goberno.data, As_xunta_goberno.cargo
FROM As_xunta_goberno
UNION SELECT As_comision_informativa.nome, As_comision_informativa.cargo, As_comision_informativa.data
FROM As_comision_informativa
UNION SELECT As_mesa_contrata.nome, As_mesa_contrata.data, As_mesa_contrata.cargo
FROM As_mesa_contrata
UNION SELECT As_Pleno.nome, As_Pleno.data, As_Pleno.cargo
FROM As_Pleno;
En un formulario tengo 3 cajas de texto nombre, fecha de inicio en el calculo, fecha fin del calculo
los precios están en tabla precios y dependen del cargo que ocupe cada persona en cada reunión
quiero que después de introducir 'nombre, fecha_inicio, fecha_fin' en el formulario al darle a un botón me calcule lo que van a cobrar y saque una lista con las reuniones a las que asistió dicha persona.
GRacias

1 Respuesta

Respuesta
1
Si tienes la consulta con los datos de todas las asistencias a reuniones, montate un left join contra la tabla de precios para saber los precios por asistente, si esta consulta la agrupas, puedes sumar los importes para saber el total.
Una vez creada la consulta, por codigode visual basic, la puedes abrir con los limites de nombre y fechas que quieres, para sacar el resultado.
Perdona mi torpeza pero es que estoy empezando en esto.
¿Podrías darme un ejemplo?
Tal vez debería cambiar la manera en la que almaceno los precios en la tabla precios para hacer como tu me dices
campo                                             valor
data                                               01/05/2008                                          comision_informativa                     30,00 ?                                             comision_informativa_presidente  90,00 ?
xunta_goberno                              90,00?
¿sesion_plenaria                             60,00?
id_precio                                          1
Perdona mi tropezá pero es que soy nuevo en esto
podrías darme algún ejemplo, ¿por favor?
campo                                                valor                                                                            data comision_informativa                    01/05/2008                                             comision_informativa_presidente        30,00 ?                                                                      xunta_goberno                                      90,00 ?                                                                   sesion_plenaria                                      90,00                                                                                  comision_informativa                              60,00                                                                   id_precio                                                 1
tal vez deveria cambiar esta tabla de  precios para hacerlo asi
Pongamos que la consulta que usas se llama empleadoscargo
Y la de importes se ImportesCargo,
Tendrías que montar algo así
Select empleadoscargo.nombre, empleadoscargo.cargo, sum(ImportesCargo.precio)
From empleadoscargo
inner join ImportesCargo
on empleadoscargo.cargo = importescargo.cargo
where empleados.cargonombre = [valor que quieras buscar]
De todas formas, según lo que me explicas, tu estructura de tablas estaría mejor si la hicieras:
Tabla Reuniones (con un id para cada reunión y los datos de la reunión, como fecha temas etc)
Tabla asistentes, con el id de la reunión y los id de las personas que asisten, con su cargo)
Por ultimo una tabla de los precios por cargo o por persona, como tu prefieras.
Tambien podrias tener una tabla con clientes, con los datos de los que pueden asistir a reuniones
and empleadoscargo.fecha >= [fecha ini]
and empleadoscargo.fecha <= [fecha Fin]
De todas formas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas