Q&A

  • 에러처리 방법좀 알려주세요
QUERY한 자료의 합을 레코드의 이동 없이 구하려고합니다.

그런데 bm := Table1.GetBookmark; 이부분이 에러가 납니다.

고수님 부탁드립니다. 한번 봐주셨으면 합니다.





unit Unit1;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Db, DBTables, StdCtrls, Grids, DBGrids;



type

TForm1 = class(TForm)

Edit1: TEdit;

Table1: TTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;



implementation





{$R *.DFM}

var ar : real;

bm : TBookmark;



begin

ar := 0;

bm := Table1.GetBookmark;

Table1.DisableControls;

Table1.First;

While not Table1.EOF do

begin

ar := ar+Table1.FieldByName('AREA').asFloat;

Table1.Next;

end;

Edit1.Text := FloatToStr(ar);

Table1.EnableControls;

Table1.GotoBookmark(bm);

Table1.FreeBookmark(bm);

end.

1  COMMENTS
  • Profile
    김아성 2001.04.27 14:26
    고맙습니다. 버튼을 이용한 procedure 를 사용하니까 되네요

    ^^ 감사감사~~

    아 그런데 procedure나 function를 사용하지 않코는 실행이 되지 않나요?



    그리고 이 아래부분들이 잘이해가 가지 않습니다.

    설명해 주시면 감사하겠습니다.(각각 주석을 달아주시면 더욱 고맙겠습니다.)

    특히, 북마크라는게 이해가 잘 가지 않아서요.

    어떤것을(필드나...) 북마크한다는 것인지를....??????



    bm : TBookmark;



    bm := Table1.GetBookmark;

    Table1.DisableControls;

    Table1.EnableControls;

    Table1.GotoBookmark(bm);

    Table1.FreeBookmark(bm);









    최혜룡 wrote:

    > 잘되는데...혹, procedure나 funtion을 만들지 않고???

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > ar : real;

    > bm : TBookmark;

    > begin

    > ar := 0;

    > bm := Table1.GetBookmark;

    > Table1.DisableControls;

    > Table1.First;

    > While not Table1.EOF do

    > begin

    > ar := ar+Table1.FieldByName('Size').asFloat;

    > Table1.Next;

    > end;

    > Edit1.Text := FloatToStr(ar);

    > Table1.EnableControls;

    > Table1.GotoBookmark(bm);

    > Table1.FreeBookmark(bm);

    > end;

    >

    >

    >

    >

    > 김아성 wrote:

    > > QUERY한 자료의 합을 레코드의 이동 없이 구하려고합니다.

    > > 그런데 bm := Table1.GetBookmark; 이부분이 에러가 납니다.

    > > 고수님 부탁드립니다. 한번 봐주셨으면 합니다.

    > >

    > >

    > > unit Unit1;

    > >

    > > interface

    > >

    > > uses

    > > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    > > Db, DBTables, StdCtrls, Grids, DBGrids;

    > >

    > > type

    > > TForm1 = class(TForm)

    > > Edit1: TEdit;

    > > Table1: TTable;

    > > DataSource1: TDataSource;

    > > DBGrid1: TDBGrid;

    > > private

    > > { Private declarations }

    > > public

    > > { Public declarations }

    > > end;

    > >

    > > var

    > > Form1: TForm1;

    > >

    > > implementation

    > >

    > >

    > > {$R *.DFM}

    > > var ar : real;

    > > bm : TBookmark;

    > >

    > > begin

    > > ar := 0;

    > > bm := Table1.GetBookmark;

    > > Table1.DisableControls;

    > > Table1.First;

    > > While not Table1.EOF do

    > > begin

    > > ar := ar+Table1.FieldByName('AREA').asFloat;

    > > Table1.Next;

    > > end;

    > > Edit1.Text := FloatToStr(ar);

    > > Table1.EnableControls;

    > > Table1.GotoBookmark(bm);

    > > Table1.FreeBookmark(bm);

    > > end.