[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