Tema: Ado <> Bde
Ver Mensaje Individual
  #11  
Antiguo 05-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Vamos a ver. Supongamos que tenemos estas tablas:

Código:
producto = (id, nombre)
factura = (id, cliente_id, fecha)
linea = (id, factura_id, producto_id, cantidad)
donde los id son llaves primarias.

Para mostrar en un DBGrid, los productos correspondientes a una factura determinada podríamos usar la siguiente consulta:

Código:
select linea.id, producto.nombre, linea.cantidad
from linea
left join producto on producto.id = linea.producto_id
where linea.factura_id = 2
Hasta aquí va todo bien. Conecto el ADOQuery con esta consulta a un DBGrid y puedo editar las cantidades.

Pero, si quiero mostrar los productos en orden alfabético, agrego un order by

Código:
select linea.id, producto.nombre, linea.cantidad
from linea
left join producto on producto.id = linea.producto_id
where linea.factura_id = 2
order by producto.nombre
Con este cambio, al intentar modificar una cantidad, obtengo un error que dice:

Cita:
Información de columna clave insuficiente para realizar la operación Update o Refresh.
La pregunta entonces es: ¿cómo hago con ADO para poder realizar las ediciones en estos casos?

// Saludos
Responder Con Cita