📄 ufrma02.pas
字号:
AFM.PSetFxGridAddState(1);
end;
procedure TFrmA02.SpbtnEditClick(Sender: TObject);
begin
if TrvMenu.Selected = nil then Exit;
if TrvMenu.Selected.Level+1 < iICKBMJS then begin
DlgWarningA('只有到 '+Inttostr(iICKBMJS)+' 节点才能编辑数据');
Exit;
end;
if SpeedButton9.Hint = 'Q' then begin
TrvMenu.OnChange(nil,nil);
SpeedButton9.Hint:='';
Exit;
end;
inherited;
AFM.PBingDingCtrlB([nil,nil,AFM.EdtInt,AFM.EdtStrA,AFm.CmbStrA,nil,nil]);
if iKQVersion = 501 then
AFM.PBingDingCtrlB([nil,nil,AFM.EdtInt,AFM.EdtStrA,AFm.CmbStrA,AFM.EdtStrB,nil]);
AFM.FxGrid.OnClick(Sender);
end;
procedure TFrmA02.SpbtnSaveClick(Sender: TObject);
var
Str,sBM,sDel:String;
I:integer;
begin
MyRemoveEmpty(AFM.FxGrid);
sBM:=MyCutString(True,TrvMenu.Selected.Text);
for I:=1 to AFM.FxGrid.Rows-2 do begin
Str:=AFM.FxGrid.TextMatrix[I,0];
if Str = '' then AFM.FxGrid.TextMatrix[I,0]:='A'+FGetFZID(20);//ID
Str:=AFM.FxGrid.TextMatrix[I,2];
{ooooooooooooooo 红瑞科技提出的 学号很长 联合拉通来计算 oooooooooooooo }
if Length(Str) < 2 then AFM.FxGrid.TextMatrix[I,2]:=MyChecKStr(2,Str);//20040804
AFM.FxGrid.TextMatrix[I,1]:=sBM+MyCopy(AFM.FxGrid.TextMatrix[I,2],1,3);//联合编码
end;
Str:=GetGridInsertSQL(['FZID','sBMLH','sBM','sMC','sXB','sKH','iZT'],
[0,1,2,3,4,5,6],
[],'TAD03_XSGY',AFm.FxGrid);
sDel:='Delete From TAD03_XSGY Where sBMLH Like '+''''+sBM+'%'+'''';
if FCarryOutSQL(nil,sDel+' '+Str,False,True) then begin
Afm.PSetFramGridReadOnly();
inherited;
end;
end;
procedure TFrmA02.AFMCmbStrAKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
AFM.CmbStrAKeyPress(Sender, Key);
Key := #0;
end;
procedure TFrmA02.TrvMenuChange(Sender: TObject; Node: TTreeNode);
var
Str,S:String;
begin
if TrvMenu.Selected = nil then Exit;
S:=MyCutString(True,TrvMenu.Selected.Text);
Str:=' Select top 5000 * from TAD03_XSGY Where sBMLH Like '+''''+S+'%'+''''
+' order by sBMLH';
FCarryOutSQL(DM.CDSSysA,Str,True,False);
FillMsFlexGrid(['FZID','sBMLH','sBM','sMC','sXB','sKH','iZT'],
AFM.FxGrid,DM.CDSSysA);
SpeedButton9.Hint:='';
end;
procedure TFrmA02.SpbtnDelClick(Sender: TObject);
var
Str,S:String;
begin
if AFM.FxGrid.row > AFM.FxGrid.rows-2 then Exit;
S:=AFM.FxGrid.TextMatrix[AFM.FxGrid.row,0];
Str:='Select top 1 * from ('+QryV_Del.SQL.Text+') A Where FZID ='+''''+S+'''';
if FGetSQLRecordCount(Str) > 0 then begin
DlgWarningA('该信息已经在其他模块中使用,不能删除');
Exit;
end;
Str:='的确要将 '+AFM.FxGrid.TextMatrix[AFM.FxGrid.row,3]+' 的信息删除吗?';
if not DlgYesNo(Str) then begin
Exit;
end;
Str:=' delete From TAD03_XSGY Where FZID = '+''''+S+'''';
if FCarryOutSQL(nil,Str,False,False) then AFM.FxGrid.RemoveItem(AFM.FxGrid.row);
end;
procedure TFrmA02.SpeedButton9Click(Sender: TObject);
var
Str,S:String;
begin
if SpbtnSave.Enabled then Exit;
if EdtQ.Text = '' then Exit;
S:=EdtQ.Text;
Str:=' Select FZID,sBMLH,sBM,sBJBM,sMC,sXB,sKH,iZT from TAD03_XSGY'
+' Where sMC Like '+''''+S+'%'+''''
+' Union ALL '
+' Select A.FZID,A.sBMLH,A.sBM,A.sBJBM,A.sMC,A.sXB,A.sKH,A.iZT from TAD03_XSGY A '
+' ,TAD04_PYBM B Where A.FZID = B.FZID And B.sPYBM Like '+''''+S+'%'+'''';
Str:='Select * from ('+Str+') A Order by sBMLH';
FCarryOutSQL(DM.CDSSysA,Str,True,False);
FillMsFlexGrid(['FZID','sBMLH','sBM','sMC','sXB','sKH','iZT'],
AFM.FxGrid,DM.CDSSysA);
SpeedButton9.Hint:='Q'; //oooooooooooo查询的结构不能修改oooooooooooo
end;
procedure TFrmA02.EdtQKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key = 13 then SpeedButton9Click(Sender);
end;
procedure TFrmA02.AFMN9Click(Sender: TObject);
var
Str,sID,sLHBM:String;
begin
if AFM.FxGrid.TextMatrix[AFM.FxGrid.row,0] = '' then Exit;
Str:=FSelectJBXX(Self.Name,iICKBMJS);
if Str = '' then Exit;
sID:=AFM.FxGrid.TextMatrix[AFM.FxGrid.row,0];
if sID = '' then Exit;
sLHBM:=Str;
if AFM.FxGrid.TextMatrix[AFM.FxGrid.row,1] = sLHBM then Exit;
Str:=' update TAD03_XSGY Set sBMLH ='+''''+sLHBM+''''
+' Where FZID ='+''''+sID+'''';
if FCarryOutSQL(nil,Str,False,False) then
AFM.FxGrid.RemoveItem(AFM.FxGrid.row);
end;
procedure TFrmA02.AFMPopupMenu1Popup(Sender: TObject);
begin
inherited;
AFm.N9.Enabled:= not SpbtnSave.Enabled;
end;
procedure TFrmA02.SpbtnCancelClick(Sender: TObject);
begin
inherited;
Afm.PSetFramGridReadOnly();
end;
{******************* 检测编码 是否 重复 *************************}
procedure TFrmA02.N7Click(Sender: TObject);
var
Str,S:String;
begin
Str:=' Select sBMLH,count(*) as iCt from TAD03_XSGY Group by sBMLH having count(*) > 1';
FCarryOutSQL(DM.CDSSysA,Str,True,False);
if DM.CDSSysA.RecordCount <= 0 then begin
DlgWarningA('没有重复编码');
Exit;
end;
DM.CDSSysA.First;
Str:='有重复编码,请及时修改:';
While not DM.CDSSysA.Eof do begin
S:=DM.CDSSysA.FieldByName('sBMLH').AsString;
Str:=Str+#13+S;
DM.CDSSysA.Next;
end;
DlgWarningA(Str);
end;
procedure TFrmA02.SpbtnExportClick(Sender: TObject);
begin
PExportFxGridToExcel(Afm.FxGrid);
end;
procedure TFrmA02.SpbtnPrintClick(Sender: TObject);
begin
if TrvMenu.Selected = nil then Exit;
PPrintFxGrid('学生登记信息',[TrvMenu.Selected.text],AFM.FxGrid,44,1,False);
end;
procedure TFrmA02.N8Click(Sender: TObject);
var
Str,sMC,sID:String;
begin
Str:=AFM.FxGrid.TextMatrix[AFM.FxGrid.row,3];
sID:=AFM.FxGrid.TextMatrix[AFM.FxGrid.row,0];
if Str = '' then Exit;
if sID = '' then Exit;
sMC:=DlgInPutBoxA('输入姓名',Str);
if sMC = '' then Exit;
Str:='Update TAD03_XSGY Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TAD03_XSGY Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TAD05_JSGY Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TBD03_JZ Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TBD03_SKJL Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TBD02_JFJL Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TED03_JSXX Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TDD04_XX Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TDD06_KSSK Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TDD05_KSZW Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TDD07_KSBM Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TCD07_TJ Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TCD05_SKJL Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TCD05_BLKQ Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TCD03_QJDJ Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TFD02_XSZX Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TGD02_XJ Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
Str:=Str+' '+'Update TGD03_YD Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
FCarryOutSQL(nil,Str,False,False);
DlgWarningA('姓名修改成功');
AFM.FxGrid.TextMatrix[AFM.FxGrid.row,3]:=sMC;
end;
{******************************************************************************
* 数据导入回忆 在广元经贸中专的操作 *
* 先有Excel文件 再专为文本文件 中间是 Tab件
******************************************************************************}
procedure TFrmA02.PDataIN;
var
dlgSave:TOpenDialog;
Str,sTxt,sFileNameA:String;
fFL:TextFile;
sMC,sXH,sKH,S,sTab:String;
begin
if sSYSUserCode <> 'Admin' then Exit;
if Self.Name <> 'FrmA02' then Exit;
dlgSave:=TOpenDialog.Create(nil);
dlgSave.Filter:='文件(*.TXT)|*.TXT';
if not dlgSave.Execute then Exit;
sFileNameA:=dlgSave.FileName;
dlgSave.Free;
Assignfile(fFL,sFileNameA);//创建文件
ReSet(fFL);
While not Eof(fFL) do begin
sMC:=''; sXH:='';
ReadLn(fFL,sTxt);//标识//文件识别
sTab:=Chr(9);
sTxt:=MyReplaceStrA(Trim(sTxt),sTab,' ');//20040801 Add Fulin
Str:=Copy(sTxt,1,1);
if Str = '#' then begin Continue;
end else begin
S:=MyCutString(False,sTxt);
sXH:=MyCutString(True,sTxt);
sMC:=MyCutString(True,S);
sKH:=MyCutString(False,S);
end;
if sMC <> '' then begin
if sXH = '00' then sXH:='';
//AFM.PFillCaption(['ID','编码','工号','姓名','性别','卡号','卡状态']);
AddGridRow(['','',sXh,sMC,'',sKH,''],Afm.fxGrid);
end;
end;
CloseFile(fFL);
end;
procedure TFrmA02.N9DAClick(Sender: TObject);
begin
inherited;
PDataIN();
end;
procedure TFrmA02.NCSClick(Sender: TObject);
var
Str,sKH,sZT,sID:String;
I:Integer;
pKH:Pchar;
begin
if sSYSUserCode <> 'Admin' then Exit;
if Self.Name <> 'FrmA02' then Exit;
Screen.Cursor:=crHourGlass;
PBeginProgressMax(AFM.FxGrid.Rows-2);
for I:=1 to AFM.FxGrid.Rows-2 do begin
PDoProgressPos(I);
sKH:=AFM.FxGrid.TextMatrix[I,5];
sZT:=AFM.FxGrid.TextMatrix[I,6];
sID:=AFM.FxGrid.TextMatrix[I,0];
if sID = '' then begin
Screen.Cursor:=crDefault;
DlgWarningA('表格数据没有保存');
PDoCloseProgress();
Exit;
end;
pKH:=PChar(sKH);
if (sZT = '') And (Length(sKH)=7) then begin
if not FCheckICKA(sKH) then Continue;
if not FICKFK(1,pKH,0,'0') then begin
DlgWarningX('操作失败 sKH ='+sKH);
Continue;
end;
Str:='Update TAD03_XSGY Set iZT =''启用'' Where FZID ='+''''+sID+'''';
if FCarryOutSQL(nil,Str,False,False) then AFM.FxGrid.TextMatrix[I,6]:='启用';
end;
end;
PDoCloseProgress();
Screen.Cursor:=crDefault;
DlgWarningA('传送完成');
end;
procedure TFrmA02.SpbtnRefreshClick(Sender: TObject);
var
Str,sID,sMC,sPYBM:String;
I:Integer;
begin
Str:='select Name As TMC from sysobjects where xtype =''u''';
Str:='Select * from ('+Str+') A Where TMC =''TAD04_PYBM''';
if FGetSQLRecordCount(Str) <=0 then begin
Str:='create table TAD04_PYBM'
+'('
+' FZID varchar(33) null ,'
+' sPYBM varchar(80) null'
+' )';
FCarryOutSQL(nil,Str,False,False);
end;
{ooooooooooooooooo上面是升级代码 如果表不存在oooooooooooooooooooooooooo}
Str:=' Select A.FZID,A.sMC,B.FZID as sFD from TAD03_XSGY A Left Join TAD04_PYBM B'
+' On A.FZID = B.FZID Where B.FZID Is NULL';
FCarryOutSQL(DM.CDSSysA,Str,True,False);
PBeginProgressMax(DM.CDSSysA.RecordCount);
DM.CDSSysA.First;I:=0;
While not DM.CDSSysA.Eof do begin
sID:=Trim(DM.CDSSysA.FieldByName('FZID').AsString);
sMC:=Trim(DM.CDSSysA.FieldByName('sMC').AsString);
sPYBM:=FGetPYSP(sMC);
I:=I+1;PDoProgressPos(I);
Str:=FCreateInSertOneSQL(['FZID','sPYBM'],[sID,sPYBM],[0,1],'TAD04_PYBM');
if sPYBM <> '' then FCarryOutSQL(nil,Str,False,False);
DM.CDSSysA.Next;
end;
PDoCloseProgress();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -