?? barcodequery.pas
字號:
unit BarCodeQuery;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, NEOFORM, ExtCtrls, ToolWin, ComCtrls, StdCtrls, DBCtrls, Buttons,
fcImager, fcdbtreeview, fcStatusBar, fcTreeView, GridsEh, DBGridEh, ADODB,
Grids, DBGrids, DB;
type
TFrmBarCodeQuery = class(TGBKPForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
DateTimePickerPostDateSart: TDateTimePicker;
DateTimePickerPostDateEnd: TDateTimePicker;
BitBtn1: TBitBtn;
CheckBoxOrderID: TCheckBox;
CheckBoxPostDate: TCheckBox;
CheckBoxCustomer: TCheckBox;
CheckBoxDevtype: TCheckBox;
EdtBarcode: TEdit;
EdtOrderIDSart: TComboBox;
EdtDevtype: TComboBox;
CheckBoxIsPack: TCheckBox;
EdtOrderIDEnd: TComboBox;
fcStatusBar1: TfcStatusBar;
PageControl1: TPageControl;
TabSheetOrderID: TTabSheet;
TabSheetBarcode: TTabSheet;
GroupBox2: TGroupBox;
MemoOrderDetail: TMemo;
GroupBox3: TGroupBox;
MemoOrderMemo: TMemo;
GroupBox4: TGroupBox;
Label11: TLabel;
EdtOrderID: TEdit;
Label3: TLabel;
EdtCustomerName: TEdit;
Label14: TLabel;
EdtPostDate: TEdit;
GroupBox5: TGroupBox;
EdtDevName: TEdit;
Label6: TLabel;
Label7: TLabel;
EdtNum: TEdit;
DBGridEh1: TDBGridEh;
Label8: TLabel;
MemoBarcode: TMemo;
CheckBoxBarCode: TCheckBox;
EdtCustomer: TEdit;
fcTreeView1: TTreeView;
CheckBoxIsInCome: TCheckBox;
CheckBoxIsOutCome: TCheckBox;
Label9: TLabel;
Label10: TLabel;
DateTimePickerPackDateStart: TDateTimePicker;
DateTimePickerPackDateEnd: TDateTimePicker;
CheckBoxPackDate: TCheckBox;
Label12: TLabel;
Label13: TLabel;
DateTimePickerInComeDateStart: TDateTimePicker;
DateTimePickerInComeDateEnd: TDateTimePicker;
CheckBoxInComeDate: TCheckBox;
Label15: TLabel;
Label16: TLabel;
DateTimePickerOutComeDateStart: TDateTimePicker;
DateTimePickerOutComeDateEnd: TDateTimePicker;
CheckBoxOutComeDate: TCheckBox;
TabSheet1: TTabSheet;
DBGridEh2: TDBGridEh;
DBNavigator1: TDBNavigator;
DataSource1: TDataSource;
DataSource2: TDataSource;
procedure CheckBoxOrderIDClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure fcTreeView1Click(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure EdtOrderIDSartChange(Sender: TObject);
procedure fcTreeView1Change(Sender: TObject; Node: TTreeNode);
procedure FormCreate(Sender: TObject);
procedure EdtBarcodeKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
sqlstrOrderID: string;
sqlstrGBarCodeID: string;
sqlstrBarCode: string;
QOrders, QGBarcode: TADOQuery;
{ Private declarations }
procedure ordersToTreeView;
procedure loadOrderS(nodedatastr: string);
procedure loadBarCodeS(nodedataInt: integer);
public
{ Public declarations }
end;
var
FrmBarCodeQuery: TFrmBarCodeQuery;
implementation
uses StockDataModel, PublicFunction;
{$R *.dfm}
procedure TFrmBarCodeQuery.CheckBoxOrderIDClick(Sender: TObject);
begin
inherited;
EdtOrderIDSart.Enabled := CheckBoxOrderID.Checked;
EdtOrderIDEnd.Enabled := CheckBoxOrderID.Checked;
DateTimePickerPostDateSart.Enabled := CheckBoxPostDate.Checked;
DateTimePickerPostDateEnd.Enabled := CheckBoxPostDate.Checked;
DateTimePickerPackDateStart.Enabled := CheckBoxPackDate.Checked;
DateTimePickerPackDateEnd.Enabled := CheckBoxPackDate.Checked;
DateTimePickerInComeDateStart.Enabled := CheckBoxInComeDate.Checked;
DateTimePickerInComeDateEnd.Enabled := CheckBoxInComeDate.Checked;
DateTimePickerOutComeDateStart.Enabled := CheckBoxOutComeDate.Checked;
DateTimePickerOutComeDateEnd.Enabled := CheckBoxOutComeDate.Checked;
EdtDevtype.Enabled := CheckBoxDevtype.Checked;
EdtCustomer.Enabled := CheckBoxCustomer.Checked;
EdtBarcode.Enabled := CheckBoxBarCode.Checked;
if EdtOrderIDSart.Enabled = false then EdtOrderIDSart.Color := clSilver else EdtOrderIDSart.Color := clWindow;
EdtOrderIDEnd.Color := EdtOrderIDSart.Color;
if DateTimePickerPostDateSart.Enabled = false then DateTimePickerPostDateSart.Color := clSilver else DateTimePickerPostDateSart.Color := clWindow;
DateTimePickerPostDateEnd.Color := DateTimePickerPostDateSart.Color;
if DateTimePickerPackDateStart.Enabled = false then DateTimePickerPackDateStart.Color := clSilver else DateTimePickerPackDateStart.Color := clWindow;
DateTimePickerPackDateEnd.Color := DateTimePickerPackDateStart.Color;
if DateTimePickerInComeDateStart.Enabled = false then DateTimePickerInComeDateStart.Color := clSilver else DateTimePickerInComeDateStart.Color := clWindow;
DateTimePickerInComeDateEnd.Color := DateTimePickerInComeDateStart.Color;
if DateTimePickerOutComeDateStart.Enabled = false then DateTimePickerOutComeDateStart.Color := clSilver else DateTimePickerOutComeDateStart.Color := clWindow;
DateTimePickerOutComeDateEnd.Color := DateTimePickerOutComeDateStart.Color;
if EdtDevtype.Enabled = false then EdtDevtype.Color := clSilver else EdtDevtype.Color := clWindow;
if EdtCustomer.Enabled = false then EdtCustomer.Color := clSilver else EdtCustomer.Color := clWindow;
if EdtBarcode.Enabled = false then EdtBarcode.Color := clSilver else EdtBarcode.Color := clYellow;
end;
procedure TFrmBarCodeQuery.BitBtn1Click(Sender: TObject);
var sqlstr: string;
sqlstrsub: string;
begin
inherited;
if CheckBoxOrderID.Checked then
begin
if (trim(EdtOrderIDSart.Text) = '') or (trim(EdtOrderIDend.Text) = '') then
begin
ShowMessage('請輸入訂單號');
exit;
end;
end;
sqlstr := '';
sqlstrsub := '';
sqlstrOrderID := '';
sqlstrGBarCodeID := '';
//sqlstrsub := 'select a.*,b.*,c.DevName from BarCode a,GBarCode b,DeviceType c'+
// ' where a.GBarCodeID=b.GBarCodeID and a.Devnum=c.Devnum '; //
sqlstrsub := QBarCodefindSQLStr;// ' select a.*,b.*,c.DevName,d.CustomerName from BarCode a,GBarCode b,DeviceType c,orders d '+
// 'where a.GBarCodeID=b.GBarCodeID and a.Devnum=c.Devnum and b.orderidid=d.id';
if CheckBoxOrderID.Checked then
begin
sqlstr := sqlstr + format(' and a.OrderId=''%s''', [trim(EdtOrderIDSart.Text)]);
end;
if CheckBoxPostDate.Checked then
begin
sqlstr := sqlstr + format(' and a.PostDate >=''%s'' and a.PostDate <= ''%s''', [FormatDateTime('yyyy-mm-dd',DateTimePickerPostDateSart.Date), FormatDateTime('yyyy-mm-dd',DateTimePickerPostDateEnd.Date)]);
end; //保證日期是datetime型
if CheckBoxPackDate.Checked then
begin
sqlstr := sqlstr + format(' and PackDate >=''%s'' and PackDate <= ''%s''', [ FormatDateTime('yyyy-mm-dd',DateTimePickerPackDateStart.Date), FormatDateTime('yyyy-mm-dd',DateTimePickerPackDateEnd.Date)]);
end; //保證日期是datetime型
if CheckBoxIncomeDate.Checked then
begin
sqlstr := sqlstr + format(' and IncomeDate >=''%s'' and IncomeDate <= ''%s''', [FormatDateTime('yyyy-mm-dd',DateTimePickerIncomeDateStart.Date), FormatDateTime('yyyy-mm-dd',DateTimePickerIncomeDateEnd.Date)]);
end; //保證日期是datetime型
if CheckBoxOutComeDate.Checked then
begin
sqlstr := sqlstr + format(' and OutComeDate >=''%s'' and OutComeDate <= ''%s''', [FormatDateTime('yyyy-mm-dd',DateTimePickerOutComeDateStart.Date), FormatDateTime('yyyy-mm-dd',DateTimePickerOutComeDateEnd.Date)]);
end; //保證日期是datetime型
if CheckBoxDevtype.Checked then
begin //可模糊查詢
end;
if CheckBoxCustomer.Checked then
begin //可模糊查詢
sqlstr := sqlstr + format(' and a.CustomerName like ''%%%s%%''', [EdtCustomer.Text]);
end;
if CheckBoxIsPack.State = cbChecked then
sqlstr := sqlstr + format(' and a.IsPack=%d', [1])
else if CheckBoxIsPack.State = cbunchecked then sqlstr := sqlstr + format(' and a.IsPack=%d', [0]);
if CheckBoxIsInCome.State = cbChecked then
sqlstr := sqlstr + format(' and a.IsInCome=%d', [1])
else if CheckBoxIsInCome.State = cbunchecked then sqlstr := sqlstr + format(' and a.IsInCome=%d', [0]);
if CheckBoxIsOutCome.State = cbChecked then
sqlstr := sqlstr + format(' and a.IsOutCome=%d', [1])
else if CheckBoxIsOutCome.State = cbunchecked then sqlstr := sqlstr + format(' and a.IsOutCome=%d', [0]);
if CheckBoxBarCode.Checked then
begin
//可模糊查詢
sqlstr := sqlstr + format(' and a.BarCode like ''%%%s%%''', [EdtBarcode.Text]);
end;
//查詢出所有符合條件的條碼
with StockDM.QBarCodefind do
begin
Close;
SQL.Clear;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -