Am_Yjcxs.~pas
上传用户:szruida
上传日期:2007-06-01
资源大小:6518k
文件大小:7k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit Am_Yjcxs;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, DB, DBClient, Buttons, StdCtrls, Mask, DBCtrlsEh, ExtCtrls;
  6. type
  7.   TAm_Yjcx = class(TForm)
  8.     Panel1: TPanel;
  9.     Label1: TLabel;
  10.     Label2: TLabel;
  11.     Label3: TLabel;
  12.     Label4: TLabel;
  13.     ComboBox1: TComboBox;
  14.     ComboBox2: TComboBox;
  15.     DBDateTimeEditEh1: TDBDateTimeEditEh;
  16.     ComboBox3: TComboBox;
  17.     Edit1: TEdit;
  18.     Edit2: TEdit;
  19.     Panel2: TPanel;
  20.     BitBtn2: TSpeedButton;
  21.     BitBtn1: TSpeedButton;
  22.     SpeedButton1: TSpeedButton;
  23.     SpeedButton2: TSpeedButton;
  24.     ClientDataSet1: TClientDataSet;
  25.     procedure BitBtn2Click(Sender: TObject);
  26.     procedure SpeedButton2Click(Sender: TObject);
  27.     procedure BitBtn1Click(Sender: TObject);
  28.     procedure SpeedButton1Click(Sender: TObject);
  29.     procedure ComboBox1Change(Sender: TObject);
  30.     procedure ComboBox2Change(Sender: TObject);
  31.     procedure ComboBox3Change(Sender: TObject);
  32.     procedure FormCreate(Sender: TObject);
  33.     procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  34.   private
  35.     { Private declarations }
  36.   public
  37.     { Public declarations }
  38.   end;
  39. var
  40.   Am_Yjcx: TAm_Yjcx;
  41.   str,s_zdm,s_logic,s_tj:string;//查找字符串,字段名
  42. Const ss:array [0..6] of string=('aj_ndh','ajlb_mc','aj_dh','ajyj_yjr','ajyj_yjdw','ajyj_jsdw','ajyj_yjrq');
  43. implementation
  44. uses DMs;
  45. {$R *.dfm}
  46. procedure TAm_Yjcx.BitBtn2Click(Sender: TObject);
  47. begin
  48.  Close;
  49. end;
  50. procedure TAm_Yjcx.SpeedButton2Click(Sender: TObject);
  51. begin
  52.  combobox1.ItemIndex:=-1;
  53.  combobox2.ItemIndex:=-1;
  54.  edit1.Text:='';
  55.  combobox3.ItemIndex:=-1;
  56.  edit2.text:='';
  57. end;
  58. procedure TAm_Yjcx.BitBtn1Click(Sender: TObject);
  59. var S_Edit,Hint:string;
  60. begin
  61.  S_Edit:=Edit2.Text;
  62.  if trim(Combobox1.Text)='' then
  63.    begin
  64.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  65.     exit;
  66.    end;
  67.  if trim(Combobox2.Text)='' then
  68.    begin
  69.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  70.     exit;
  71.    end;
  72.  //----------------------------------
  73.  if trim(Edit2.Text)='' then
  74.   begin
  75.     if Combobox2.Text='模糊查询' then
  76.      str:=s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  77.     else
  78.      str:=s_zdm+' '+combobox2.Text+' '+''''+trim(edit1.Text)+'''';
  79.   end
  80.  else
  81.   begin
  82.     if Combobox2.Text='模糊查询' then
  83.        str:=s_Edit+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  84.     else if (combobox1.Text='移交日期')then
  85.        str:=s_Edit+s_zdm+' '+combobox2.Text+' '+''''+DBDateTimeEditEh1.Text+''''
  86.     else
  87.        str:=s_Edit+s_zdm+' '+combobox2.Text+' '+''''+trim(edit1.Text)+'''';
  88.   end;
  89.  //---------------------------------
  90.   showmessage(str);
  91.   ClientDataSet1.Close;
  92.   ClientDataSet1.CommandText:='select * from V_YJDY where '+str;
  93.   ClientDataSet1.Open;
  94.   DM.V_YJDY.active:=false;
  95.   DM.V_YJDY.active:=true;
  96.   DM.V_YJDY.Data:=ClientDataSet1.Data;
  97.   if Clientdataset1.RecordCount=0 then
  98.      application.MessageBox('没有找到符合条件的纪录','提示',mb_ok+mb_iconinformation)
  99.   else
  100.    begin
  101.      Hint:='当前表中有'+IntToStr(Clientdataset1.RecordCount)+'条记录符合条件';
  102.      application.MessageBox(Pchar(hint),'提示',mb_ok+mb_iconinformation);
  103.    end;
  104. end;
  105. procedure TAm_Yjcx.SpeedButton1Click(Sender: TObject);
  106. begin
  107. s_logic:='';
  108.  if trim(Combobox1.Text)='' then
  109.    begin
  110.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  111.     exit;
  112.    end;
  113.  if trim(Combobox2.Text)='' then
  114.    begin
  115.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  116.     exit;
  117.    end;
  118.    //有效性验证
  119.  case combobox3.ItemIndex of
  120.   0:  s_logic:=' and ';
  121.   1:  s_logic:=' or ';
  122.  end;
  123.  if Combobox2.Text='模糊查询' then
  124.   begin
  125.    Edit2.Text:=Edit2.Text+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''+' '+s_logic+' ';
  126.    //Edit3.Text:=Edit3.Text+combobox1.Text+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''+' '+combobox3.Text+' ';
  127.   end
  128.  else if (combobox1.Text='移交日期')then
  129.   begin
  130.    Edit2.Text:=Edit2.Text+s_zdm+' '+combobox2.Text+' '+''''+DBDateTimeEditEh1.Text+''''+' '+s_logic+' ';
  131.    //Edit3.Text:=Edit3.Text+combobox1.Text+' '+combobox2.Text+' '+''''+DBDateTimeEditEh1.Text+''''+' '+combobox3.Text+' ';
  132.   end
  133.  else
  134.   begin
  135.    Edit2.Text:=Edit2.Text+s_zdm+' '+combobox2.Text+' '+''''+trim(edit1.Text)+''''+' '+s_logic+' ';
  136.    //Edit3.Text:=Edit3.Text+combobox1.Text+' '+combobox2.Text+' '+''''+trim(edit1.Text)+''''+' '+combobox3.Text+' ';
  137.   end;
  138.  combobox1.ItemIndex:=-1;
  139.  combobox2.ItemIndex:=-1;
  140.  edit1.Text:='';
  141.  combobox3.ItemIndex:=-1;
  142.  SpeedButton1.Enabled:=false;
  143. end;
  144. procedure TAm_Yjcx.ComboBox1Change(Sender: TObject);
  145. begin
  146.   s_zdm:=ss[combobox1.itemindex];//以上是获得下拉框中的值
  147.  if (combobox1.Text='年代号') or (combobox1.Text='移交日期')then
  148.    begin
  149.      Combobox2.Clear;
  150.      Combobox2.Items.Add('=');
  151.      Combobox2.Items.Add('<');
  152.      Combobox2.Items.Add('<=');
  153.      Combobox2.Items.Add('>=');
  154.      Combobox2.Items.Add('>');
  155.      Combobox2.Items.Add('<>');
  156.    end
  157.   else
  158.    begin
  159.     combobox2.Clear;
  160.     combobox2.Items.Add('=');
  161.     combobox2.Items.Add('<>');
  162.     combobox2.Items.Add('模糊查询');
  163.    end;  
  164. end;
  165. procedure TAm_Yjcx.ComboBox2Change(Sender: TObject);
  166. begin
  167.  s_tj:='';
  168.  if (combobox1.Text='移交日期')then
  169.    begin
  170.     DBDateTimeEditEh1.Visible:=true;
  171.     edit1.Visible:=false;
  172.    end
  173.  else
  174.    begin
  175.     DBDateTimeEditEh1.Visible:=false;
  176.     edit1.Visible:=true;
  177.    end;
  178. end;
  179. procedure TAm_Yjcx.ComboBox3Change(Sender: TObject);
  180. begin
  181. if trim(Combobox1.Text)='' then
  182.    begin
  183.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  184.     exit;
  185.    end;
  186.  if trim(Combobox2.Text)='' then
  187.    begin
  188.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  189.     exit;
  190.    end;
  191.  s_logic:='';
  192.  case combobox3.ItemIndex of
  193.   0:  s_logic:=' and ';
  194.   1:  s_logic:=' or ';
  195.  end;
  196.  SpeedButton1.Enabled:=true;
  197. end;
  198. procedure TAm_Yjcx.FormCreate(Sender: TObject);
  199. begin
  200.  Combobox1.Clear;
  201.  combobox1.Items.add('年代号');
  202.  Combobox1.Items.Add('案卷类别');
  203.  combobox1.Items.add('档号');
  204.  Combobox1.Items.Add('移交人');
  205.  combobox1.Items.add('移交单位');
  206.  Combobox1.Items.Add('接收单位');
  207.  combobox1.Items.add('移交日期');
  208. end;
  209. procedure TAm_Yjcx.Edit1KeyPress(Sender: TObject; var Key: Char);
  210. begin
  211.  if combobox1.text='年代号' then
  212.   begin
  213.    if not(key in['0'..'9',#8,#13]) then
  214.      begin
  215.       key:=#0;
  216.       application.MessageBox('请输入数据数字','提示',mb_ok+mb_iconinformation);
  217.       exit;
  218.      end;
  219.   end;
  220. end;
  221. end.