PDA

Ver la Versión Completa : Error con Firebird y DBGrid: Ambiguous field name between.....


Cannabis
16-09-2007, 19:51:30
Hola, buen día (o tarde o noche)

Trabajo con D7, Firebird 1.5 e IBx

Utilizo el siguiente Query
SELECT Entradas.*,Insumos.Insumo_Nom
FROM Entradas
LEFT JOIN Insumos ON Entradas.Insumo_ID = Insumos.Insumo_ID
ORDER BY Entradas.FechaEntradaTodo bien, hasta que intento desplegarlo en un dbgrid:
Dynamic SQL Error
SQL error code = -204
Ambiuous field name between table ENTRADAS and table INSUMOS
COSTOAmbas tablas tienen un campo llamado COSTO.

Revisé el resultado del query y solamente trae el campo COSTO de la tabla de ENTRADAS. Aún así el DBGrid hace referencia al campo COSTO de la tabla INSUMOS.


Gracias por su ayuda.

Salud.......dos.

Cannabis
16-09-2007, 20:27:46
Olvidé especificar el evento ColumnMoved del DBGrid.

Con esto, ordeno los registros de acuerdo al orden de las columnas del DBGrid.

Inmediatamente después de abrir por primera vez el query:
dbg_EntradasColumnMoved(frm_BuscarEntradas,0,0);OnColumnMoved
s_Cuerda:= '';
for i_Contador:= 1 to dbg_Entradas.Columns.Count do
begin
s_Cuerda:= s_Cuerda + dbg_Entradas.Columns.Items[i_Contador - 1].FieldName;
if i_Contador < dbg_Entradas.Columns.Count then
s_Cuerda:= s_Cuerda + ',';
end;

qry_Entradas.Close;
qry_Entradas.SQL.Delete(qry_Entradas.SQL.Count - 1);
qry_Entradas.SQL.Add('ORDER BY ' + s_Cuerda);
qry_Entradas.Open;Gracias de nuevo por su ayuda.

Cannabis
18-09-2007, 03:20:12
Para quien le interese, la solución es cambiar a Firebird 2

Salud....os