📄 pzgz.pas
字号:
unit pzgz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, Grids, DBGrids, DB;
type
TForm6 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
SpeedButton1: TSpeedButton;
Label2: TLabel;
ComboBox1: TComboBox;
CheckBox1: TCheckBox;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Panel4: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses DataModal4;
{$R *.dfm}
procedure TForm6.BitBtn2Click(Sender: TObject);
begin
CheckBox1.Checked := False;
DataSource1.DataSet := Nil;
BitBtn1.Enabled := False;
ComboBox1.Clear;
with Da.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select 凭证号 from 凭证表 where 是否过账 = ''否'' and 是否通过 = ''是''');
Open;
end;
if Da.ADOQuery1.RecordCount>0 then
while Not Da.ADOQuery1.Eof do
begin
ComboBox1.Items.Add(Da.ADOQuery1.FieldByName('凭证号').Value);
Da.ADOQuery1.Next;
end;
end;
procedure TForm6.SpeedButton1Click(Sender: TObject);
begin
if CheckBox1.Checked = False then
begin
with Da.ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from 凭证明细表 where 凭证号 = :a');
Parameters.ParamByName('a').Value := Trim(ComboBox1.Text);
Open;
end;
if Da.ADOQuery2.RecordCount>0 then
begin
DataSource1.DataSet := da.ADOQuery2;
BitBtn1.Enabled := True;
end
else
begin
BitBtn1.Enabled := False;
Application.MessageBox('该凭证数据不存在。','提示',64);
DataSource1.DataSet := Nil;
end;
end
else
begin
with Da.ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from 凭证明细表 where 凭证号 in ( Select 凭证号 from 凭证表 where 是否过账 = ''否'' and 是否通过 = ''是'')');
Open;
end;
if Da.ADOQuery2.RecordCount>0 then
begin
DataSource1.DataSet := da.ADOQuery2;
BitBtn1.Enabled := True;
end
else
begin
BitBtn1.Enabled := False;
Application.MessageBox('该凭证数据不存在。','提示',64);
DataSource1.DataSet := Nil;
end;
end;
end;
procedure TForm6.BitBtn1Click(Sender: TObject);
begin
Try
Da.ADOConnection1.BeginTrans;
Da.ADOQuery2.First;
While Not Da.ADOQuery2.Eof do
begin
with Da.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('update 凭证表 set 是否过账 = ''是'' where 凭证号 = :a');
Parameters.ParamByName('a').Value := Trim(Da.ADOQuery2.FieldByName('凭证号').Value);
ExecSQL;
end;
with Da.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert 凭证记账表 Values (:a,:b,:c,:d,:e,:f,:g)');
Parameters.ParamByName('a').Value := Trim(Da.ADOQuery2.FieldByName('凭证号').Value);
Parameters.ParamByName('b').Value := Trim(Da.ADOQuery2.FieldByName('科目编号').Value);
Parameters.ParamByName('c').Value := Trim(Da.ADOQuery2.FieldByName('科目名称').Value);
Parameters.ParamByName('d').Value := Trim(Da.ADOQuery2.FieldByName('摘要编号').Value);
Parameters.ParamByName('e').Value := Trim(Da.ADOQuery2.FieldByName('摘要名称').Value);
Parameters.ParamByName('f').Value := Da.ADOQuery2.FieldByName('借方金额').Value;
Parameters.ParamByName('g').Value := Da.ADOQuery2.FieldByName('贷方金额').Value;
ExecSQL;
end;
Da.ADOQuery2.Next;
end;
Da.ADOConnection1.CommitTrans;
Application.MessageBox('操作成功。','提示',64);
BitBtn2.OnClick(Sender);
Except
Da.ADOConnection1.RollbackTrans;
Application.MessageBox('操作失败。','提示',64);
end;
end;
procedure TForm6.FormShow(Sender: TObject);
begin
BitBtn2.OnClick(Sender);
end;
procedure TForm6.BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(Sender).Font.Color := clRed;
end;
procedure TForm6.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(Sender).Font.Color := clBlue;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -