Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Rellenar campos automáticamente. Ayuda.

Estas en el tema de Rellenar campos automáticamente. Ayuda. en el foro de Bases de Datos General en Foros del Web. Hola a todos! A ver si alguien puede ayudarme, el problema es el siguiente, necesito rellenar unos campos de una tabla, en la tabla "Ofertas_Cursos", ...
  #1 (permalink)  
Antiguo 02/07/2008, 03:03
 
Fecha de Ingreso: mayo-2008
Mensajes: 80
Antigüedad: 16 años
Puntos: 0
Rellenar campos automáticamente. Ayuda.

Hola a todos!

A ver si alguien puede ayudarme, el problema es el siguiente, necesito rellenar unos campos de una tabla, en la tabla "Ofertas_Cursos", hay dos campos: 'nombre_curso' y 'cod_curso' que los coge de otra tabla llamada "Catálogo" relacionada con la primera. La cosa es que quiero que al escoger el nombre del curso (me sale una lista desplegable con los cursos del catálogo) automáticamente me rellene el campo 'cod_curso' con el código correspondiente al curso que he escogido en 'nombre_curso'.

En el campo 'cod_curso' de la tabla "Ofertas_Cursos" lo que he puesto en "Origen de la fila" es:
Código:
SELECT Catalogo.cod_curso FROM Catalogo INNER JOIN Ofertas_Cursos ON Catalogo.nombre_curso=Ofertas_Cursos.nom_curso GROUP BY Catalogo.cod_curso;
Pero no me sale, alguien podría indicarme como es la consulta correcta? yo pensaba que era así pero no, tambien probé con un WHERE en lugar del GROUP pero no me salía tampoco.

¿Quien me echa una manita?
Cita:
Las tablas Ofertas_Cursos y Catalogo están relacionadas mediante el campo 'id_curso' que es clave en la tabla Catalogo.
  #2 (permalink)  
Antiguo 02/07/2008, 03:45
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Rellenar campos automáticamente. Ayuda.

Cita:
JOIN Ofertas_Cursos ON Catalogo.nombre_curso=Ofertas_Cursos.nom_curso
Cita:
Las tablas Ofertas_Cursos y Catalogo están relacionadas mediante el campo 'id_curso' que es clave en la tabla Catalogo.
Contradicción!
  #3 (permalink)  
Antiguo 02/07/2008, 04:09
 
Fecha de Ingreso: mayo-2008
Mensajes: 80
Antigüedad: 16 años
Puntos: 0
Respuesta: Rellenar campos automáticamente. Ayuda.

Y como sería entonces?? Porque lo que quiero es 'Catalogo.cod_curso' pero sólo el cod_curso donde 'Catalogo.nombre_curso' = 'Ofertas_Cursos.nom_curso'
  #4 (permalink)  
Antiguo 02/07/2008, 04:33
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Rellenar campos automáticamente. Ayuda.

pero si la clave es id_curso, el join lo tendrás que hacer por ese campo, y si los datos son correctos el nombre del curso debería coincidir, no?
  #5 (permalink)  
Antiguo 03/07/2008, 04:56
 
Fecha de Ingreso: mayo-2008
Mensajes: 80
Antigüedad: 16 años
Puntos: 0
Respuesta: Rellenar campos automáticamente. Ayuda.

No entiendo muy bien lo que me dices, esto es lo que he puesto ahora:

Cita:
SELECT Catalogo.cod_curso FROM Catalogo INNER JOIN Ofertas_Cursos ON Catalogo.id_curso=Ofertas_Cursos.id_curso WHERE Catalogo.nombre_curso=Ofertas_Cursos.nom_curso;
Y sigue sin salirme nada. Ya estan igualados por el id_curso como tu dices pero nada. ¿Alguna idea?

Gracias.
  #6 (permalink)  
Antiguo 03/07/2008, 05:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Rellenar campos automáticamente. Ayuda.

prueba a quitar el where y muestra los nombres de las dos tablas en la select, comprueba que los nombres de las dos tablas de verdad coinciden, porque tiene pinta de que no.

Salu2
  #7 (permalink)  
Antiguo 03/07/2008, 08:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 80
Antigüedad: 16 años
Puntos: 0
Respuesta: Rellenar campos automáticamente. Ayuda.

Vamos a ver porque parece que no me has entendido bien o yo me he explicado mal. El nombre del curso tiene que ser igual ya que una tabla lo coge de la otra.

La tabla Catalogo tiene los campos 'id_curso', 'cod_curso' y 'nombre_curso'. La tabla está rellena (id_curso es clave y cod_curso es un codigo interno que también necesito. Necesito el 'id_curso' ya que hay varios cursos con el mismo 'cod_curso').

Por otra parte tengo la tabla Ofertas_Cursos que es la importante, en la que tengo que introducir un monton de datos, entre ellos:

'nom_curso': nombre del curso que se va a impartir y que coge de la tabla Catalogo (cuadro desplegable)
'id_curso': campo que sólo me sirve para relacionar ambas tablas. Y
'cod_curso': código interno del curso que lo piya también de la tabla Catalogo.

Lo que quiero es que al escoger del desplegable el nombre de curso por ejemplo: "Prevención de Riesgos Laborales" me salga automáticamente en el campo 'cod_curso' "PRL" que es su código interno asociado y no tener que sacar otro desplegable con los códigos de los cursos.

Espero haberme explicado ahora bien. A ver si puedes echarme un cable.
Gracias.
  #8 (permalink)  
Antiguo 03/07/2008, 11:58
 
Fecha de Ingreso: mayo-2008
Mensajes: 80
Antigüedad: 16 años
Puntos: 0
Respuesta: Rellenar campos automáticamente. Ayuda.

Plantearé la pregunta de otra forma, porque creo que es el mismo caso y puede verse así más fácil:

Teniendo una tabla con todos los datos del personal, necesito crear una tabla nueva (por el motivo que sea) con los datos del personal pero no todos.

¿Cómo puedo hacer, para que en la nueva tabla, vaya introduciendo, por ejemplo el DNI de las 50 personas seleccionadas, y automáticamente me rellene el resto de los datos de la tabla nueva, nombre, apellidos, dirección y teléfono por ejemplo?.

No puede ser tan complicado no? A nadie se le ocurre nada?
Gracias.
  #9 (permalink)  
Antiguo 04/07/2008, 01:12
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Rellenar campos automáticamente. Ayuda.

El diseño de la BD deja bastante que desear, si tienes las tablas relacionadas, para que duplicas información????

A ver si tu me entiendes a mi, si como dices el nombre coincide (porque lo copia de catalogo) las tablas se relacionan a traves de id_curso y esta select
Código:
SELECT Catalogo.cod_curso FROM Catalogo INNER JOIN Ofertas_Cursos ON Catalogo.id_curso=Ofertas_Cursos.id_curso 
WHERE Catalogo.nombre_curso=Ofertas_Cursos.nom_curso;
no devuelve nada (como has dicho antes), entonces es que no tienes datos!!!!

Cita:
No puede ser tan complicado no? A nadie se le ocurre nada?
Es muy facil, pero no nos entendemos...

Salu2
  #10 (permalink)  
Antiguo 04/07/2008, 05:56
 
Fecha de Ingreso: mayo-2008
Mensajes: 80
Antigüedad: 16 años
Puntos: 0
Respuesta: Rellenar campos automáticamente. Ayuda.

Ya se que el diseño no está muy allá, pero aki no mando yo, y la empresa para la que estoy haciendo la BD quiere tener información duplicada. Quieren en una misma tabla todos los datos de un curso, aunque dupliquen la información (como el nombre o el código) ya existente en otra tabla.
Que quieres que te diga. Me pagan por hacerlo así y así lo hago.

Yo no digo que la consulta esté bien, de hecho está mal ya que no me sale lo que yo quiero.

¿Te importaría ponerme algún ejemplo de cómo sería la consulta correcta para que me devuelva el cod_curso correspondiente al nombre que yo pongo en el campo 'nombre'?
Gracias de antemano.
  #11 (permalink)  
Antiguo 04/07/2008, 07:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Rellenar campos automáticamente. Ayuda.

Cita:
Iniciado por Piloto78 Ver Mensaje
Ya se que el diseño no está muy allá, pero aki no mando yo, y la empresa para la que estoy haciendo la BD quiere tener información duplicada. Quieren en una misma tabla todos los datos de un curso, aunque dupliquen la información (como el nombre o el código) ya existente en otra tabla.
Que quieres que te diga. Me pagan por hacerlo así y así lo hago.
Te entiendo, hay veces que el cliente es muy cabezón.
Me pagas porque entiendo de este tema, tu eres el cliente y me pides que haga algo mal y no hay manera de hacerle entender que haciendolo bien funciona igual pero esta bien hecho!

Cita:
Yo no digo que la consulta esté bien, de hecho está mal ya que no me sale lo que yo quiero.

¿Te importaría ponerme algún ejemplo de cómo sería la consulta correcta para que me devuelva el cod_curso correspondiente al nombre que yo pongo en el campo 'nombre'?
Gracias de antemano.
piloto seguimos sin entendernos, creo que la consulta está bien!
De ahi que el error, pueda estar la información almacenada.
Comprueba los datos, y el lunes seguimos.
  #12 (permalink)  
Antiguo 08/07/2008, 01:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 80
Antigüedad: 16 años
Puntos: 0
Respuesta: Rellenar campos automáticamente. Ayuda.

Perdona que ayer no estuve por aquí. No veo yo donde puede estar mal los datos eh. A mi tambien me parecía que estaba bien la consulta pero como no salía, supuse que estaría mal. Me parece más raro aún, que el error esté en los datos pero bueno, repaso todo lo que he hecho y me dices si ves algun error (seguramente de novato total) ok? para probar he empezado desde el principio en BD nueva.

- Creo 2 tablas: Catalogo y Cursos
- Catalogo: id(autnumerico y clave), nombre_curso(texto) y cod_curso(texto)
Tengo la tabla rellena con los siguientes datos:
1 Curso1 cod1
2 Curso2 cod2
3 Curso3 cod3

Cursos: id_curso(autonumérico y clave) id(numero, entero largo) nombre(texto) y cod_curso(texto)

Ahora establezco la relación entre ambas tablas de Catalogo a Cursos una relación de "1 a Varios" llevando la clave de "Catalogo" al campo 'id' de "Cursos" y exigo intefridad referencial.

en cursos, en el campo 'id' escojo de los ids de la tabla Catalogo (me da las opciones 1, 2, ó 3 para escoger) y en el campo nombre, pongo:
Cita:
SELECT Catalogo.nombre_curso FROM Catalogo INNER JOIN cursos ON Catalogo.id=cursos.id;
Y nada, lo que me sale es un desplegable para escoger entre Curso 1, Curso 2, ó Curso 3. Pero no me pone el nombre que corresponde al id que he escogido antes.

No paro de darle vueltas y yo no veo que exista fallo en los datos, dime lo que veas please.
Estoy ya desesperado con esto. Gracias!!
  #13 (permalink)  
Antiguo 08/07/2008, 03:55
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Rellenar campos automáticamente. Ayuda.

Si hablamos de desplegable, estamos en programación... que lenguaje?
la select está bien, si los datos son correctos, el problema es de programación....
  #14 (permalink)  
Antiguo 08/07/2008, 05:06
 
Fecha de Ingreso: mayo-2008
Mensajes: 80
Antigüedad: 16 años
Puntos: 0
Respuesta: Rellenar campos automáticamente. Ayuda.

De programacion nada, yo lo unico que le digo en las propiedades del campo 'nombre_curso' y en 'id', le digo que me ponga un "cuadro de lista" de las tres opciones que me da. (Cuadro de texto, cuadro de lista o cuadro combinado)

La programacion la que use ACCESS por defecto porque yo no le he puesto nada.
  #15 (permalink)  
Antiguo 08/07/2008, 05:14
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Rellenar campos automáticamente. Ayuda.

ahhhhhhhhhhhhh ACCESS
estaba convencido que hablabamos de una BD de verdad

Abre un hilo nuevo con un titulo del tipo, como mostrar .... en ACCESS.
por el foro hay gente que domina Access, entre los que no me incluyo. Taribo está siempre resolviendo dudas de access.

Salu2
  #16 (permalink)  
Antiguo 09/07/2008, 02:08
 
Fecha de Ingreso: mayo-2008
Mensajes: 80
Antigüedad: 16 años
Puntos: 0
Respuesta: Rellenar campos automáticamente. Ayuda.

Vale muchas gracias por todo. Ya he abiero el hilo, a ver si saco esto, pq me he quedao atascao.

Última edición por Piloto78; 09/07/2008 a las 04:03
  #17 (permalink)  
Antiguo 09/07/2008, 03:59
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Rellenar campos automáticamente. Ayuda.

Acabo de intentar leer el hilo, y no cabo de enterarme bien. Te comento lo que he entendido:

Tienes una tabla Catalogo: id(autnumerico y clave), nombre_curso(texto) y cod_curso(texto)rellena con los siguientes datos:
1 Curso1 cod1
2 Curso2 cod2
3 Curso3 cod3

Y otra tabla asi:
Cursos: id_curso(autonumérico y clave) id(numero, entero largo) nombre(texto) y cod_curso(texto)

Y lo que quieres es, que al elegir un nombre, con un desplegable que te sale en este campo, con los nombres de todos los cursos, automaticamente se rellene el campo cod_curso correspondiente de la tabal catalogo. Es asi??

Si he acertado, y lo haces atraves de formularios, si se puede hacer. Si lo haces directamente en la tabla, ya que en el campo nombre has establecido un combo para poder elegir el nombre de la tabla catalogo, no vas a poder automatizar el proceso.

Un saludo

Por cierto, lo que decia Seyko es que, en el titulo del post, pusieras ACCESS, ya que asi todo el mundo sabe a que se refiere tu pregunta. No hay subforo especifico de access
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:05.