[Lazarus-es] no se activa una tabla recien creada

Héctor Fiandor hfiandor en ceniai.inf.cu
Mie Oct 28 02:21:50 CET 2015


Lazarus 1.0.4 con F.C. 2.6.0 para la aplicación y SQLite para las BD.

 

Gracias por su interés

 

hfiandor

 

De: Maximiliano Duarte [mailto:maximiliano.duarte en gmail.com] 
Enviado el: martes, 27 de octubre de 2015 07:32 p. m.
Para: Spanish version of Lazarus List
Asunto: Re: [Lazarus-es] no se activa una tabla recien creada

 

Que motor?

  _____  

De: Héctor Fiandor <mailto:hfiandor en ceniai.inf.cu> 
Enviado el: ‎27/‎10/‎2015 16:00
Para: Spanish <mailto:lazarus-es en lists.lazarus.freepascal.org>  version of Lazarus List
Asunto: [Lazarus-es] no se activa una tabla recien creada

 

Estimados listeros>

 

Tengo una aplicación donde a fin de año es necesario revisar una BD y obtener otra BD con algunos componentes eliminados.

 

La idea es copiar desde la tNegSerAct hacia la tNegSerAct1, las filas que tengan FechaTer=’’ (sin algo escrito).

 

Esto es lo que hago, pero después de crear la tNegSerAct1, se niega a abrirla, aunque la tabla existe y está vacía.

 

      begin   //lo normal tNegSerAct no vacia

        Log('tNegSerAct no está vacía.');

        fdm.tNegSerAct1.FileName:=camino_actual+'\tablas.db';

        if not fdm.tNegSerAct1.TableExists then

        begin  //lo normal

 

          Log('Tabla NegSerAct1 no existe.');

          Log('Crear tNSA1.');

          fdm.tNegSerAct1.FileName:=camino_actual+'\tablas.db';

          fdm.tNegSerAct1.SQL:='CREATE TABLE NegSerAct1 (codNeg VARCHAR(10), codSer VARCHAR(10), codAct VARCHAR(10), codNegSerAct VARCHAR(10) Primary Key, NomNeg 

VARCHAR(80), NomSer VARCHAR(80), NomAct VARCHAR(80), ParamCalc VARCHAR(80), Cantidad FLOAT(15), PrecioCalcCUP FLOAT(15), PrecioCalcCUC FLOAT(15), TotalCUP 

FLOAT(15), TotalCUC FLOAT(15), FechaIni VARCHAR(10), FechaTer VARCHAR(10), nomAreaEjecutiva VARCHAR(30) )';

          fdm.tNegSerAct1.ExecSQL;

          fdm.tNegSerAct1.SaveOnClose:=true;

          fdm.tNegSerAct1.Close;

          Log('Terminé de crear tNegSerAct1.');

          //---------------------

          3:

          if fdm.tNegSerAct1.IsEmpty then

          begin

            Log('Tabla NegSerAct1 vacía.');

            Log('Copiar desde tNSA hacia tNSA1.');

            //copiar desde tNSA hacia tNSA1 los que FechaTer=''

            try

              if fdm.tNegSerAct.Active = false then fdm.tNegSerAct.Active := true

              else begin end;

              Log('Activé tNegSerAct');

            except

              ShowMessagePos('No pudo activar tNSA.',10,10);

            end;

            //--------------------

ShowMessagePos('llegue2',10,10);

            try

              if fdm.tNegSerAct1.Active = true then

              begin

                fdm.tNegSerAct1.Active := false;

                fdm.tNegSerAct1.FileName:=camino_actual+'\Clasificadores.db';

                if fdm.tNegSerAct1.Active = false then fdm.tNegSerAct1.Active := true;

              end

              else

              begin

                fdm.tNegSerAct1.FileName:=camino_actual+'\Clasificadores.db';

                if fdm.tNegSerAct1.Active = false then fdm.tNegSerAct1.Active := true;

              end;

              Log('Activé tNegSerAct1');

            except

              ShowMessagePos('No se activó tNSA1',10,10);

              application.Terminate;

            end;

            //------------------

            try

              for i:=1 to fdm.tNegSerAct.RecordCount do

              begin

                fdm.tNegSerAct.RecNo:=i;

                if fdm.tNegSerAct.FieldByName('FechaTer').AsString = '' then

                begin

                  fdm.tNegSerAct1.Insert;    //los que no tienen FechaTer

                  fdm.tNegSerAct1.FieldByName('codNeg').AsString:=        fdm.tNegSerAct.FieldByName('codNeg').AsString;

                  fdm.tNegSerAct1.FieldByName('codSer').AsString:=        fdm.tNegSerAct.FieldByName('codSer').AsString;

 

he probado con lo poco que sé y, como dice el dicho, “no doy pie con bola”.

 

Si me pueden ayudar, mucho lo agradeceré.

 

Saludos,

Ing. Héctor Fiandor

hfiandor en ceniai.inf.cu

 

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20151027/f4ce1628/attachment-0002.html>


More information about the Lazarus-es mailing list