Hemos de suponer que en algún momento el dataset de DataSource1 cambia ( o lo cambias ), sino, no podrías utilizar los mismos dbtext para acceder a campos de distintas tablas.
Hemos de suponer, que además todas las tablas tienen 6 campos.
Dicho esto, creo que te falta únicamente asignar el nombre del campo en la creación de los dbtext ( solo la primera vez), y cuando cambia el dataset, cambiar los campos.
Código Delphi
[-]
for i:=1 to 6 do
begin
if campo[i] = nil then Campo[i]:=TDBText.Create(self); with Campo[i] do
begin
DataSource:=DataSource1;
Field:=Datasource1.Dataset.Field[i]; Width := 193; Height := 21; Left :=32; Top := i* ConstHeight; Parent := PanelDatos; Visible := True; end;
end;
Prueba y ya nos contarás.
Saludos