if not QueryCheck.Eof then if tableDetail2D.Active then tableDetail2D.Active := False; try begin tableDetail2D.SQL.Clear; tableDetail2D.SQL.Add('SELECT C.PrtId , C.NKPRTNM , C.FTPrtNm,C.MoldId,C.MCSNo,C.MaterialDesc,C.CfmMold,C.MMCfmFile as cfmFileName,C.PartMoldNo,B.CompleteDate_Tag,B.MoldPurpose,B.MoldCycle'); tableDetail2D.SQL.Add('FROM MoldIssueNotice A,MoldIssueNoticePartsDetail B,Detail2D C'); tableDetail2D.SQL.Add('Where A.IssueNotice=B.IssueNotice AND A.DevCode=C.DevCode AND A.Gender=C.Gender AND A.Size=C.Size AND B.PrtId=C.PrtId'); tableDetail2D.SQL.Add('AND (A.DevCode = :Para1) AND (A.Gender = :Para2) AND (A.Size = :Para3) AND (C.MoldType = :Para4)'); tableDetail2D.Parameters.ParamByName('Para1').Value := txtDevCode.Text; tableDetail2D.Parameters.ParamByName('Para2').Value := txtGender.Text; tableDetail2D.Parameters.ParamByName('Para3').Value := txtSize.Text; tableDetail2D.Parameters.ParamByName('Para4').Value := copy(txtMoldType.Text, 1, 1); tableDetail2D.Active := True; if tableDetail2D.FieldValues['MoldPurpose'] = Null then begin if tableDetail2D.Active = True then tableDetail2D.Active := False; tableDetail2D.SQL.Clear; tableDetail2D.SQL.Add('SELECT PrtId , NKPRTNM , FTPrtNm , MoldId , MCSNo , '); tableDetail2D.SQL.Add(' MaterialDesc , CfmMold , MMCfmFile as cfmFileName ,PartMoldNo'); tableDetail2D.SQL.Add(' , '''' as MoldPurpose , '''' as MoldCycle , '''' as CompleteDate_Tag '); tableDetail2D.SQL.Add('FROM Detail2D WHERE DevCode = :Para1 AND Gender = :Para2 AND Size = :Para3 AND MoldType = :Para4'); tableDetail2D.Parameters.ParamByName('Para1').Value := txtDevCode.Text; tableDetail2D.Parameters.ParamByName('Para2').Value := txtGender.Text; tableDetail2D.Parameters.ParamByName('Para3').Value := txtSize.Text; tableDetail2D.Parameters.ParamByName('Para4').Value := copy(txtMoldType.Text, 1, 1); tableDetail2D.Active := True; tableDetail2D.Next; end; tableDetail2D.Next; end; except end;