📄 bjqlunit.pas
字号:
unit BjqlUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls, Buttons;
type
TBjqlForm = class(TForm)
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Bitadd: TBitBtn;
Bitedit: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
Bitdel: TBitBtn;
Splitter1: TSplitter;
Panel1: TPanel;
DBGrid1: TDBGrid;
Edit3: TEdit;
procedure BjqlNewll;
procedure formcreate(Sender: TObject);
procedure BitaddClick(Sender: TObject);
procedure BiteditClick(Sender: TObject);
procedure BitdelClick(Sender: TObject);
procedure DBgridCelClick(Column: TColumn);
procedure edit1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit2keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit3keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edit1keypress(Sender: TObject; var Key: Char);
procedure edit3keypress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
BjqlForm: TBjqlForm;
implementation
uses dm;
{$R *.dfm}
procedure TBjqlform.BjqlNewll;
begin
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from T_Bjql');
open;
end;
end;
procedure TBjqlForm.formcreate(Sender: TObject);
begin
bjqlnewll;
end;
procedure TBjqlForm.BitaddClick(Sender: TObject);
begin
if edit1.Text = '' then
begin
showmessage('票据种类不能为空');
exit;
end;
if edit2.Text = '' then
begin
showmessage('本/张/份/数量不能为空');
exit;
end;
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from t_bjql where km=:a');
parameters.ParamByName('a').Value := trim(edit1.Text);
open;
if RecordCount > 0 then
begin
showmessage('该票据种类已经存在');
exit;
end
else
begin
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('insert into t_bjql(km,ql,mbf) values(:a,:b,:c)');
parameters.ParamByName('a').Value:=trim(edit1.Text);
parameters.ParamByName('b').Value:=trim(edit2.Text);
parameters.ParamByName('c').Value:=trim(edit3.Text);
execsql;
end;
bjqlnewll;
edit1.SetFocus;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;
end;
end;
procedure TBjqlForm.BiteditClick(Sender: TObject);
begin
if (edit1.Text='') and (edit2.Text='') then
begin
showmessage('请选择修改记录!');
exit;
end;
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from t_bjql where km=:a');
parameters.ParamByName('a').Value := trim(edit1.Text);
open;
if RecordCount > 0 then
begin
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('update t_bjql set ql =:b,mbf =:c where (km =:a)' );
parameters.ParamByName('a').Value:=trim(edit1.Text);
parameters.ParamByName('b').Value:=trim(edit2.Text);
parameters.ParamByName('c').Value:=trim(edit3.Text);
execsql;
end;
end
else
begin
bjqlnewll;
showmessage('该票据种类不存在,不能修改');
exit;
end;
end;
bjqlnewll;
edit1.SetFocus;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;
procedure TBjqlForm.BitdelClick(Sender: TObject);
begin
if (edit1.Text='') and (edit2.Text='') then
begin
showmessage('请选择要删除的记录!');
exit;
end;
with dmdata.ShowADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from T_ms_jl where ql_id = :a');
parameters.ParamByName('a').Value := trim(edit1.Text);
open;
if RecordCount > 0 then
begin
showmessage('该票据种类已经使用,不能删除!');
exit;
end;
end;
with dmdata.ShowADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from T_kqb where ql_id = :a');
parameters.ParamByName('a').Value := trim(edit1.Text);
open;
if RecordCount > 0 then
begin
showmessage('该票据种类已经使用,不能删除!');
exit;
end;
end;
with dmdata.ShowADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from T_Grb where ql_id = :a');
parameters.ParamByName('a').Value := trim(edit1.Text);
open;
if RecordCount > 0 then
begin
showmessage('该票据种类已经使用,不能删除!');
exit;
end;
end;
with dmdata.ShowADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from T_Lyb where ql_id = :a');
parameters.ParamByName('a').Value := trim(edit1.Text);
open;
if RecordCount > 0 then
begin
showmessage('该票据种类已经使用,不能删除!');
exit;
end;
end;
with dmdata.ShowADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from T_XHb where ql_id = :a');
parameters.ParamByName('a').Value := trim(edit1.Text);
open;
if RecordCount > 0 then
begin
showmessage('该票据种类已经使用,不能删除!');
exit;
end;
end;
with dmdata.ShowADOQuery do
begin
close;
sql.Clear;
sql.Add('select * from t_th where ql_id = :a');
parameters.ParamByName('a').Value := trim(edit1.Text);
open;
if RecordCount > 0 then
begin
showmessage('该票据种类已经使用,不能删除!');
exit;
end;
end;
with dmdata.BjqlADOQuery do
begin
close;
sql.Clear;
sql.Add('delete from t_bjql where (km=:a)' );
parameters.ParamByName('a').Value:=trim(edit1.Text);
execsql;
end;
bjqlnewll;
edit1.SetFocus;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;
procedure TBjqlForm.DBgridCelClick(Column: TColumn);
begin
with dmdata.BjqlADOQuery do
begin
if RecordCount > 0 then
begin
edit1.Text :=fieldbyname('km').AsString;
edit2.Text:=fieldbyname('ql').AsString;
edit3.Text:=fieldbyname('mbf').AsString;
end;
end;
end;
procedure TBjqlForm.edit1keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) or (key = vk_down) then
begin
edit2.SetFocus;
end;
end;
procedure TBjqlForm.edit2keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) or (key = vk_down) then
begin
edit3.SetFocus;
end;
if key = vk_up then
begin
edit1.SetFocus;
end;
end;
procedure TBjqlForm.edit3keydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) or (key = vk_down) then
begin
bitadd.SetFocus;
end;
if key = vk_up then
begin
edit2.SetFocus;
end;
end;
procedure TBjqlForm.edit1keypress(Sender: TObject; var Key: Char);
var
m:boolean;
begin
m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
if m then key := #0;
end;
procedure TBjqlForm.edit3keypress(Sender: TObject; var Key: Char);
var
m:boolean;
begin
m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
if m then key := #0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -