📄 input_lsz.pas
字号:
unit input_lsz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, DB, ADODB, ExtCtrls, StdCtrls, Mask, ComCtrls,StrUtils,childccp;
type
Tinput = class(Tchildcc)
Panel1: TPanel;
ADOinput: TADOTable;
DBNavigator1: TDBNavigator;
DBEdid: TDBEdit;
DataSource1: TDataSource;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
ADOConnection1: TADOConnection;
DBEdcontent: TDBEdit;
ADOinputid: TWideStringField;
ADOinputfssj: TDateTimeField;
ADOinputcontent: TWideStringField;
ADOinputchange: TBooleanField;
ADOfsr: TADOQuery;
ADOfslx: TADOQuery;
DateTimePicker1: TDateTimePicker;
ADOinputfsrxm: TStringField;
DBLookupCb1: TDBLookupComboBox;
ADOinputfsr: TIntegerField;
ADOinputtype: TIntegerField;
ADOinputtypename: TStringField;
DBLookupCb2: TDBLookupComboBox;
ADOinputmoney: TBCDField;
Label6: TLabel;
DBEdmoney: TDBEdit;
ADOinputcclx: TIntegerField;
Label7: TLabel;
ADOQuerycclx: TADOQuery;
ADOinputcclxmc: TStringField;
DBLookupComboBox1: TDBLookupComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ADOinputAfterInsert(DataSet: TDataSet);
procedure FormCreate(Sender: TObject);
procedure ADOinputAfterScroll(DataSet: TDataSet);
procedure FormDestroy(Sender: TObject);
procedure ADOinputBeforePost(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
input: Tinput;
implementation
{$R *.dfm}
uses home_main;
procedure Tinput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure Tinput.ADOinputAfterInsert(DataSet: TDataSet);
var
Adoid :TADoQuery;
id,ny,inid_s :string;
inid :integer;
begin
{ DONE : id,time }
//自动产生id号的程序
ShortDateFormat := 'yyyymmdd' ;
// DateTimePicker1.DateFormat := 'yyyymmdd' ;
DateTimePicker1.Date := now;
ny := datetostr(now);
DateTimePicker1.DateTime := now;
Adoid := TadoQuery.Create(self);
adoid.connection := ADOConnection1;
with adoid do
begin
close;
sql.Text := 'select max(id) as maxid from t_lsz where left(id,8) = '+ny;
open;
id := adoid.fieldbyname('maxid').AsString;
end;
if length(id) <> 0 then
begin
id := midstr(id,9,3);
inid := strtoint(id)+ 1;
case length(inttostr(inid)) of
1: inid_s := '00'+inttostr(inid);
2: inid_s := '0'+inttostr(inid);
3: inid_s := inttostr(inid);
end;
id := ny+inid_s;
end
else
id := ny+'001';
Adoinput.FieldByName('id').AsString := id;
Adoinput.FieldByName('fsr').AsString := DBLookupCb1.Text;
ADoinput.FieldByName('fssj').AsDateTime := DateTimePicker1.DateTime ;
Adoinput.FieldByName('type').Asstring := DBLookupCb2.Text;
end;
procedure Tinput.FormCreate(Sender: TObject);
begin
adoinput.Open;
// adoinput.Edit;
Adofsr.Open;
adofslx.Open;
ADOQuerycclx.Open;
DateTimePicker1.Format := 'yyyyMMdd';
// DateTimePicker1.Perform(Longint, 0, DWORD(PCHAR('yyyymmdd')));
if GlobalFindAtom('input') = 0 then
GlobalAddAtom('input');
end;
procedure Tinput.ADOinputAfterScroll(DataSet: TDataSet);
begin
DateTimePicker1.DateTime := ADoinput.FieldByName('fssj').AsDateTime;
end;
procedure Tinput.FormDestroy(Sender: TObject);
begin
GlobalDeleteAtom(GlobalFindAtom('input'));
end;
procedure Tinput.ADOinputBeforePost(DataSet: TDataSet);
var
ado_sql:Tadoquery;
s_sql :String;
m_id :integer;
begin
//更新财产表中的数据
if ADoInput.State in [dsInsert] then
begin
ado_sql := Tadoquery.Create(self);
ado_sql.Connection := ADOConnection1;
ado_sql.SQL.Clear;
m_id := Adoinput.fieldbyname('cclx').AsInteger;
if length(inttostr(m_id)) <> 0 then
begin
if dblookupcb2.text = '收入' then
s_sql := 'update t_ccb set [money] = [money] + %d where name = '+inttostr(m_id)
else
s_sql := 'update t_ccb set [money] = [money] - %d where name = '+inttostr(m_id);
ado_sql.sql.text := Format(s_sql,[strtoint(DBEdmoney.text)]);
ado_sql.ExecSQL;
ado_sql.Close;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -