Ver Mensaje Individual
  #3  
Antiguo 20-05-2004
Michael Michael is offline
Miembro
 
Registrado: may 2003
Posts: 13
Reputación: 0
Michael Va por buen camino
Es sencillo:

Tengo una Tabla filtrada por el campo A, que esta bierta y visualiza datos de una linea especifica. Esto va muy bien, selecciono la linea que deseo y se filtra esta linea en la tabla.
Luego quiero adicionar un nuevo item, para poder conseguir el Ultimo código, y aumentar en uno ese codigo, utilizo un query, Le paso un parametro y luego lo abro, hago la busqueda y todo va OK. Hasta que de un memoento a otro el bendito mensaje; a veces incluso despues de haber terminado la operación de adicionar el nuevo item.

La cosa va asi:

Procedure TPrincipal.formCreate(Sender: TObject);
begin
...
Table2.Open;
...
end;

procedure TPrincipal.AdicionarClick(Sender: TObject);
var
num : string;
begin
if Length(ComboBox2.Text)<>0 then
begin
Edicion.Titulo.Caption:='Adicionar';
QrCodigo.ParamByName('Linea').AsString:=Table2RW_01.AsString;
QrCodigo.Open;
if QrCodigoCodigo.AsString<>'' then
num:=Table2RW_01.AsString+completarI(IntToStr(StrToInt(Copy(QrCodigoCodigo.AsString,4,6))+1),6,'0')
else num:=Table2RW_01.AsString+'000001';
QrCodigo.Close;
Edicion.Table5.Open;
Edicion.Table1.Open;
Edicion.Table1.Insert;
Edicion.Table1RW_01.AsString:=Table2RW_01.AsString;
Edicion.Table1RW_02.AsString:=num;
Activa(Edicion,1);
Edicion.ShowModal;
Edicion.Table1.Close;
Edicion.Table5.Close;
end
else
Error('Seleccione una Línea');

end;

Donde el SQL del QrCodigo =
SELECT MAX(RW_02) AS Codigo FROM PRD05001
WHERE (RW_01=:Linea)
and (substring (RW_02 from 1 for 3)=:Linea)

Me adiciona el producto y todo(abro una pantalla para editar los productos ), pero cuando quiero hacer alguna cosa en la pantalla principal simplemente me aparece el "bendito error". Pero si hago un close a la Table2,antes del abrir el Query ( almacenando logicamente el codigo en una variable para pasarsela como parametro al Query ), y Abro Table2 Despues de Cerrar el query, no hay ningun problema, pero no se ve muy bien que la pantalla se pongo en blanco por un momento.
Espero que sea suficiente y perdon por la extension
Responder Con Cita