Hola a todos,
Se me ha planteado un problema al modificar un programa
que trabaja con ACCESS para que funcione con SQLServer.
Para simplificar pongo un ejemplo:
Tenemos 2 tablas
Tabla Articulos
Campo Codigo
Campo Nombre
Tabla Stocks
Campo Codigo (de Articulo)
Campo Cantidad
Montamos la consulta siguiente:
SELECT stocks.codigo, articulos.nombre, stocks.cantidad
FROM stocks LEFT JOIN articulos
ON stocks.codigo = articulos.codigo
Esto lo utilizamos en un grid (en Visual Basic) de 3 columnas
para que el operador teclee el codigo en la primera columna,
se visualiza el nombre en la segunda, y teclea una cantidad
en la tercera columna que se grabará en la tabla Stocks.
Al editar la columna CANTIDAD se produce el error:
Información de columna clave insuficiente para realizar
la operación update o refresh
Hay que indicar que si editamos la consulta desde ACCESS
va perfectamente, pero desde SQL Server no.
Supongo que hay que cambiar el método para trabajar con
SQL Server, pero ¿cual es la manera para conseguir el
mismo resultado?
¿Crear Vistas? ¿Tablas temporales?....
Gracias a todos de antemano.
--
Fernando España
Gerente Desarrollo
ATISA
www.atisa.com.gt
"Vicente Alonso" <che...@randomco.net> wrote in message
news:3EA7C3F2...@randomco.net...
Si pongo claves unicas funciona, pero la consulta, al insertar un nuevo
registro, que solo lo quiero en la tabla stocks, tambien añade uno en la
tabla articulos, y no quiero dos ocurrencias del mismo articulo en la
tabla articulos
Todo esto trato de hacerlo mediate el TrueDBGrid 6.0
--
Fernando España
Gerente Desarrollo
ATISA
www.atisa.com.gt
"Vicente Alonso" <che...@randomco.net> wrote in message
news:3EA7ED9...@randomco.net...
Gracias Fernando.
He definido una función que se llama DameArticulo con la siguiente sintaxis:
CREATE FUNCTION DameArticulo (@Articulo varchar(16))
RETURNS nvarchar(50)
AS
BEGIN
RETURN (SELECT Descripcion FROM Articulos WHERE Codigo = @Articulo)
END
Añado un campo llamado descripción a la tabla stocks...
¿Cómo, en diseño de la tabla, le digo que ese campo reciba los datos de
esa función?
----
Saludos
Vicente Alonso
Cuenta Messenger: che...@randomco.net
alter table ... add.. column ... y toma en cuenta esto:
.dbo.damearticulo(stock.articulo) as nombre usa tabla.nombre del campo para
que funcione perfecto, saludos.
--
Fernando España
Gerente Desarrollo
ATISA
www.atisa.com.gt
"Vicente Alonso" <che...@randomco.net> wrote in message
news:3EA80AC...@randomco.net...
He creado mediante una secuencia de comandos el campo Descripcion en la
tabla Stocks. Ya puedo INSERTAR, ELIMINAR y EDITAR datos en la tabla de
stocks sin modificar nada an la de artículos, paro sigo sin poder
mostrar en el grid la descripcion del articulo cuando el usuario teclea
el codigo.
El Grid está ligado a un ControlData cuyo RecordSource es la siguiente
consulta:
SELECT Articulo, Descripcion, Cantidad FROM Stocks
Pretendo que cuando el usuario, en la rejilla teclee un codigo de
articulo y pulse Intro, mostrarle su descripcion en la Columna siguiente
de la Rejilla.
--
Fernando España
Gerente Desarrollo
ATISA
www.atisa.com.gt
"Vicente Alonso" <che...@randomco.net> wrote in message
news:3EA82750...@randomco.net...
Para lo que quieras te dejo mis datos.
--
Saludos cordiales de:
Vicente Alonso Rentería
Dpto. Desarrollo
Random Computers
Canalejas, 11
Santander (Cantabria)
España
Tlf: 942 311514