** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Insertar en tabla más de un registro por campo
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoInsertar en tabla más de un registro por campo

 Responder Responder
Autor
Mensaje
damian_colomb Ver desplegable
Habitual
Habitual


Unido: 08/Febrero/2021
Localización: Argentina
Estado: Sin conexión
Puntos: 177
Enlace directo a este mensaje Tema: Insertar en tabla más de un registro por campo
    Enviado: 03/Abril/2021 a las 17:14
Hola!!
Tengo un problemilla y no se me ocurre como puedo resolverlo, no se si alguien puede ayudarme o se le ocurre como puedo hacer.

Tengo un formulario con varios objetos, (cuadros combinados y cuadros de texto) los cuales sirven para cargar datos, que mediante un botón a través de insert to, se insertan en la tabla correspondiente.

La tabla tiene varios campos, la mayoría con información única por campo, pero hay dos puntualmente que pueden tener más de un registro, son motivo de consulta y diagnósticos.
Funciona correctamente si quiero cargar uno solo, pero el problema es que en la práctica debería insertar más de un registro por campo ejemplo:

Esta tabla la puedo armar bien de la manera que especifiqué más arriba:
Paciente--------Edad--------estudio--------motivo--------diagnósticos--------
---14-------------25---------- VEDA-------- Anemia------- Tumor gástrico-----

El problema es cuando quiero cargar varios motivos y diagnósticos, ejemplo:

Paciente--------Edad--------estudio--------motivo-----------diagnósticos--------
---14-------------25---------- VEDA-------- Anemia-----------Tumor gástrico-----
---14-------------25---------- VEDA-------- perdida de peso------- gastritis-----
---14-------------25---------- VEDA-------- dolor--------------------- polipo-----
No me parece práctico esto, estoy generando valores duplicados paciente, edad y estudio.

Lo ideal sería que se cargue así:
Paciente--------Edad--------estudio--------motivo-----------diagnósticos--------
---14-------------25---------- VEDA-------- Anemia-----------Tumor gástrico-----
                                                              perdida de peso           gastritis
                                                                      dolor                       polipo

Se me ocurre que puedo cambiar la tabla y agregar nuevos campos: motivo1, motivo 2, motivo 3, etc y diagnóstico 1, 2, 3, etc, pero no me parece muy práctico y funcional.
A alguien se le ocurre una manera más práctica de realizar la carga de datos?
Muchas gracias por leerme
Saludos 
Drop here!


Editado por damian_colomb - 03/Abril/2021 a las 17:15
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 03/Abril/2021 a las 18:29
No está del todo mal la cosa ...  LOL

Podrías poner por 'delante' una tabla Estudios con los campos IdEstudio, Paciente, Edad, Estudio y la que tienes cambiarla a IdEstudio, motivo, diagnóstico, ... es más académico, pero tampoco es que ganes mucho.


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
damian_colomb Ver desplegable
Habitual
Habitual


Unido: 08/Febrero/2021
Localización: Argentina
Estado: Sin conexión
Puntos: 177
Enlace directo a este mensaje Enviado: 03/Abril/2021 a las 18:50
Hola mihura! Gracias por contestar!
No termino de comprender como puedo hacer para agregar varios registros en el campo!
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 03/Abril/2021 a las 18:56
Un registro por cada juego de valores.

Tal cual lo tienes puesto en el primer post.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
damian_colomb Ver desplegable
Habitual
Habitual


Unido: 08/Febrero/2021
Localización: Argentina
Estado: Sin conexión
Puntos: 177
Enlace directo a este mensaje Enviado: 03/Abril/2021 a las 19:08
Paciente--------Edad--------estudio--------motivo-----------diagnósticos--------
---14-------------25---------- VEDA-------- Anemia-----------Tumor gástrico-----
---14-------------25---------- VEDA-------- perdida de peso------- gastritis-----
---14-------------25---------- VEDA-------- dolor--------------------- polipo-----

Esta sería la única forma de cargarlo decis?
Porque en ves de cargarlo así, por ahí es más práctico para después consultar los datos si le agrego a la tabla más campos
Motivo1, motivo2, motivo3 ----Diagnóstico1, diagnóstico2,diagnostico3, etc

Saludos


Drop here!


Editado por damian_colomb - 03/Abril/2021 a las 19:32
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 03/Abril/2021 a las 21:25
No, todo lo contrario, es muchísimo más engorroso.

Plantéate que de necesitas saber cuantos son por Anemia, en vez de una simple consulta de selección de un campo tienes que montar un cirio bastante curioso.


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
damian_colomb Ver desplegable
Habitual
Habitual


Unido: 08/Febrero/2021
Localización: Argentina
Estado: Sin conexión
Puntos: 177
Enlace directo a este mensaje Enviado: 03/Abril/2021 a las 22:20
Ahora que pasa si armo una tabla donde se inserten varios motivos y la relaciono con la de informes? Estaría en la misma situación, no?Wacko
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 04/Abril/2021 a las 09:14
Bueno, te vas acercando a los conceptos de normalización de BD.  LOL

Si te preocupa el tema -que lo parece- y quieres hacer las cosas bien busca algo de literatura sobre normalización de BD.

Lo que tú pretendes -la petición del primer post- se traduce en las siguientes tablas:

- Pacientes
- Tipos de Estudio
- Motivos
- Diagnósticos

y por fin:
- Expedientes, relacionada con las anteriores, cuyos campos deberían ser:
     IdExpediente, IdPaciente, Edad, IdTipoEstudio, Observaciones (campo tipo memo para una explicación larga del estudio
- ExpedientesMotivos, tabla que contiene los diversos motivos de un expediente:
    IdExpedienteMotivo, IdExpediente, IdMotivo
- ExpedientesDiagnosticos:
    IdExpedienteDiagnostico, IdExpediente, IdDiagnostico


Pongo una tabla aparte de diagnósticos porque entiendo que un expediente puede tener más de uno, y también sería interesante un campo observaciones tanto en ExpMotivos como ExpDiagnosticos para guardar más información.





Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
damian_colomb Ver desplegable
Habitual
Habitual


Unido: 08/Febrero/2021
Localización: Argentina
Estado: Sin conexión
Puntos: 177
Enlace directo a este mensaje Enviado: 04/Abril/2021 a las 20:59
Hola Mihura, muchas gracias nuevamente por contestar! Voy a leer un poco más en profundidad sobre la normalización, esA tuve mirando un poco sobre cumplir los 3 órdenes. Igualmente creo para cumplirlo tengo que replantear los formularios
En mi formulario tengo varios objetos arriba, (cuadros de texto y combinados) cuando coloco el DNI de un paciente previamente cargado se devuelven los datos personales desde una consulta a a tabla pacientes, donde previamente se cargaron los datos, solo a modo de visualización, no se trabaja con esos datos. (imagen 1)
Imagen 1:
https://ibb.co/mz1fBjb
Ahora mediante un control de pestaña, pensaba ir cargando los diferentes datos del informe para que se vayan cargando en la tabla informes (imagen 2)
Imagen 2:
https://ibb.co/6bCQxBx

En el cuadro de lista ese que figura en la imagen 2, al hacer doble click en una opción se devuelve en el cuadro de texto verde de la derecha la descripción correspondiente (Para no tener que escribir siempre lo mismo).

Se sigue navegando hasta la última pestaña, donde mediante un botón se guarda la información en la tabla informes
Esto me funciona bien, pero el problema que tengo es que no podia cargar varios motivos o varios diagnósticos.

Ahora bien, con el concepto de normalización, que trataré de indagar un poco más, creo que debería plantearme una forma distinta de ordenar los formularios y lógicamente hacer nuevas tablas.

Se me ocurre que la parte de la imagen uno, se puede guardar en un formulario independiente y cada una de las pestañas de la imagen 2 un formulario independiente para cargar los datos

De esta manera al cargar el  1° informe, en la tabla se me cargan los datos con un id nuevo. Después cada uno de los valores de la pestaña, mediante relaciones, los puedo insertar cada uno en tablas nuevas y después mediante consultas poder traerlos en un formulario ordenado para verlos, imprimirlos y más adelante procesar estadística.

Creo que por lo menos voy encaminado con una idea! Lo voy a probar y después te cuento, muchas gracias Mihura.



Drop here!
Arriba
damian_colomb Ver desplegable
Habitual
Habitual


Unido: 08/Febrero/2021
Localización: Argentina
Estado: Sin conexión
Puntos: 177
Enlace directo a este mensaje Enviado: 05/Abril/2021 a las 05:44
Se puede cerrar este post
Drop here!
Muchas gracias
Saludos
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable