⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mn_sq.pas

📁 该系统主要用于生产采购系统
💻 PAS
字号:
unit MN_SQ;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, Mask, DBCtrls, StdCtrls, Buttons, ComCtrls;

type
  TMN_SQFrm = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Edit1: TEdit;
    ComboBox3: TComboBox;
    ComboBox4: TComboBox;
    ComboBox5: TComboBox;
    Edit2: TEdit;
    DateTime1: TDateTimePicker;
    DateTime2: TDateTimePicker;
    BB_Query: TBitBtn;
    BB_Close: TBitBtn;
    Label4: TLabel;
    DBEdit1: TDBEdit;
    Label5: TLabel;
    DBEdit2: TDBEdit;
    Label6: TLabel;
    DBEdit3: TDBEdit;
    DBGrid1: TDBGrid;
    procedure BB_QueryClick(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox4Change(Sender: TObject);
    procedure DateTime1CloseUp(Sender: TObject);
    procedure DateTime2CloseUp(Sender: TObject);
    procedure ComboBox3Change(Sender: TObject);
    procedure BB_CloseClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MN_SQFrm: TMN_SQFrm;

implementation
   uses DataModule;
{$R *.dfm}

procedure TMN_SQFrm.BB_QueryClick(Sender: TObject);
var
   Field1,Field2:string;
   str:string;
begin
   str:='';
   //条件1
   if ComboBox1.Text='计划生成日期' then
     Field1:='S_Materiel_Time'
     else if ComboBox1.Text='凭证号' then
       Field1:='M_Credence_ID'
       else  if ComboBox1.Text='原凭证号' then
         Field1:='M_Credence_OID'
         else  if ComboBox1.Text='材料名称' then
           Field1:='Materiel_Name'
            else  if ComboBox1.Text='材料编号' then
             Field1:='Materiel_ID'
              else  if ComboBox1.Text='材料规格' then
               Field1:='Materiel_Standard'
                else  if ComboBox1.Text='计量单位' then
                 Field1:='Materiel_Unit'
                  else  Field1:='S_Materiel_Num';

    if  (ComboBox2.Text<>'') and (Edit1.Text<>'') then
      if  Field1='S_Materiel_Time' then
         str:=str+Field1+ComboBox2.Text+'#'+Edit1.Text+'#'  //日期类型查询语句
        else if  (Field1='Materiel_ID') or (Field1='S_Materiel_Num') then
           str:=str+Field1+ComboBox2.Text+Edit1.Text  //数字类型查询语句
          else
            str:=str+Field1+ComboBox2.Text+''''+Edit1.Text+'''';  //文本类型查询语句

     //条件2
     if ComboBox4.Text='计划生成日期' then
     Field2:='S_Materiel_Time'
     else if ComboBox4.Text='凭证号' then
       Field2:='M_Credence_ID'
       else  if ComboBox4.Text='原凭证号' then
         Field2:='M_Credence_OID'
         else  if ComboBox4.Text='材料名称' then
           Field2:='Materiel_Name'
            else  if ComboBox4.Text='材料编号' then
             Field2:='Materiel_ID'
              else  if ComboBox4.Text='材料规格' then
               Field2:='Materiel_Standard'
                else  if ComboBox4.Text='计量单位' then
                 Field2:='Materiel_Unit'
                  else  Field2:='S_Materiel_Num';
    if  (ComboBox5.Text<>'') and (Edit2.Text<>'') then
      if ComboBox3.Text='并' then
       begin
        if  Field2='S_Materiel_Time' then
         str:=str+' and '+Field2+ComboBox5.Text+'#'+Edit2.Text+'#'  //日期类型查询语句
          else if  (Field2='Materiel_ID') or (Field2='S_Materiel_Num') then
           str:=str+' and '+Field2+ComboBox5.Text+Edit2.Text  //数字类型查询语句
            else
             str:=str+' and '+Field2+ComboBox5.Text+''''+Edit2.Text+'''';  //文本类型查询语句
        end
       else
        begin
        if  Field2='S_Materiel_Time' then
         str:=str+' or '+Field2+ComboBox5.Text+'#'+Edit2.Text+'#'  //日期类型查询语句
          else if  (Field2='Materiel_ID') or (Field2='S_Materiel_Num') then
           str:=str+' or '+Field2+ComboBox5.Text+Edit2.Text  //数字类型查询语句
            else
             str:=str+' or '+Field2+ComboBox5.Text+''''+Edit2.Text+'''';  //文本类型查询语句
        end;

    with  DM.AQ_Materiel_Need do
      begin
       close;
       SQL.Clear;
       SQL.Add('Select * from Materiel_Need where '+str);
       open;
      end;
    if DM.AQ_Materiel_Need.RecordCount=0 then
      Application.MessageBox('没有数据与条件相符','查询结果',MB_OK);
   Edit2.ReadOnly:=true;
   Edit2.Color:=clInfoBk;
   Edit1.Text:='';
   Edit2.Text:='';
end;


procedure TMN_SQFrm.ComboBox1Change(Sender: TObject);
begin
   if ComboBox1.Text='计划生成日期' then
     DateTime1.Visible:=true;
end;

procedure TMN_SQFrm.ComboBox4Change(Sender: TObject);
begin
    if ComboBox4.Text='计划生成日期' then
    DateTime2.Visible:=true;
end;

procedure TMN_SQFrm.DateTime1CloseUp(Sender: TObject);
begin
    Edit1.Text:=formatDatetime('yyyy-m-d',DateTime1.Date);
end;

procedure TMN_SQFrm.DateTime2CloseUp(Sender: TObject);
begin
    Edit2.Text:=formatDatetime('yyyy-m-d',DateTime2.Date);
end;

procedure TMN_SQFrm.ComboBox3Change(Sender: TObject);
begin
   Edit2.ReadOnly:=false;
   Edit2.Color:=clWindow;
end;

procedure TMN_SQFrm.BB_CloseClick(Sender: TObject);
begin
   MN_SQFrm.Close;
end;

procedure TMN_SQFrm.FormCreate(Sender: TObject);
begin
  DM.ADOQuery1.Filtered:=false;
  DM.ADOQuery1.Active:=false;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -