[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]

    unit Unit1;
    { This program allows fields to be added on the fly.
    }

    interface

    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      DB, DBTables, Grids, DBGrids, StdCtrls;

    type
      TForm1 = class(TForm)
        Table1: TTable;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        Button1: TButton;
        Edit1: TEdit;
        Label1: TLabel;
        Label2: TLabel;
        Memo1: TMemo;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
         Memo1.Clear;
         if StrComp(PChar(Edit1.Text), PChar(''))= 0 then
         begin
              Memo1.Lines.Add('Invalid field name');
              Exit;
         end
         else begin
                   with table1 do
                   begin
                        Close;    // table must be closed !!!
                        with FieldDefs do
                        begin
                             try
                                Add(Edit1.Text, ftInteger, 0, False);
                             Except On EDatabaseError do
                                    begin
                                         Memo1.Lines.Add('Error adding field ' +
    Edit1.Text + ' to table.');
                                         Memo1.Lines.Add('Maybe ''' + Edit1.Text
    + ''' already exists as a field name');
                                    end;
                             end;
                             CreateTable;
                             Open;
                        end;
                   end;
         end;
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
         Table1.Open;
    end;

    end.
    Ronan van Riet

    Graaf Florishof 4
    3632 BS Loenen a/d Vecht
    The Netherlands
    0294-233563

    vanriet@worldaccess.nl (private)
    4921781@ibk.fnt.hvu.nl (Utrecht Polytechnic, the Netherlands)

[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]