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

📄 search.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  {  with Qry_Ban do
    try
      Open;
    except
      ShowMsg('查询包装信息', '没找到对应的包装信息!', MB_ICONWARNING);
    end;}
end;

function TFRM_Search.GetBanNum: integer;
begin
  if Qry_Ban.Active then
    Result := Qry_Ban.RecordCount
  else
    Result := 0;
end;

function TFRM_Search.GetBaoNum: integer;
begin
  if Qry_Bao.Active then
    Result := Qry_Bao.RecordCount
  else
    Result := 0;
end;

function TFRM_Search.GetTaoNum: integer;
begin
  if Qry_Tao.Active then
    Result := Qry_Tao.RecordCount
  else
    Result := 0;
end;

function TFRM_Search.GetTuNum: integer;
begin
  if Qry_TuJb.Active then
    Result := Qry_TuJb.RecordCount
  else
    Result := 0;
end;

procedure TFRM_Search.SetBanNum(const Value: integer);
begin
  with StatusBar1 do
    Panels[2].Text := Format('版数:%d', [Value]);
end;

procedure TFRM_Search.SetBaoNum(const Value: integer);
begin
  with StatusBar1 do
    Panels[1].Text := Format('包数:%d', [Value]);
end;

procedure TFRM_Search.SetTaoNum(const Value: integer);
begin
  with StatusBar1 do
    Panels[0].Text := Format('套数:%d', [Value]);
end;

procedure TFRM_Search.SetTuNum(const Value: integer);
begin
  with StatusBar1 do
    Panels[3].Text := Format('图数:%d', [Value]);
end;

function TFRM_Search.GetStatusString: string;
begin
  with StatusBar1 do
    Result := Panels[4].Text;
end;

procedure TFRM_Search.SetStatusString(const Value: string);
begin
  with StatusBar1 do
    Panels[4].Text := Value;
end;

procedure TFRM_Search.Qry_TuJbAfterOpen(DataSet: TDataSet);
begin
  TuNum := Qry_TuJb.RecordCount;
end;

procedure TFRM_Search.Qry_TuJbAfterScroll(DataSet: TDataSet);
begin
  if not CBo_ta.Checked then
    Exit;
  with Qry_Static do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select TA from TB_YZPPTAXXB where NOT TA IS NULL AND TUDM = ''' + Qry_tujb.FieldByName('TUDM').AsString + '''');
    Open;
    if (not Eof) then
    begin
      Image1.Visible := True;
      SetImgView(TBlobField(Fields[0]));
      //      Image1.Picture.Bitmap.Assign(TBlobField(Fields[0]));
      Image1.Visible := True;
      StatusBar1.Panels[0].Text := '有图案信息';
    end
    else
    begin
      StatusBar1.Panels[0].Text := '无图案信息';
      Image1.Visible := False;
    end;
  end;
  StatusBar1.Panels[1].Text := '  共有 ' + IntToStr(Qry_tujb.RecordCount) + ' 条';
  StatusBar1.Panels[2].Text := '  当前是第 ' + Qry_tujb.FieldByName('TXH').AsString + ' 条';
  StatusBar1.Panels[4].Text := Qry_tujb.FieldByName('TUJC').AsString + '(' + Qry_tujb.FieldByName('ZH').AsString + ')';
end;

function TFRM_Search.Execute(const ADB: TDatabase): boolean;
var
  i: integer;
begin
  result := false;
  CurrDBGrid := DG_TaoGy;
  FDatabase := ADB;
  Caption := CYZPPTIT;
  DWMC.Caption := '使用单位:' + VG_UnitName;

  try
    for i := 0 to ComponentCount - 1 do
      if Components[i] is TDBDataSet then
      begin
        TDBDataSet(Components[i]).Close;
        TDBDataSet(Components[i]).DatabaseName := FDatabase.DatabaseName;
      end;
  except
    ShowMsg('初始化', '不能正确连接数据库!', MB_ICONWARNING);
    exit;
  end;
  InitNDList;
  {  try
      Qry_PPLB.Open;
      if not Qry_PPLB.IsEmpty then
        DL_PPLB.KeyValue := Qry_PPLB.FieldByName('YZLDM').Value;
      DL_PPLBCloseUp(nil);
      result := true;
    except
      ShowMsg('初始化', '不能打开邮资票品类代码表!', MB_ICONWARNING);
      exit;
    end;  }
  ShowModal;
end;

procedure TFRM_Search.DG_TaoJbTitleClick(Column: TColumn);
begin
  DBGridTitleOrder(Column, [-1]);
end;

procedure TFRM_Search.FormClose(Sender: TObject; var Action: TCloseAction);
var
  i: integer;
begin
  Qry_tujb.AfterScroll := nil;

  for i := 0 to ComponentCount - 1 do
    if Components[i] is TDBDataSet then
      TDBDataSet(Components[i]).Close;

  if Frmf_img <> nil then
    Frmf_img.Close;
  SaveAllColWidth(Self);
end;

procedure TFRM_Search.CBo_taClick(Sender: TObject);
begin
  Panel2.Visible := CBo_ta.Checked;
  if Qry_TuJb.IsEmpty then
    Exit;
  Qry_TuJbAfterScroll(nil);
  //  Qry_TujbAfterScroll(nil);
end;

procedure TFRM_Search.Act_DBGEnterExecute(Sender: TObject);
begin
  CurrDBGrid := TDBGrid(Sender);
  if ((Sender as TDBGrid) = DG_BaoGY) and (not Qry_bao.IsEmpty) then
    Qry_baoAfterScroll(nil);
  if ((Sender as TDBGrid) = DG_BanGY) and (not Qry_ban.IsEmpty) then
    Qry_banAfterScroll(nil);

end;

procedure TFRM_Search.SetCurrDBGrid(const Value: TDBGrid);
begin
  FCurrDBGrid := Value;
  if (Value = DG_TaoGy) then
  begin
    RLa_tao.Font.Color := clBlue;
    RLa_bao.Font.Color := clBlack;
    RLa_ban.Font.Color := clBlack;
    RLa_tu.Font.Color := clBlack;
    Qry_ban.Filtered := false;
    Qry_tujb.Filtered := false;
    Qry_bao.AfterScroll := nil;
    Qry_ban.AfterScroll := nil;
  end;

  if (Value = DG_BaoGy) then
  begin
    RLa_bao.Font.Color := clBlue;
    RLa_tao.Font.Color := clBlack;
    RLa_ban.Font.Color := clBlack;
    RLa_tu.Font.Color := clBlack;
    Qry_bao.AfterScroll := Qry_baoAfterScroll;
    Qry_ban.AfterScroll := nil;
  end;

  if (Value = DG_BanGy) then
  begin
    RLa_ban.Font.Color := clBlue;
    RLa_tao.Font.Color := clBlack;
    RLa_bao.Font.Color := clBlack;
    RLa_tu.Font.Color := clBlack;
    Qry_bao.AfterScroll := nil;
    Qry_ban.AfterScroll := Qry_banAfterScroll;
  end;

end;

procedure TFRM_Search.Qry_BaoAfterScroll(DataSet: TDataSet);
var
  vlp_blsh: string;
begin
  with Qry_Static do
  begin
    CLose;
    SQL.CLear;
    SQL.Add('select BLSH from TB_BBGXB where BZLSH = ''' +
      Qry_bao.FieldByName('BZLSH').AsString + '''');
    Open;
    first;
    while not Eof do
    begin
      vlp_blsh := vlp_blsh + 'BLSH=''' + Fields[0].AsString + ''' or ';
      next;
    end;
  end;

  vlp_blsh := copy(vlp_blsh, 1, Length(vlp_blsh) - 4);

  Qry_ban.Filter := vlp_blsh;
  Qry_ban.Filtered := true;

  vlp_blsh := '';
  with Qry_Static do
  begin
    CLose;
    SQL.CLear;
    SQL.Add('select b.TUDM from TB_BBGXB a, TB_BTGXB b where a.BZLSH = ''' +
      Qry_bao.FieldByName('BZLSH').AsString + ''' and a.BLSH = b.BLSH');
    Open;
    while not Eof do
    begin
      vlp_blsh := vlp_blsh + 'TUDM=''' + Fields[0].AsString + ''' or ';
      next;
    end;
  end;

  vlp_blsh := copy(vlp_blsh, 1, Length(vlp_blsh) - 4);
  Qry_tujb.Filter := vlp_blsh;
  Qry_tujb.Filtered := true;

end;

procedure TFRM_Search.Qry_BanAfterScroll(DataSet: TDataSet);
var
  vlp_tudm: string;
begin
  with Qry_Static do
  begin
    CLose;
    SQL.CLear;
    SQL.Add('select TUDM from TB_BTGXB where BLSH = ''' + Qry_ban.FieldByName('BLSH').AsString + '''');
    Open;
    while not Eof do
    begin
      vlp_tudm := vlp_tudm + 'TUDM=''' + Fields[0].AsString + ''' or ';
      next;
    end;
  end;
  vlp_tudm := copy(vlp_tudm, 1, Length(vlp_tudm) - 4);

  Qry_tujb.Filter := vlp_tudm;
  Qry_tujb.Filtered := true;
end;

procedure TFRM_Search.CBo_xxClick(Sender: TObject);
var
  i: integer;
begin
  if high(vlp_ai_tao) = -1 then
  begin
    SetLength(vlp_ai_tao, DG_taoGy.Columns.Count);
    for i := 0 to DG_taoGy.Columns.Count - 1 do
    begin
      vlp_ai_tao[i] := DG_taoGy.Columns[i].Visible;
    end;
  end;

  if high(vlp_ai_bao) = -1 then
  begin
    SetLength(vlp_ai_bao, DG_baoGy.Columns.Count);
    for i := 0 to DG_baoGy.Columns.Count - 1 do
    begin
      vlp_ai_bao[i] := DG_baoGy.Columns[i].Visible;
    end;
  end;

  if high(vlp_ai_ban) = -1 then
  begin
    SetLength(vlp_ai_ban, DG_banGy.Columns.Count);
    for i := 0 to DG_banGy.Columns.Count - 1 do
    begin
      vlp_ai_ban[i] := DG_banGy.Columns[i].Visible;
    end;
  end;

  if high(vlp_ai_tu) = -1 then
  begin
    SetLength(vlp_ai_tu, DG_tuGy.Columns.Count);
    for i := 0 to DG_tuGy.Columns.Count - 1 do
    begin
      vlp_ai_tu[i] := DG_tuGy.Columns[i].Visible;
    end;
  end;

  SetColumnView(CBo_xx.Checked);
end;

procedure TFRM_Search.SetColumnView(showcol: boolean);
var
  i: integer;
begin
  for i := 0 to DG_taoGy.Columns.Count - 1 do
    DG_taoGy.Columns[i].Visible := (showcol or ((not showcol) and vlp_ai_tao[i]));

  for i := 0 to DG_baoGy.Columns.Count - 1 do
    DG_baoGy.Columns[i].Visible := (showcol or ((not showcol) and vlp_ai_bao[i]));

  for i := 0 to DG_banGy.Columns.Count - 1 do
    DG_banGy.Columns[i].Visible := (showcol or ((not showcol) and vlp_ai_ban[i]));

  for i := 0 to DG_tuGy.Columns.Count - 1 do
    DG_tuGy.Columns[i].Visible := (showcol or ((not showcol) and vlp_ai_tu[i]));

end;


procedure TFRM_Search.FormCreate(Sender: TObject);
begin
  GetAllColWidth(self);
  fcb_TZ.ClearAll;
  with Qry_Static do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select MC,TZDM from TG_YZPPTZDM ');
    Open;
    while not Eof do
    begin
      fcb_TZ.Items.Add(FieldByName('MC').AsString);

⌨️ 快捷键说明

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