unit PrGridp;
{$mode objfpc}{$H+}
interface
uses
LCLIntf, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, ExtCtrls, DBGrids, DB, dbf, Sqlite3DS, FileUtil,
ZConnection, ZDataset, LResources;
type
{ TProvaDBgrid }
TProvaDBgrid = class(TForm)
Datasource1: TDatasource;
Datasource2: TDatasource;
Datasource3: TDatasource;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
ZConnection1: TZConnection;
ZTable1: TZTable;
ZTable1CODCAUSALE: TLongintField;
ZTable1CONTO: TStringField;
ZTable1DAREAVERE: TStringField;
ZTable1DESCRIZION: TStringField;
ZTable2: TZTable;
ZTable3: TZTable;
ZTable3AVERPARTIT: TFloatField;
ZTable3AVERPERIOD: TFloatField;
ZTable3AVERPROGRE: TFloatField;
ZTable3CHIAVE: TStringField;
ZTable3CHIAVECEE: TStringField;
ZTable3CONTO: TStringField;
ZTable3CONTOCEE: TStringField;
ZTable3DAREPARTIT: TFloatField;
ZTable3DAREPERIOD: TFloatField;
ZTable3DAREPROGRE: TFloatField;
ZTable3DESCRICEE: TStringField;
ZTable3DESCRIZIO: TStringField;
ZTable3GRUPPO: TStringField;
ZTable3IDBILANCIO: TLongintField;
ZTable3INDANALBIL: TStringField;
ZTable3PUNT1PRIMA: TLongintField;
ZTable3PUNT2PRIMA: TLongintField;
ZTable3SOTTOCONTO: TStringField;
procedure DBGrid1EditButtonClick(Sender: TObject);
procedure DBGrid1EditingDone(Sender: TObject);
procedure ZTable1CONTOSetText(Sender: TField; const aText: string);
private
{ private declarations }
public
{ public declarations }
var
campo: string;
end;
procedure memorizza;
var
ProvaDBgrid: TProvaDBgrid;
implementation
{$R *.lfm}
uses
strutils, ContP;
{ TProvaDBgrid }
procedure TProvaDBgrid.DBGrid1EditButtonClick(Sender: TObject);
begin
memorizza;
end;
procedure TProvaDBgrid.DBGrid1EditingDone(Sender: TObject);
begin
memorizza;
end;
procedure TProvaDBgrid.ZTable1CONTOSetText(Sender: TField; const aText: string);
begin
Sender.AsString := aText;
campo:=Sender.AsString;
Edit1.Text:= Sender.AsString;
ZTable3.Locate('Chiave', Edit1.Text,[loPartialKey]);
end;
procedure memorizza;
begin
try
with ProvaDBgrid do
begin
if not ZTable3.Locate('Chiave', Edit1.Text,[]) then
begin
ZTable3.Locate('Chiave', Edit1.Text,[loPartialKey]);
ContF.Showmodal;
end;
if MessageDLG('Memorizzo i dati?',mtInformation,[mbOk, mbNo],0)= mrOk then
begin
if not (ZTable1.State=dsEdit) or not (ZTable1.State=dsInsert) then
begin
ZTable1.Edit;
ZTable1Conto.Text:=ZTable3Chiave.Text;
ZTable1Descrizion.Text:=ZTable3Descrizio.Text;
ZTable1.Refresh;
end;
end
else
ZTable1.Cancel;
end;
except
on E: Exception do
MessageDLG(E.Message+'......errore',mtInformation,[mbOk],0);
end;
end;
end.