That's it:
dfm file:
Code: Select all
object TestF: TTestF
Left = 245
Top = 148
Caption = 'Gruppen'
ClientHeight = 465
ClientWidth = 810
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = True
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object DBGGruppePreisliste: TDBGrid
Left = 0
Top = 0
Width = 810
Height = 465
Align = alClient
DataSource = DSGruppePreisliste
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'Tahoma'
TitleFont.Style = []
Columns =
end
object QGruppePreisliste: TMSQuery
Connection = MSConnection1
SQL.Strings = (
'select 0.0 as db, 0.0 as aufschlag'
'from sysdatabases')
CachedUpdates = True
Left = 488
Top = 96
object QGruppePreislisteaufschlag: TFloatField
FieldName = 'aufschlag'
OnChange = QGruppePreislisteaufschlagChange
DisplayFormat = '0.00 %'
end
object QGruppePreislistedb: TFloatField
FieldName = 'db'
DisplayFormat = '0.00 %'
end
end
object DSGruppePreisliste: TDataSource
DataSet = QGruppePreisliste
Left = 456
Top = 96
end
object MSConnection1: TMSConnection
Database = 'master'
Authentication = auServer
Username = 'sa'
Password = ''
Server = '.'
Connected = True
Left = 408
Top = 168
end
end
pas file
Code: Select all
unit TestU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, ImgList, Menus, DBCtrls, ComCtrls, ToolWin,
ExtCtrls, Grids, DBGrids, StdCtrls, Mask, ActnList, Buttons,
DBAccess, MSAccess, MemDS, ActnMan, ActnColorMaps, ActnCtrls,
ActnMenus;
type
TTestF = class(TForm)
QGruppePreisliste: TMSQuery;
DSGruppePreisliste: TDataSource;
QGruppePreislisteaufschlag: TFloatField;
QGruppePreislistedb: TFloatField;
DBGGruppePreisliste: TDBGrid;
MSConnection1: TMSConnection;
procedure FormCreate(Sender: TObject);
procedure QGruppePreislisteaufschlagChange(Sender: TField);
private
{ Private declarations }
public
{ Public declarations }
end;
var
TestF: TTestF;
implementation
{$R *.DFM}
procedure TTestF.FormCreate(Sender: TObject);
begin
inherited;
QGruppePreisliste.Open;
end;
procedure TTestF.QGruppePreislisteaufschlagChange(Sender: TField);
begin
inherited;
QGruppePreislisteDB.AsFloat := 1;
end;
end.
simply compile it, enter a new number in the grid and press ENTER or TAB. The executable crashes.