Hola como estan! Les comento, esos campos los utilizo porque creo componentes en tiempo de ejecucion para hacer un mapa de las mesas y guardo el cada mesa su respectiva posicion y tamaños para poder cargarlos nuevamente en el mapa de mesas. El campo LEFT si existe en la tabla Mesas, tal vez el error este relacionado a lo que dice casimiro. Miren les dejo el codigo completo:
Código:
procedure TForm1.Action9Execute(Sender: TObject);
var
CompName:String;
comp : TComponent;
ctrl : TControl;
begin
QMesas.First;
while not QMesas.Eof do
begin
CompName := QMesasCODIGO.Value;
comp := Self.FindComponent(CompName);
if Assigned(comp) then
begin
SelectOnRunTime1.SelectControl := TControl(comp);
//SelectOnRunTime1.Selected := True;
ctrl := SelectOnRunTime1.SelectControl;
end;
with QMesas do
begin
Close;
SQL.Clear;
SQL.Add('UPDATE MESAS SET WIDTH = :WID, PERSONAS = :PER, HEIGHT = :HEI, TOP = :TO ');
SQL.Add('WHERE CODIGO = :COD');
ParamByName('WID').Value := ctrl.Width;
ParamByName('HEI').Value := ctrl.Height;
ParamByName('PER').Value := ctrl.Tag;
//ParamByName('LEF').Value := ctrl.Left;
ParamByName('TO').Value := ctrl.Top;
ParamByName('COD').Value := Form1.QMesasCODIGO.Value;
ExecSQL;
Open;
end;
QMesas.Next;
end;
end;
Por otra parte, si saco el campo LEFT de la sentencia SQL no sale ningun error, pero no realiza la actualizacion.
Ahora probare cambiando el campo LEFT por otro en la tabla.
Saludos y muchas gracias por su tiempo!