Ver Mensaje Individual
  #4  
Antiguo 17-07-2003
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Reputación: 22
sitrico Va por buen camino
Thumbs up

Gracias a ambos, la solución de SQL es mucho mejor que la PARADOX y no necesita componentes adicionales, de todas maneras publico mi procedimiento para que le sirva a alguien más

Procedure AddFieldSql(Table1:TTable;campo,Tipo:String);

var
nCont:Integer;
sLista:TStringList;
Query1 : TQuery;
s : String;

begin
sLista:=TStringList.Create();
Query1 := TQuery.Create(nil);

Query1.DatabaseName := Table1.DatabaseName;
table1.FieldDefs.Update;

for nCont:=0 to Table1.FieldDefs.Count -1 do
sLista.Add(Table1.FieldDefs[nCont].Name);
sLista.Sort;

If Not(sLista.Find(Campo,nCont)) then
begin
Table1.Close;
Query1.Close;
Query1.Sql.Clear;
s := 'Alter Table '+#39+Table1.TableName+#39+
' Add '+Campo+' '+Tipo;
// Ejemplo: 'Alter Table ''Albaranes.db'' Add Sueldo Integer'
Query1.Sql.Add(s);
Query1.ExecSQL;
end;

Query1.Free;
end;

Aunque me queda la duda de porque no sirve el otro método, al final no importa porque con este simple código se soluciona el problema. :-)

Gracias nuevamente.
__________________
Sitrico
Responder Con Cita