Buen dia Hector,
2 preguntas
�estas trabajando en base de datos de escritorio o con un servidor SQL? �me hablas de base de datos pero en el codigo estoy leyendo tabla.db...que quieres crear al vuelo una tabla o toda una base de datos?
Saludos
pp
El mi�, 28-10-2015 a las 02:30 +0100,
lazarus-es-request en lists.lazarus.freepascal.org escribi�:
Show quoted text 354 lines
Env�e los mensajes para la lista Lazarus-es a
lazarus-es en lists.lazarus.freepascal.org
Para subscribirse o anular su subscripci�n a trav�s de la WEB
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
O por correo electr�nico, enviando un mensaje con el texto "help" en
el asunto (subject) o en el cuerpo a:
lazarus-es-request en lists.lazarus.freepascal.org
Puede contactar con el responsable de la lista escribiendo a:
lazarus-es-owner en lists.lazarus.freepascal.org
Si responde a alg�n contenido de este mensaje, por favor, edite la
linea del asunto (subject) para que el texto sea mas especifico que:
"Re: Contents of Lazarus-es digest...". Adem�s, por favor, incluya en
la respuesta s�lo aquellas partes del mensaje a las que est�
respondiendo.
Asuntos del d�a:
1. Re: no se activa una tabla recien creada (H�ctor Fiandor)
2. Re: no se activa una tabla recien creada (Maximiliano Duarte)
----------------------------------------------------------------------
Message: 1
Date: Tue, 27 Oct 2015 21:21:50 -0400
From: H�ctor Fiandor <hfiandor en ceniai.inf.cu>
Subject: Re: [Lazarus-es] no se activa una tabla recien creada
To: "'Spanish version of Lazarus List'"
<lazarus-es en lists.lazarus.freepascal.org>
Message-ID:
Content-Type: text/plain; charset="utf-8"
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.freepascal.org/pipermail/lazarus-es/attachments/20151027/f4ce1628/attachment-0001.html>
------------------------------
Message: 2
Date: Tue, 27 Oct 2015 22:31:09 -0300
From: Maximiliano Duarte <maximiliano.duarte en gmail.com>
Subject: Re: [Lazarus-es] no se activa una tabla recien creada
To: Spanish version of Lazarus List
<lazarus-es en lists.lazarus.freepascal.org>
Message-ID: <56302575.1517370a.58a47.006a en mx.google.com>
Content-Type: text/plain; charset="utf-8"
No us� mucho. Pero prueba hacer un flush y cerrar la conexi�n y volver a abrir la tabla.
-----Mensaje original-----
De: "H�ctor Fiandor" <hfiandor en ceniai.inf.cu>
Enviado el: ?27/?10/?2015 22:16
Para: "'Spanish version of Lazarus List'" <lazarus-es en lists.lazarus.freepascal.org>
Asunto: Re: [Lazarus-es] no se activa una tabla recien creada
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
Enviado el: ?27/?10/?2015 16:00
Para: Spanish 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.freepascal.org/pipermail/lazarus-es/attachments/20151027/29dbec4f/attachment.html>
------------------------------
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Fin de Resumen de Lazarus-es, Vol 97, Env�o 10
**********************************************
MSc. Ing. Pedro Pablo Oviedo Vera
Direcci�n T�cnica y Desarrollo
Empresa de Proyectos e Ingenier�a del
Ministerio de la Agricultura.ENPA.
Boyeros y Conill, Piso 10 Edif MINAG
Telef. (07) 884 7649
