Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problema con guardar con un query de tablas combinadas

Estas en el tema de Problema con guardar con un query de tablas combinadas en el foro de Visual Basic clásico en Foros del Web. Tengo problemas con el metodo Update de un adodc cuando he hecho un query seleccionando datos de tablas combinadas. El error que me da es ...
  #1 (permalink)  
Antiguo 31/03/2005, 20:01
 
Fecha de Ingreso: junio-2004
Mensajes: 392
Antigüedad: 19 años, 10 meses
Puntos: 0
Problema con guardar con un query de tablas combinadas

Tengo problemas con el metodo Update de un adodc cuando he hecho un query seleccionando datos de tablas combinadas.

El error que me da es el siguiente: "Informacion de columna clave insuficiente para realizar la operacion Update o Refresh"

He intentado muchas cosas... tenia algunas columnas con el mismo nombre en ambas tablas y ya les puse nombres unicos, asi que no hay columnas con el mismo nombre, tambien les puse campos claves, probe y luego se los quite y probe y sigo en lo mismo.

Alguien me podria dar una mano?
  #2 (permalink)  
Antiguo 01/04/2005, 15:50
 
Fecha de Ingreso: abril-2005
Mensajes: 2
Antigüedad: 19 años, 1 mes
Puntos: 0
actualizar datos desd una consulta

hola! yo tengo exactamente el mismo problema!! estoy tratando de modificar un campo que tengo en un consulta con datos de varias tablas y me da el mismo error.
Me parece que voy a mandar el comando SQL directamente al recordset para abrirlo desde VB.
Intente cambiar la ubicacion del cursor y ponerle y sacarle la calve principal pero no quiere saber nada...

Saludos
Martin
  #3 (permalink)  
Antiguo 01/04/2005, 16:51
 
Fecha de Ingreso: abril-2005
Mensajes: 2
Antigüedad: 19 años, 1 mes
Puntos: 0
Lo pude solucionar. El problema esta en como esta escrito el comando SQL en la consulta. Fijate que los campos esten todos llamados desde la tabla correspondiente.

Es decir:
Si tenes las tabla Alumnos y Cursos con claves principales en IDAlumnos e IDCursos.
En la tabla Alumnos guardas tenes un campo que se llama IDCursos(aqui es donde se establece la relacion) y en la tabla cursos tenes un campo que se llama Nombre.
En la consulta, llamemosla ConSulTa1, queres que te muestre para cada alumno el nombre del su curso.

Es decir que tendrias algo como

SELECT Alumnos.IDAlumno, Cursos.IDCurso, Cursos.Nombre
FROM (Alumnos INNER JOIN Cursos ON Alumnos.IDAlumno = Cursos.IDCurso)


Esto no sirve si queres modificar el curso de cada alumno.
Para poder hacer el cambio, la consulta tendria que ser

SELECT Alumnos.IDAlumno, Alumnos.IDCurso, Cursos.Nombre
FROM (Alumnos INNER JOIN Cursos ON Alumnos.IDAlumno = Cursos.IDCurso)


De este modo para modificar el curso desde ConSulTa1 tendrias que modificar el campo llamado IDCurso.

En mi caso yo hago todo esto desde un recordset. Una vez que modifico el campo IDCurso tengo que hacer un Recordset.Requery para que el campo nombre se actualize.

Espero que te sirva!

Saludos!

Martin Tassara
  #4 (permalink)  
Antiguo 01/04/2005, 18:50
 
Fecha de Ingreso: junio-2004
Mensajes: 392
Antigüedad: 19 años, 10 meses
Puntos: 0
Gracias por tu comentario, por lo menos ahora tengo esperanza. Lo voy a intentar mas tarde, porque ahora no puedo y te dejo saber como me fue
  #5 (permalink)  
Antiguo 04/04/2005, 20:37
 
Fecha de Ingreso: junio-2004
Mensajes: 392
Antigüedad: 19 años, 10 meses
Puntos: 0
Lo he intentado de mil maneras diferentes, crees que podrias enviarme un los archivos de algun ejemplo, quiza puedas empaquetarlos todos en un .zip o .rar y enviarlo, te estare agradecido, porque sinceramente a mi no me sale nada.
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 00:31.