Contar datos de una tabla y poner el resultado en otra

Te cuento la situación que necesitaría resolver.
Tengo una base de datos que contiene 4 tablas una se refiere a regiones, otra a partidos, la otra a profesionales y la otra a especialidades.
La tabla REGIONES tiene 5 campos: id, nombre, pediatría, generalista y clínico (estos 3 últimos campos son numéricos)
La tabla PARTIDOS tiene 6 campos: id, nombre, idregion (ya que cada región consta de por cantidad de partidos), pediatría, generalista y clínico (estos 3 últimos campos son numéricos)
La tabla ESPECIALIDADES tiene 2 campos: id y nombre (que son pediatría, generalista y clínico)
Finalmente la tabla PROFESIONALES tiene 6 campos: id, idregion, idpartido, nombre, matricula y idespecialidad
Mi idea sería que mediante una vb se completen en base a la información de la tabla profesionales, la cantidad de especialidades correspondiente a cada región y a cada partido. De manera tal que si en la región 1 hay 3 partidos y cada uno de esos partidos tiene 2 generalistas, en el campo "generalista" de la tabla REGIONES aparezca el número 6.

1 respuesta

Respuesta
1
Si son campos calculados, que además pueden variar, te aconsejo que emplees el generador de consultas de Access. Allí puedes indicar las restricciones que quieras tanto a nivel de SQL, como usando el propio asistente. Así evitarás almacenar datos calculados que pueden estar obsoletos, obteniendo directamente el valor calculado cuando lo necesites.
Bueno, si no se puede hacer por VB y/o es conveniente hacerlo mediante consulta, tomo en cuenta tu recomendación.
Ahora bien. Lo que necesitaría es que me ayudes a generar la consulta, porque no tengo mucho manejo en hacer consultas en access.
Gracias de nuevo.
Saludos
Estoy intentando entender la estructura de BD que necesitas. Dices:
"De manera tal que si en la región 1 hay 3 partidos y cada uno de esos partidos tiene 2 generalistas, en el campo "generalista" de la tabla REGIONES aparezca el número 6."
Entiendo que el nº de regiones lo obtienes de la tabla partidos [partidos.idregion]=[regiones.id], y que el nº de especialidades por partido lo obtienes de la misma tabla [partidos.idespecialidad]=especialidades.id
¿Es así? Es que me confunden las relaciones que dices tienes creadas entre las tablas.
Lo correcto entonces es que la tabla Partidos, esté relacionada con id_regiones al id de la tabla Regiones, y con id_especialidad al id de la tabla Especialidad
Así, si quieres sacar una consulta en la que filtres el nº de especialidades distintas que hay, sólo tienes que generar nueva consulta, seleccionar los campos comunes (ids relacionados) de todas las tablas y agrupar por id de la tabla Especialidad. (Adicionalmente podrás poner datos aclarativos como el nombre, para luego mostrarlo en el formulario, aunque para hacer las pruebas mejor no lo compliques)
Se ve que no me estoy pudiendo explicar bien
Lo que necesito saber es cuantos profesionales que tienen como especialidad "pediatria", cuantos tienen como especialidad "generalista" y cuantos tienen como especialidad "clinica". No el número de especialidades, eso lo sé, son 3, sino la cantidad de profesionales que tienen una determinada especialidad. Por partido y por región.
La relación que describís, carece de una tabla que es la tabla PROFESIONALES, esta se vincula con la tabla especialidad (profesionales.especialidad=especialidad.id), y a la tabla partido (partidos.id=profesionales.idpartido).
Saludos y gracias por el tiempo
Lo más sencillo es que crees un formulario o informe. Como sabrás, en éstos puedes agrupar por.
Simplemente agrupando por especialidad, e insertando un campo de cuenta de registros, obtendrás para cada especialidad el valor que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas