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

Informacion de columna clave insuficiente .

Estas en el tema de Informacion de columna clave insuficiente . en el foro de Visual Basic clásico en Foros del Web. Hola, tengo un problema, a ver si alguien me da alguna solución. Utilizo ADO en visual basic 6 sp 5 Cree un command (stock_add) con ...
  #1 (permalink)  
Antiguo 15/04/2005, 06:44
 
Fecha de Ingreso: junio-2003
Mensajes: 37
Antigüedad: 20 años, 11 meses
Puntos: 0
Informacion de columna clave insuficiente .

Hola, tengo un problema, a ver si alguien me da alguna solución. Utilizo ADO en visual basic 6 sp 5

Cree un command (stock_add) con el dataenvironment (que lo llame Datos) asi:

SELECT stock_add.ST_Cant as Cantidad,
stock_add.ST_COD1 as Producto,
Obras.BD_EMP as Obra,
stock_add.bd_num as NumObra
FROM Obras RIGHT JOIN stock_add ON Obras.BD_NUM = stock_add.bd_num;


Luego en el codigo pongo:

'abro el recordset
datos.stock_add

Set DataGrid1.DataSource = datos.rsstock_add


Lo que deseo es abrir esta consulta de stock (stock_add) que muestre todos los registros de stock, y que en cada fila muestre el nombre de la obra de construccion (Obras.BD_EMP) que es destinataria del producto mostrado.

Y tampoco logro que el datagrid me muestre los nuevos datos modificados, no me los refresca. Utilizo la sentencia datagrid1.refresh pero no pasa nada.

Claves principales de las tablas:
Stock_add -->> numreg
Obras -->> bd_num

El problema es que cuando modifico un registro en un datagrid, me da el siguiente eror:

"Informacion de columna clave insuficiente para realizar la operacion Update o Refresh"

Se que el problema lo tengo en la consulta, pero que tengo que corregir ?

Desde ya muchas gracias por la ayuda o sugerencias que me puedan brindar.

Sergio.
__________________
Sergio Garcia
Bahia Blanca
Argentina
  #2 (permalink)  
Antiguo 15/04/2005, 08:25
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
robsergar: no vas a ganar mas respuestas repitiendo post..

http://www.forosdelweb.com/f69/mensaje-duplicado-no-leer-289089/
http://www.forosdelweb.com/f69/mensaje-duplicado-no-leer-289092/
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 15/04/2005, 08:39
 
Fecha de Ingreso: junio-2003
Mensajes: 37
Antigüedad: 20 años, 11 meses
Puntos: 0
Disculpen las preguntas repetidas, es que el internet explorer me salia por error en varias oportunidades...

Con tu respuesta no he podido solucionar el problema del ...

"Informacion de columna clave insuficiente para realizar la operacion Update o Refresh"


Tienes alguna idea de que tengo que cambiar en mi consulta de sql para solucionar este problema con el datagrid ?

Gracias.
__________________
Sergio Garcia
Bahia Blanca
Argentina
  #4 (permalink)  
Antiguo 15/04/2005, 09:29
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Le problema esta en tu sentencia SQL, la que colocaste en el Command, colocala para revisarla.
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #5 (permalink)  
Antiguo 15/04/2005, 09:41
 
Fecha de Ingreso: junio-2003
Mensajes: 37
Antigüedad: 20 años, 11 meses
Puntos: 0
SELECT stock_add.ST_Cant AS Cantidad,
stock_add.ST_COD2 AS Producto,
stock_add.ST_COD2 AS Codigo,
stock_add.st_codprov AS CodProv,
stock_add.ST_DESCRIP AS Detalle,
stock_add.ST_stk_min AS StkMin,
stock_add.ST_PRECIO AS Precio,
Obras.BD_EMP AS Obra,
stock_add.bd_num AS NumeroObra
FROM Obras RIGHT JOIN stock_add ON Obras.BD_NUM = stock_add.bd_num;
__________________
Sergio Garcia
Bahia Blanca
Argentina
  #6 (permalink)  
Antiguo 15/04/2005, 11:42
 
Fecha de Ingreso: junio-2003
Mensajes: 37
Antigüedad: 20 años, 11 meses
Puntos: 0
Gracias a mi amigo Geovanny he solucionado mi problema.

Primero creo un command en el dataenvironment con una consulta que no esta enlazada a otra base de datos, que me muestre solamente la tabla que quiero actualizar.

Con este nuevo command, actualizo la tabla que me interesa, y luego de esto le hago un requery a la consulta que esta enlazada a la otra tabla, esta toma los cambios y me actualiza automáticament el datagrid, por lo que no me da ningun error.

El error radica que la tabla de stock_add en este caso está enlazada a otra tabla, y cuando quiero actualizar esta consulta, queda pendiente alguna modificacion que no actualizó la tabla, por lo que genera este error.

Muchas gracias.
__________________
Sergio Garcia
Bahia Blanca
Argentina
  #7 (permalink)  
Antiguo 15/04/2005, 11:43
 
Fecha de Ingreso: junio-2003
Mensajes: 37
Antigüedad: 20 años, 11 meses
Puntos: 0
cree un nuevo command con otra consulta filtrada por el numero de registro, busco el registro en la nueva consulta, y lo modificoo lo borro, y luego de esto hago un requery y listo !!

Gracias a mi amigo Geovanny he solucionado mi problema.

Primero creo un command en el dataenvironment con una consulta que no esta enlazada a otra base de datos, que me muestre solamente la tabla que quiero actualizar.

Con este nuevo command, actualizo la tabla que me interesa, y luego de esto le hago un requery a la consulta que esta enlazada a la otra tabla, esta toma los cambios y me actualiza automáticament el datagrid, por lo que no me da ningun error.

El error radica que la tabla de stock_add en este caso está enlazada a otra tabla, y cuando quiero actualizar esta consulta, queda pendiente alguna modificacion que no actualizó la tabla, por lo que genera este error.

Muchas gracias.
__________________
Sergio Garcia
Bahia Blanca
Argentina
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 17:03.