Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 31-mar-2005, 19:01   #1 (permalink)
Iodem Asakura ha deshabilitado el karma
 
Fecha de Ingreso: junio-2004
Mensajes: 389
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?
Iodem Asakura está desconectado   Responder Citando
Antiguo 01-abr-2005, 14:50   #2 (permalink)
tassaramar está en el buen camino
 
Fecha de Ingreso: abril-2005
Mensajes: 2
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
tassaramar está desconectado   Responder Citando
Antiguo 01-abr-2005, 15:51   #3 (permalink)
tassaramar está en el buen camino
 
Fecha de Ingreso: abril-2005
Mensajes: 2
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
tassaramar está desconectado   Responder Citando
Antiguo 01-abr-2005, 17:50   #4 (permalink)
Iodem Asakura ha deshabilitado el karma
 
Fecha de Ingreso: junio-2004
Mensajes: 389
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
Iodem Asakura está desconectado   Responder Citando
Antiguo 04-abr-2005, 20:37   #5 (permalink)
Iodem Asakura ha deshabilitado el karma
 
Fecha de Ingreso: junio-2004
Mensajes: 389
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.
Iodem Asakura está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 13:47.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93