📄 ufrmmain.~pas
字号:
While not DMOA.ADOQry.Eof do begin
Str:=Trim(DMOA.ADOQry.FieldByName('sMC').AsString);
FrmX.DBComboBox1.Items.Add(Str);
DMOA.ADOQry.Next;
end;
FrmX.Visible:=False;
FrmX.BorderStyle:=bsDialog;
FrmX.Position:=poScreenCenter;
FrmX.DataSource1.DataSet:=CDSA;
CDSA.Edit;
FrmX.ShowModal;
end;
procedure TFrmMain.TrvHYAAChange(Sender: TObject; Node: TTreeNode);
var
Str,sFenZu,sHYBM,sV:String;
begin
if TrvHYAA.Selected = nil then Exit;
if TrvHYAA.Selected.AbsoluteIndex = 0 then Exit;
sFenZu:=TrvHYAA.Selected.Text;
sHYBM:=MyCutString(True,TrvHYAA.Items[0].Text);
SV:='Select B.*,A.sFZ,A.sHYBM from TAD03_HYCJR A,TBD01_RYXX B Where A.ID = B.sFZID';
Str:='Select * from ('+SV+') A Where A.sFZ ='+''''+sFenZu+''''
+' And sHYBM ='+''''+sHYBM+'''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
DMOA.ADOQry.First; ListBox2.Items.Clear;
While not DMOA.ADOQry.Eof do begin
Str:=Trim(DMOA.ADOQry.FieldByName('sKH').AsString)
+' '+Trim(DMOA.ADOQry.FieldByName('sMC').AsString)
+' '
+Trim(DMOA.ADOQry.FieldByName('sFZID').AsString);
ListBox2.Items.Add(Str);
DMOA.ADOQry.Next;
end;
Panel18.Caption:='人数:'+IntToStr(ListBox2.Items.Count);
end;
procedure TFrmMain.SpeedButton23Click(Sender: TObject);
begin
if TrvE.Selected = nil then Exit;
if TrvE.Selected.AbsoluteIndex = 0 then Exit;
FrmTY:=TFrmTY.Create(nil);
FrmTY.sHYBM:=MyCutString(True,TrvE.Selected.Text);
FrmTY.sHYMC:=MyCutString(False,TrvE.Selected.Text);
FrmTY.Pinit();
FrmTY.ShowModal;
end;
procedure TFrmMain.TrvHYChange(Sender: TObject; Node: TTreeNode);
var
Str,sHYBM:String;
begin
ComboBox1.ItemIndex:=0;
if TrvHY.Selected = nil then Exit;
if TrvHY.Selected.AbsoluteIndex = 0 then Exit;
sHYBM:=MyCutString(True,TrvHY.Selected.Text);
Str:='Select * from TAD03_HYFZ Where sHYBM ='+''''+sHYBM+''''
+' Order by iNo ';
FCarryOutSQL(DMOA.ADOQry,Str,True);
PFillComBoBoxA(ComboBox2,'sMC',DMOA.ADOQry);
end;
procedure TFrmMain.SpeedButton8Click(Sender: TObject);
var
Str,sHYBM,sID:String;
I:integer;
begin
if TrvHYAA.Selected = nil then Exit;
if TrvHYAA.Selected.AbsoluteIndex = 0 then Exit;
I:=ListBox2.ItemIndex;
if I < 0 then Exit;
if not DlgYesNo('的确要删除该人员信息吗?') then Exit;
sHYBM:=MyCutString(True,TrvHYAA.Items[0].Text);
Str:=ListBox2.Items.Strings[I];
Str:=MyCutString(False,Str);
sID:=MyCutString(False,Str);
Str:=' delete from TAD03_HYCJR Where sHYBM ='+''''+sHYBM+''''
+' And ID ='+''''+sID+'''';
if FCarryOutSQL(nil,Str,False) then ListBox2.Items.Delete(I);
end;
procedure TFrmMain.SpbtnRefreshClick(Sender: TObject);
var
Str,SV,sHYBM:String;
begin
if TrvHY.Selected = nil then Exit;
sHYBM:=MyCutString(True,TrvHY.Selected.Text);
SV:='Select A.*,B.sCHLB,B.sFZ from TAD01_KQJL A,TAD03_HYCJR B'
+' Where A.sHYBM = B.sHYBM And A.FZID = B.ID';
SV:='Select A.*,B.sMC,B.sJB,B.sKH As sKH0 from ('+sV+') A,TBD01_RYXX B Where A.FZID = B.sFZID';
Str:='Select * from ('+sV+') A Where sHYBM = '+''''+sHYBM+'''';
if Trim(EdtKHMC.Text) = '' then begin
if not CBoxHYLB.Checked then
Str:=Str+ ' And sCHLB ='+''''+ComboBox1.Text+'''';
if not CBoxFenZua.Checked then
Str:=Str+ ' And sFZ ='+''''+ComboBox2.Text+'''';
if (CheckBox1.Checked ) and (CheckBox2.Checked = False) then
Str:=Str+' And sSFQD =''是''';
if (CheckBox2.Checked ) and (CheckBox1.Checked = False) then
Str:=Str+' And sSFQD =''否''';
FCarryOutSQL(AdoQ_HYCX,Str,True);
Exit;
end;
Str:=Str+ 'And ( sMC ='+''''+EdtKHMC.Text+'''' +' OR sKH0 = '+''''+EdtKHMC.Text+''''+')';
FCarryOutSQL(AdoQ_HYCX,Str,True);
end;
procedure TFrmMain.CBoxHYLBClick(Sender: TObject);
begin
ComboBox1.Enabled:=not CBoxHYLB.Checked;
end;
procedure TFrmMain.CBoxFenZuaClick(Sender: TObject);
begin
ComboBox2.Enabled:=not CBoxFenZua.Checked;
end;
procedure TFrmMain.SpeedButton28Click(Sender: TObject);
var
Str,sHYBM,sA,sB:String;
begin
if TrvHYB.Selected = nil then Exit;
if TrvHYB.Selected.AbsoluteIndex = 0 then Exit;
sHYBM:=MyCutString(True,TrvHYB.Selected.Text);
SA:='Select * from TAD03_HYCJGY where sHYBM ='+''''+sHYBM+'''';//人找到了
SB:='Select A.*,B.sHYBM from TBD01_RYXX A,('+sA+') B Where A.sFZID = B.ID';//基本信息 连接出来 冗余
Str:='Select A.*,B.sFZ,b.sCHLB,B.sZC,B.SBZ As sBZX from ('
+sB+') A Left Join TAD03_HYCJR B On (A.sFZID =B.ID And '
+' A.sHYBM = B.sHYBM )';
Str:='Select * from ('+Str+') A Where A.sPYBM Like'+''''+Edit6.Text+'%'+''''
+' OR sKH Like'+''''+Edit6.Text+'%'+''''
+' OR sMC Like'+''''+Edit6.Text+'%'+'''';
FCarryOutSQL(ADOQry_HYRen,Str,True);
CDSA.Data:=DSPA.Data;
end;
procedure TFrmMain.SpeedButton29Click(Sender: TObject);
var
Str,sSYSHYBM,sID,sDateYMD,sDateHMS:String;
begin
Str:=Trim(CDSA.FieldByName('sMC').AsString);
if not DlgYesNo('的确要给['+Str+'] 手工签到吗?') then Exit;
Str:=FGetServerDateYMDHS();
sDateYMD:=MyCutString(True,Str);
sDateHMS:=MyCutString(False,Str);
sSYSHYBM:=MyCutString(True,Trim(TrvHYB.Selected.Text));
sID:=Trim(CDSA.FieldByName('sFZID').AsString);
Str:='Update TAD01_KQJL Set '
+'sDateYMD = '+''''+sDateYMD+''''
+',sDateHMS = '+''''+sDateHMS+''''
+',sSFQD =''是'''
+' Where sHYBM = '+''''+sSYSHYBM+''''
+' And FZID ='+''''+sID+''''
+' And sDateYMD IS NULL';
if FCarryOutSQL(nil,Str,False) then DlgWarningA('手工签到成功');
end;
procedure TFrmMain.Edit6Enter(Sender: TObject);
begin
if Edit6.Text = '输入姓名卡号拼音' then Edit6.Text:='';
end;
procedure TFrmMain.Edit6Click(Sender: TObject);
begin
if Edit6.Text = '输入姓名卡号拼音' then Edit6.Text:='';
end;
procedure TFrmMain.SpeedButton24Click(Sender: TObject);
var
sHYBM,sHYMC,Str:String;
SA,SB,sV:String;
S1,S2,S3,S4:String;
begin
if TrvE.Selected = nil then Exit;
if TrvE.Selected.AbsoluteIndex = 0 then Exit;
sHYBM:=MyCutString(True,TrvE.Selected.text);
sHYMC:=MyCutString(False,TrvE.Selected.text);
Str:='Select top 0 sBZ As A1,sBZ As A2,sBZ As A3,sBZ As A4,sBZ As A5,sBZ As A6 from TAD03_HYCJR ';
FCarryOutSQL(ADOQry_HYRen,Str,True);
CDSB.Data:=DSPA.Data;
//-----
SV:='Select * from TAD03_HYCJR Where sHYBM = '+''''+sHYBM+'''';
SV:='Select B.*,A.sCHLB from ('+SV+') A,TAD01_KQJL B Where A.sHYBM = B.sHYBM And A.ID = B.FZID';
Str:='Select * from ('+sV+') A ';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S2:=IntToStr(DMOA.ADOQry.RecordCount);//
Str:='Select * from ('+sV+') A Where A.sSFQD =''是''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S3:=IntToStr(DMOA.ADOQry.RecordCount);//
S1:='所有';
S4:='0';
if StrToInt(S2) <> 0 then
S4:=FloatToStr(StrToInt(S3)/StrToInt(S2)*100);
S4:=MoneyStr(S4,False)+'%';
CDSB.Append;
CDSB.FieldByName('A1').AsString:=sHYBM;
CDSB.FieldByName('A2').AsString:=sHYMC;
CDSB.FieldByName('A3').AsString:=S1;
CDSB.FieldByName('A4').AsString:=s2;
CDSB.FieldByName('A5').AsString:=S3;
CDSB.FieldByName('A6').AsString:=S4;
CDSB.Post;
Str:='Select * from ('+sV+') A Where A.sCHLB =''出席''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S2:=IntToStr(DMOA.ADOQry.RecordCount);//
Str:='Select * from ('+sV+') A Where A.sCHLB =''出席'' And A.sSFQD =''是''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S3:=IntToStr(DMOA.ADOQry.RecordCount);//
S1:='出席';
S4:='0';
if StrToInt(S2) <> 0 then
S4:=FloatToStr(StrToInt(S3)/StrToInt(S2)*100);
S4:=MoneyStr(S4,False)+'%';
CDSB.Append;
CDSB.FieldByName('A1').AsString:=sHYBM;
CDSB.FieldByName('A2').AsString:=sHYMC;
CDSB.FieldByName('A3').AsString:=S1;
CDSB.FieldByName('A4').AsString:=s2;
CDSB.FieldByName('A5').AsString:=S3;
CDSB.FieldByName('A6').AsString:=S4;
CDSB.Post;
{ooooooooooooooooooooooooooooooooooooooooooooooooo}
Str:='Select * from ('+sV+') A Where A.sCHLB =''列席''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S2:=IntToStr(DMOA.ADOQry.RecordCount);//
Str:='Select * from ('+sV+') A Where A.sCHLB =''列席'' And A.sSFQD =''是''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S3:=IntToStr(DMOA.ADOQry.RecordCount);//
S1:='列席';
S4:='0';
if StrToInt(S2) <> 0 then
S4:=FloatToStr(StrToInt(S3)/StrToInt(S2)*100);
S4:=MoneyStr(S4,False)+'%';
CDSB.Append;
CDSB.FieldByName('A1').AsString:=sHYBM;
CDSB.FieldByName('A2').AsString:=sHYMC;
CDSB.FieldByName('A3').AsString:=S1;
CDSB.FieldByName('A4').AsString:=s2;
CDSB.FieldByName('A5').AsString:=S3;
CDSB.FieldByName('A6').AsString:=S4;
CDSB.Post;
{ooooooooooooooooooooooooooooooooooooooooooooooooo}
Str:='Select * from ('+sV+') A Where A.sCHLB =''特邀''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S2:=IntToStr(DMOA.ADOQry.RecordCount);//
Str:='Select * from ('+sV+') A Where A.sCHLB =''特邀'' And A.sSFQD =''是''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S3:=IntToStr(DMOA.ADOQry.RecordCount);//
S1:='特邀';
S4:='0';
if StrToInt(S2) <> 0 then
S4:=FloatToStr(StrToInt(S3)/StrToInt(S2)*100);
S4:=MoneyStr(S4,False)+'%';
CDSB.Append;
CDSB.FieldByName('A1').AsString:=sHYBM;
CDSB.FieldByName('A2').AsString:=sHYMC;
CDSB.FieldByName('A3').AsString:=S1;
CDSB.FieldByName('A4').AsString:=s2;
CDSB.FieldByName('A5').AsString:=S3;
CDSB.FieldByName('A6').AsString:=S4;
CDSB.Post;
{ooooooooooooooooooooooooooooooooooooooooooooooooo}
Str:='Select * from ('+sV+') A Where A.sCHLB =''旁听''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S2:=IntToStr(DMOA.ADOQry.RecordCount);//
Str:='Select * from ('+sV+') A Where A.sCHLB =''旁听'' And A.sSFQD =''是''';
FCarryOutSQL(DMOA.ADOQry,Str,True);
S3:=IntToStr(DMOA.ADOQry.RecordCount);//
S1:='旁听';
S4:='0';
if StrToInt(S2) <> 0 then
S4:=FloatToStr(StrToInt(S3)/StrToInt(S2)*100);
S4:=MoneyStr(S4,False)+'%';
CDSB.Append;
CDSB.FieldByName('A1').AsString:=sHYBM;
CDSB.FieldByName('A2').AsString:=sHYMC;
CDSB.FieldByName('A3').AsString:=S1;
CDSB.FieldByName('A4').AsString:=s2;
CDSB.FieldByName('A5').AsString:=S3;
CDSB.FieldByName('A6').AsString:=S4;
CDSB.Post;
end;
procedure TFrmMain.SpeedButton25Click(Sender: TObject);
var
Str:String;
dlg:TSaveDialog;
begin
dlg:=TSaveDialog.Create(nil);
dlg.DefaultExt:='*.XLS';
dlg.Filter:='Execl文件|*.XLS';
if not dlg.Execute then Exit;
Str:=LowerCase(dlg.FileName);
Str:=MyCutOutStringB('.xls',Str)+'.xls';//扩展名重复问题
dxDBGrid5.SaveToXLS(Str,True);
end;
procedure TFrmMain.SpeedButton20Click(Sender: TObject);
var
Str,S1:String;
I:integer;
begin
I:=0; CDSA.First;
While not CDSA.Eof do begin
Str:=Trim(CDSA.FieldByName('sCHLB').AsString);
if Str = '' then I:=I+1;
CDSA.Next;
end;
S1:='有['+IntToStr(I)+']没有指定参会类别';
I:=0; CDSA.First;
While not CDSA.eof do begin
Str:=Trim(CDSA.FieldByName('sFZ').AsString);
if Str = '' then I:=I+1;
CDSA.Next;
end;
S1:=S1+#13+'有['+IntToStr(I)+']没有指定分组';
//座位检测
Str:=' Select sZC,Count(*) As ict from TAD03_HYCJR Where sZC IS not NULL '
+' Group by sZC ';
FCarryOutSQL(DMOA.ADOQry,Str,True);
DMOA.ADOQry.First;
while not DMOA.ADOQry.Eof do begin
Str:=Trim(DMOA.ADOQry.FieldByName('sZC').AsString);
if DMOA.ADOQry.FieldByName('ict').AsInteger > 1 then begin
S1:=S1+#13+'['+Str+'] 座位重复';
Break;
end;
DMOA.ADOQry.Next;
end;
DlgWarningA(S1);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -