📄 fittinglist.pas
字号:
unit FittingList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, ExtCtrls, te_controls, ksthemebuttons, StdCtrls,
ComCtrls;
type
TFM_Brow = class(TForm)
book: TNotebook;
Panel3: TPanel;
DBGridEh1: TDBGridEh;
Panel2: TPanel;
Button3: TTeThemeButton;
TeThemeButton1: TTeThemeButton;
TeThemeButton2: TTeThemeButton;
TeThemeButton3: TTeThemeButton;
TeThemeButton4: TTeThemeButton;
TeThemeButton6: TTeThemeButton;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
TeThemeButton5: TTeThemeButton;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
DBGridEh2: TDBGridEh;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
DateTimePicker1: TDateTimePicker;
Label5: TLabel;
DateTimePicker2: TDateTimePicker;
TeThemeButton7: TTeThemeButton;
TeThemeButton8: TTeThemeButton;
TeThemeButton9: TTeThemeButton;
TeThemeButton10: TTeThemeButton;
TeThemeButton11: TTeThemeButton;
TeThemeButton12: TTeThemeButton;
TeThemeButton13: TTeThemeButton;
procedure TeThemeButton4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure TeThemeButton2Click(Sender: TObject);
procedure TeThemeButton3Click(Sender: TObject);
procedure TeThemeButton1Click(Sender: TObject);
procedure TeThemeButton5Click(Sender: TObject);
procedure TeThemeButton6Click(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TeThemeButton13Click(Sender: TObject);
procedure TeThemeButton11Click(Sender: TObject);
procedure TeThemeButton10Click(Sender: TObject);
procedure TeThemeButton12Click(Sender: TObject);
procedure TeThemeButton8Click(Sender: TObject);
procedure TeThemeButton7Click(Sender: TObject);
procedure DBGridEh2DblClick(Sender: TObject);
private
procedure BookChange;
{ Private declarations }
public
{ Public declarations }
end;
var
FM_Brow: TFM_Brow;
implementation
uses main, data, DB, ADODB;
{$R *.dfm}
procedure TFM_Brow.TeThemeButton4Click(Sender: TObject);
begin
Close;
end;
procedure TFM_Brow.Button3Click(Sender: TObject);
begin
with FM_Data.ADO_FittingList do
Insert;
end;
procedure TFM_Brow.TeThemeButton2Click(Sender: TObject);
begin
with FM_Data.ADO_FittingList do
Edit;
end;
procedure TFM_Brow.TeThemeButton3Click(Sender: TObject);
begin
try
with FM_Data.ADO_FittingList do
Post;
except
end;
end;
procedure TFM_Brow.TeThemeButton1Click(Sender: TObject);
begin
with FM_Data.ADO_FittingList do
if IsEmpty then ShowMessage('空记录不能删除!')
else
if MessageDlg('确认删除此记录吗?',mtWarning,mbOKCancel,1)=1 then
Delete;
end;
procedure TFM_Brow.TeThemeButton5Click(Sender: TObject);
var
s:string;
begin
if Trim(edit1.text)='' then
s:='select * from [fitting]'
else
begin
s:='select * from [fitting] where [编号] like ''%'+edit1.text+'%''';
s:=s+' or [名称] like ''%'+edit1.text+'%''';
s:=s+' or [规格] like ''%'+edit1.text+'%''';
s:=s+' or [型号] like ''%'+edit1.text+'%''';
s:=s+' or [单位] like ''%'+edit1.text+'%''';
end;
with FM_Data.ADO_FittingList do
begin
SQL.Clear;
SQL.Add(s);
Open;
if IsEmpty then showmessage('没有符合条件的记录!');
end;
end;
procedure TFM_Brow.TeThemeButton6Click(Sender: TObject);
begin
try
with FM_Data.ADO_FittingList do
begin
Cancel;
end;
except
end;
end;
procedure TFM_Brow.DBGridEh1DblClick(Sender: TObject);
begin
if ShowDBClick = True then
with FM_Data do
begin
if not ADO_FittingList.IsEmpty then
begin
ADO_Note.FieldByName('名称').Text:=ADO_FittingList.fieldbyname('名称').Text;
ADO_Note.FieldByName('规格').Text:=ADO_FittingList.fieldbyname('规格').Text;
ADO_Note.FieldByName('型号').Text:=ADO_FittingList.fieldbyname('型号').Text;
ADO_Note.FieldByName('单位').Text:=ADO_FittingList.fieldbyname('单位').Text;
ADO_Note.FieldByName('单价').Text:=ADO_FittingList.fieldbyname('单价').Text;
Try
ADO_FittingList.Post;
except
end;
FM_Brow.Close;
end;
end;
end;
procedure TFM_Brow.BookChange;
var
ss:TStrings;
begin
//showmessage('');
case book.PageIndex of
0:begin //产品浏览
DBGridEh1.DataSource:=FM_Data.DS_FittingList;
with FM_Data.ADO_PubTable do
begin
SQL.clear;
SQL.Add('select 单位 from [fitting] group by 单位');
Open;
if not IsEmpty then
begin
ss:=TStringList.Create;
First;
while not Eof do
begin
ss.Add(trim(fieldbyname('单位').Text));
Next;
end;
DBGridEh1.Columns[3].PickList:=ss;
end;
end;
with FM_Data.ADO_FittingList do
begin
SQL.Clear;
SQL.Add('select * from [fitting]');
Open;
end;
end;
1:begin
//结算单浏览
FM_Brow.Caption:='结算单浏览';
DBGridEh2.DataSource:=FM_Data.DS_FittingList;
with FM_Data.ADO_FittingList do
begin
SQL.Clear;
SQL.Add('select 单号,日期,领用单位,sum(数量*单价) as 总金额,收款单位,制单,保管员 from [nnote] where [名称]<>'''' group by 单号,日期,领用单位,收款单位,制单,保管员');
Open;
end;
end;
end;
end;
procedure TFM_Brow.FormShow(Sender: TObject);
begin
BookChange;
end;
procedure TFM_Brow.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DBGridEh1.DataSource:=nil;
DBGridEh2.DataSource:=nil;
end;
procedure TFM_Brow.TeThemeButton13Click(Sender: TObject);
begin
FM_Data.ADO_FittingList.First;
end;
procedure TFM_Brow.TeThemeButton11Click(Sender: TObject);
begin
FM_Data.ADO_FittingList.Prior;
end;
procedure TFM_Brow.TeThemeButton10Click(Sender: TObject);
begin
FM_Data.ADO_FittingList.Next;
end;
procedure TFM_Brow.TeThemeButton12Click(Sender: TObject);
begin
FM_Data.ADO_FittingList.Last;
end;
procedure TFM_Brow.TeThemeButton8Click(Sender: TObject);
begin
if FM_Data.ADO_FittingList.IsEmpty then ShowMessage('空记录不能删除!')
else
if MessageDlg('确认删除此记录吗?',mtWarning,mbOKCancel,1)=1 then
begin
with FM_Data.ADO_Note do
begin
SQL.Clear;
SQL.Add('select * from [nnote] where [单号]='''+FM_Data.ADO_FittingList.fieldbyname('单号').Text+'''');
Open;
First;
while not Eof do delete;
end;
with FM_Data.ADO_FittingList do
begin
SQL.Clear;
SQL.Add('select 单号,日期,领用单位,sum(数量*单价) as 总金额,收款单位,制单,保管员 from [nnote] where [名称]<>'''' group by 单号,日期,领用单位,收款单位,制单,保管员');
Open;
end;
end;
end;
procedure TFM_Brow.TeThemeButton7Click(Sender: TObject);
var
s:string;
begin
with FM_Data.ADO_FittingList do
begin
SQL.Clear;
if trim(Edit2.Text)='' then
SQL.Add('select 单号,日期,领用单位,收款单位,制单'+
',保管员 from [nnote] where [日期]>='+datetostr(DateTimePicker1.date)+
' and [日期]<'+datetostr(DateTimePicker2.date))//+' group by 单号,日期,'+
//'领用单位,收款单位,制单,保管员')
{SQL.Add('select * from (select 单号,日期,领用单位,sum(数量*单价) as 总金额'+
',收款单位,制单,保管员 from [nnote] group by 单号,日期,领用单位,收'+
'款单位,制单,保管员) where [日期]>='+datetostr(DateTimePicker1.date))//+' and [日期]<'+datetostr(DateTimePicker2.date))}
else
SQL.Add('select 单号,日期,领用单位,sum(数量*单价) as 总金额,收款单位,制单'+
',保管员 from [nnote] where [日期]>='''+datetostr(DateTimePicker1.date)+''''+
' and [日期]<'''+datetostr(DateTimePicker2.date)+''''+
' or [单号] like ''%'+edit2.text+''''+
' or [领用单位] like ''%'+Edit2.Text+'%'''+
' or [收款单位] like ''%'+Edit2.Text+'%'''+
' or [制单] like ''%'+Edit2.Text+'%'''+
' or [保管员] like ''%'+Edit2.Text+'%'''+
' group by 单号,日期,'+
'领用单位,收款单位,制单,保管员');
s:=SQL.Text;
edit2.text:=s;
Open;
end;
end;
procedure TFM_Brow.DBGridEh2DblClick(Sender: TObject);
var
s:string;
mm:real;
begin
s:=FM_Data.ADO_FittingList.fieldbyname('单号').Text;
if Trim(s)<>'' then
begin
with FM_Data.ADO_PubTable do
begin
SQL.Clear;
SQL.Add('select sum(金额) as sumje from [nnote] where 单号='''+s+'''');
Open;
mm:=strtofloat(fieldbyname('sumje').text);
mm:=int(mm*100+0.5)/100; //四舍五入
fm_main.Label14.Caption:=floattostr(mm);
fm_main.Label15.caption:=fm_main.MoneyToUpper(strtofloat(fm_main.Label14.Caption));
end;
with FM_Data.ADO_Note do
begin
SQL.Clear;
SQL.Add('select * from [nnote] where [单号]='''+s+'''');
Open;
end;
xindan:=false;
end;
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -