Ver Mensaje Individual
  #5  
Antiguo 27-05-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Bueno despues de algunas pruebas he logrado circumvenir al DataSet, lo que he hecho es ver la manera de conocer el número real de campos que hay en la tabla, la única manera que he econtrado y que funciona, es cargar la lista de campos en una StringList y abordarlos desde el número de campos cargados.


procedure TForm1.Button1Click(Sender: TObject);
var
I,J,nCampos:Integer;
Sl:TstringList;

begin
sl:=Table1.FieldDefList;
nCampos:=sl.Count -1;
for i := 0 to nCampos do
begin
ShowMessage(Table1.FieldDefList[i].Name);
//showMessage(DataSource1.DataSet.FieldDefs.Items[i].FieldClass.ClassName );
//ShowMessage(DataSource1.DataSet.FieldDefs.Items[i].Name);
if DataSource1.DataSet.FieldDefs.Items[i].Required then
begin
ShowMessage(DataSource1.DataSet.FieldDefs.Items[i].Name +'Requerido');
for j := 0 to ComponentCount - 1 do
begin
if Components[j].ClassNameIs('TDBEdit') then
begin
If DataSource1.DataSet.FieldDefs.Items[i].Name =(Components[j] as TDBEdit).DataField then
(Components[j] as TDBEdit).Color := clLime;
end;
end;
end;
end;

Un Saludo.
Responder Con Cita