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.
^^ 감사감사~~
아 그런데 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.