unit U_SQSMCK; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, MovePanel, cxCheckBox, Menus, ComCtrls, BtnEdit, ShellAPI, cxTextEdit, StrUtils; type TfrmSQSMCK = class(TForm) ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; DS_MainSel: TDataSource; CDS_MainSel: TClientDataSet; cxGridPopupMenu4: TcxGridPopupMenu; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; v3Column1: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; v3Column2: TcxGridDBColumn; Panel2: TPanel; Label10: TLabel; Label11: TLabel; Label5: TLabel; Label4: TLabel; Label9: TLabel; CKPSQty: TEdit; CKOrdNo: TEdit; BaoID: TEdit; CRTime: TDateTimePicker; KHName: TEdit; Button2: TButton; Label6: TLabel; PrtCode: TEdit; Label8: TLabel; PrtCodeName: TEdit; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; MJStr3: TEdit; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Label12: TLabel; CDS_Main: TClientDataSet; CRType: TEdit; Button1: TButton; Label1: TLabel; v3Column4: TcxGridDBColumn; Label7: TLabel; Button3: TButton; ds1: TClientDataSet; batchno: TComboBox; CARNOHZ: TComboBox; Label13: TLabel; SQBatchNoHZ: TEdit; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure FormShow(Sender: TObject); procedure BaoIDKeyPress(Sender: TObject; var Key: Char); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); function YSData(Order_Main10: TClientDataSet): Boolean; procedure Button3Click(Sender: TObject); procedure batchnoDropDown(Sender: TObject); procedure CARNOHZDropDown(Sender: TObject); private { Private declarations } canshu1, FCKOrdNo, FSMStr, JXFlag, fcuowu, FBATCHNO: string; procedure TMPanDuan(); public { Public declarations } end; var frmSQSMCK: TfrmSQSMCK; implementation uses U_DataLink, U_Fun, MMSystem, U_FHSQListSel, U_PBKCListSel; {$R *.dfm} function TfrmSQSMCK.YSData(Order_Main10: TClientDataSet): Boolean; var CRID, YFID, PriceUnit, OrderUnit, FComTaiTou, FromSubID: string; fprice, huilv: double; begin // Result:=False; // fprice:=0; // huilv:=0; // PriceUnit:='RMB'; // with Order_Main10 do // begin // begin // with ADOQueryTemp do // begin // Close; // SQL.Clear; // sql.Add('select *,fPrice=dbo.F_Get_Order_Price(MainID,subID) from JYOrder_Sub Where subID='''+Trim(Order_Main10.fieldbyname('subID').AsString)+''''); // Open; // end; // IF not ADOQueryTemp.IsEmpty then // begin // PriceUnit:=Trim(ADOQueryTemp.fieldbyname('PriceUnit').AsString); // OrderUnit:=Trim(ADOQueryTemp.fieldbyname('OrderUnit').AsString); // fPrice:= ADOQueryTemp.fieldbyname('fPrice').AsFloat; // huilv:= ADOQueryTemp.fieldbyname('huilv').AsFloat; // end; // IF huilv=0 then huilv:=1; // CRID:='0'; // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add(' select * from YF_Money_CR '); // sql.Add(' where mainID='''+Trim(Order_Main10.fieldbyname('mainID').AsString)+''''); // sql.Add(' and subID='''+Trim(Order_Main10.fieldbyname('subID').AsString)+''''); // sql.Add(' and CRTime='''+FormatDateTime('yyyy-MM-dd',CRTime.Date)+'''') ; // sql.Add(' and YFName=''销售金额'' '); // Open; // end; // if ADOQueryTemp.IsEmpty then // begin // if GetLSNo(ADOQueryCmd,YFID,'CS','YF_Money_CR',3,1)=False then // begin // Application.MessageBox('取成品应收最大号失败!','提示',0); // Exit; // end; // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('select * from YF_Money_CR where 1<>1'); // Open; // end; // with ADOQueryCmd do // begin // Append; // FieldByName('YFID').Value:=Trim(YFID); // FieldByName('YFTypeId').Value:=Trim(Order_Main10.fieldbyname('mainID').AsString); // FieldByName('CRID').Value:=StrToInt(CRID); // FieldByName('Filler').Value:=Trim(DName); // FieldByName('CRType').Value:='应收款登记'; // FieldByName('CRFlag').Value:='应收收'; // FieldByName('QtyFlag').Value:=1; // FieldByName('FactoryName').Value:=Trim(TocustName.Text); // FieldByName('CRTime').Value:=Trim(FormatDateTime('yyyy-MM-dd',CRTime.Date)); // FieldByName('YFType').Value:='自动生成'; // FieldByName('Price').Value:=fprice; // FieldByName('HuiLv').Value:=huilv; // FieldByName('BZType').Value:=Trim(PriceUnit); // FieldByName('QtyUnit').Value:=Trim(OrderUnit); // FieldByName('ComTaiTou').Value:=Trim(FComTaiTou); // FieldByName('YFName').Value:='销售金额'; // FieldByName('MainId').Value:=Trim(Order_Main10.fieldbyname('Mainid').AsString); // FieldByName('subID').Value:=Trim(Order_Main10.fieldbyname('subID').AsString); // FieldByName('OrderNO').Value:=Trim(Order_Main10.fieldbyname('OrderNO').AsString); // FieldByName('P_CodeName').Value:=Trim(Order_Main10.fieldbyname('MprtCodeName').AsString); // FieldByName('P_Spec').Value:=Trim(Order_Main10.fieldbyname('MprtSpec').AsString); // FieldByName('P_color').Value:=Trim(Order_Main10.fieldbyname('PRTColor').AsString); // FieldByName('status').Value:='0'; // Post; // end; // end // else // begin // YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); // end; // IF uppercase(OrderUnit)='KG' then // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(B.MJQty4),0) from CK_BanCP_CR A,WFB_MJJY B where A.MJID=B.MJID and A.MainID=YF_Money_CR.MainID and A.subID=YF_Money_CR.subID and A.CRtime=YF_Money_CR.CRTime and A.CRType=''销售出库'') '); // sql.Add(',PS=(select isnull(count(A.mainID),0) from CK_BanCP_CR A where A.maiNID=YF_Money_CR.maiNID and A.subID=YF_Money_CR.subID and A.CRtime=YF_Money_CR.CRTime and A.CRType=''销售出库'') '); // sql.Add(' where YFID='''+Trim(YFID)+''''); // ExecSQL; // end; // end // else // IF (uppercase(OrderUnit)='Y') and (uppercase(Trim(Order_Main10.fieldbyname('QtyUnit').AsString))='M') then // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('update YF_Money_CR Set Qty=(select cast(isnull(Sum(A.Qty),0)/0.9144 as decimal(18,1)) from CK_BanCP_CR A where A.MainID=YF_Money_CR.MainID and A.subID=YF_Money_CR.subID and A.CRtime=YF_Money_CR.CRTime and A.CRType=''销售出库'') '); // sql.Add(',PS=(select isnull(count(A.mainID),0) from CK_BanCP_CR A where A.maiNID=YF_Money_CR.maiNID and A.subID=YF_Money_CR.subID and A.CRtime=YF_Money_CR.CRTime and A.CRType=''销售出库'') '); // sql.Add(' where YFID='''+Trim(YFID)+''''); // ExecSQL; // end; // end // else // IF (uppercase(OrderUnit)='M') and (uppercase(Trim(Order_Main10.fieldbyname('QtyUnit').AsString))='Y') then // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('update YF_Money_CR Set Qty=(select cast(isnull(Sum(A.Qty),0)*0.9144 as decimal(18,1)) from CK_BanCP_CR A where A.MainID=YF_Money_CR.MainID and A.subID=YF_Money_CR.subID and A.CRtime=YF_Money_CR.CRTime and A.CRType=''销售出库'') '); // sql.Add(',PS=(select isnull(count(A.mainID),0) from CK_BanCP_CR A where A.maiNID=YF_Money_CR.maiNID and A.subID=YF_Money_CR.subID and A.CRtime=YF_Money_CR.CRTime and A.CRType=''销售出库'') '); // sql.Add(' where YFID='''+Trim(YFID)+''''); // ExecSQL; // end; // end // else // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(A.Qty),0) from CK_BanCP_CR A where A.MainID=YF_Money_CR.MainID and A.subID=YF_Money_CR.subID and A.CRtime=YF_Money_CR.CRTime and A.CRType=''销售出库'') '); // sql.Add(',PS=(select isnull(count(A.mainID),0) from CK_BanCP_CR A where A.maiNID=YF_Money_CR.maiNID and A.subID=YF_Money_CR.subID and A.CRtime=YF_Money_CR.CRTime and A.CRType=''销售出库'') '); // sql.Add(' where YFID='''+Trim(YFID)+''''); // ExecSQL; // end; // end; // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty*HuiLv'); // sql.Add(' where YFID='''+Trim(YFID)+''''); // ExecSQL; // end; // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add('select * from YF_Money_CR where YFId='''+Trim(YFID)+''''); // Open; // end; // if ADOQueryTemp.FieldByName('Qty').Value=0 then // begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('delete from YF_Money_CR where YFID='''+Trim(YFID)+''''); // ExecSQL; // end; // end; // //Next; // end; // end; // Result:=True; end; procedure TfrmSQSMCK.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmSQSMCK.FormDestroy(Sender: TObject); begin frmSQSMCK := nil; end; procedure TfrmSQSMCK.FormShow(Sender: TObject); begin BaoID.SetFocus; ReadCxGrid('扫描出库', Tv3, '坯布仓库'); CRTime.DateTime := SGetServerDate(ADOQueryTemp); canshu1 := Trim(DParameters1); if canshu1 = 'GY' then begin // SQBatchNoHZ.ReadOnly := False; // CarNoHZ.ReadOnly := False; end; end; procedure TfrmSQSMCK.TMPanDuan(); begin //判断扫描的是发货申请单,还是布匹条码 ,判断是否已经扫描过发货单 ,或者更改了发货单 JXFlag := ''; FSMStr := Trim(BaoID.Text); if Copy(FSMStr, 1, 2) = 'CK' then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from FHSQ_Main where FSID=''' + Trim(FSMStr) + ''''); Open; end; if ADOQueryTemp.IsEmpty then begin JXFlag := '999'; PlaySound('申请单不存在暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; with ADOQueryTemp do begin close; sql.Clear; sql.Add('select * from FHSQ_Main'); sql.Add('where FSID=' + quotedstr(trim(FSMStr))); Open; end; if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then begin JXFlag := '999'; PlaySound('已对账暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; with ADOQueryTemp do begin close; sql.Clear; sql.Add('select * from YF_Money_CR_Sub'); sql.Add('where YFPZNO=' + quotedstr(trim(FSMStr))); Open; // showmessage(sql.Text); end; if ADOQueryTemp.IsEmpty = False then begin JXFlag := '999'; Application.MessageBox('已对账暂停发货!', '提示', 0); // PlaySound('已对账暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; if Trim(CKOrdNo.Text) <> '' then begin FCKOrdNo := Trim(CKOrdNo.Text); end; CKOrdNo.Text := Trim(FSMStr); if FSMStr <> FCKOrdNo then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select B.* '); sql.Add(' from CK_PBCP_CR A'); sql.Add(' inner join WFB_MJJY_PB B on A.MJID=B.MJID'); sql.Add(' where A.CKOrdNO=''' + Trim(CKOrdNo.Text) + ''''); Open; end; SCreateCDS20(ADOQueryTemp, CDS_MainSel); SInitCDSData20(ADOQueryTemp, CDS_MainSel); if CDS_MainSel.IsEmpty = False then Edit1.Text := IntToStr(Tv3.DataController.Summary.FooterSummaryValues[2]) else Edit1.Text := '0'; end; BaoID.Text := ''; JXFlag := '888'; end else begin if Trim(CKOrdNo.Text) = '' then begin JXFlag := '999'; PlaySound('未扫描申请单暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from WFB_MJJY_PB A inner join Cloth_Sub B on A.SubId=B.SubId '); sql.Add('where exists (select * from FHSQ_Main Y where Y.FSId=' + quotedstr(Trim(CKOrdNo.Text)) + ')'); sql.Add('and A.MJID=' + quotedstr(Trim(FSMStr))); Open; end; if ADOQueryTemp.IsEmpty then begin JXFlag := '999'; PlaySound('条码错误暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end else begin if Trim(BatchNo.Text) <> '' then begin if Trim(ADOQueryTemp.fieldbyname('APBatchNo').AsString) <> Trim(BatchNo.Text) then begin JXFlag := '999'; //Application.MessageBox('批号不同暂停发货!', '提示', 0); PlaySound('批号错误暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; end; if Trim(CARNOHZ.Text) <> '' then begin if Trim(ADOQueryTemp.fieldbyname('ZZCARNO').AsString) <> Trim(CARNOHZ.Text) then begin JXFlag := '999'; // PlaySound('批号不同暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); // Application.MessageBox('机台不同暂停发货!', '提示', 0); PlaySound('机台号错误暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; end; if Trim(MJStr3.Text) <> '' then begin if Trim(ADOQueryTemp.fieldbyname('MJStr3').AsString) <> Trim(MJStr3.Text) then begin JXFlag := '999'; PlaySound('色别不同暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; end; if Trim(CarNoHZ.Text) <> '' then begin if Pos(Trim(ADOQueryTemp.fieldbyname('CarNo').AsString), Trim(CarNoHZ.Text)) <= 0 then begin JXFlag := '999'; PlaySound('机台不同暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; end; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select A.CKOrdNo from CK_PBCP_CR A inner join Cloth_Sub B on A.SubId=B.SubId '); sql.Add('where exists (select * from FHSQ_Main Y where Y.FSId=' + quotedstr(Trim(CKOrdNo.Text)) + ')'); sql.Add(' and A.MJID=' + quotedstr(Trim(FSMStr))); sql.Add(' and A.CRFlag=''出库'' '); Open; end; if ADOQueryTemp.IsEmpty = False then begin if Trim(ADOQueryTemp.fieldbyname('CKOrdNo').AsString) = Trim(CKOrdNo.Text) then begin JXFlag := '999'; PlaySound('已扫描.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end else begin JXFlag := '999'; PlaySound('已出库暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select A.CKOrdNo from CK_PBCP_CR A inner join Cloth_Sub B on A.SubId=B.SubId '); sql.Add('where exists (select * from FHSQ_Main Y where Y.FSId=' + quotedstr(Trim(CKOrdNo.Text)) + ')'); sql.Add(' and A.MJID=' + quotedstr(Trim(FSMStr))); sql.Add(' and A.CRFlag=''入库'' '); Open; end; if ADOQueryTemp.IsEmpty then begin JXFlag := '999'; PlaySound('未入库暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; if Trim(Edit1.Text) <> '' then begin if StrToInt(Edit1.Text) >= StrToInt(CKPSQty.Text) then begin JXFlag := '999'; PlaySound('超出发货上限暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; end; end; //判断扫描的是发货申请单,还是布匹条码 ,判断是否已经扫描过发货单 ,或者更改了发货单 FHDate end; procedure TfrmSQSMCK.BaoIDKeyPress(Sender: TObject; var Key: Char); var maxno, SMFlag, KYCKFlag, FMainId: string; FFQty: Integer; begin if Key = #13 then begin TMPanDuan(); if Trim(JXFlag) = '999' then begin BaoID.Text := ''; fcuowu := '错误'; Exit; end; if Trim(JXFlag) = '888' then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select A.*,MJStr3=A.SeBie,KHName=CustomerNoName,CKPSQty=A.SQPSHZ '); sql.Add(' from FHSQ_Main A'); sql.Add(' where FSId=''' + Trim(CKOrdNo.Text) + ''' '); Open; end; SCSHDataNew(ADOQueryTemp, Panel2, 2); // SQBatchNoHZ.text := Trim(ADOQueryTemp.fieldbyname('FHBatchNo').AsString); Exit; end; with ADOQueryTemp do begin close; sql.Clear; sql.Add(' select A.*,B.CRID from WFB_MJJY_PB A'); sql.Add(' inner join CK_PBCP_CR B on A.MJID=B.MJID and B.CRFlag=''入库'' '); sql.Add(' where A. MJID=''' + Trim(BaoID.Text) + ''''); Open; end; SCreateCDS20(ADOQueryTemp, CDS_Main); SInitCDSData20(ADOQueryTemp, CDS_Main); try with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CK_PBCp_KC where MJID=''' + Trim(BaoID.Text) + ''''); sql.Add(' and KCKGQty>0'); Open; end; if ADOQueryTemp.IsEmpty then begin KYCKFlag := '不能出库'; end else begin KYCKFlag := '能出库'; end; if Trim(KYCKFlag) = '能出库' then begin ADOQueryCmd.Connection.BeginTrans; if trim(SQBatchNoHZ.Text) <> '' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update WFB_MJJY_PB set ckbatchno=''' + Trim(SQBatchNoHZ.Text) + ''''); SQL.Add('where mjid=''' + Trim(BaoID.Text) + ''''); ExecSQL; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('exec P_Do_PBCK @CRFlag=''直接出库'', @CKOrdNo=' + quotedstr(trim(CKOrdNo.Text)) + ', @MJID=' + quotedstr(trim(CDS_Main.fieldbyname('MJID').asstring)) + ', @DName=' + quotedstr(trim(DName))); ExecSQL; end; FMainId := Trim(CDS_Main.fieldbyname('MainID').AsString); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('exec P_Do_FHSQ ''' + Trim(CKOrdNo.Text) + ''''); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; with CDS_MainSel do begin Append; FieldByName('Mainid').Value := Self.CDS_Main.fieldbyname('Mainid').Value; FieldByName('SubID').Value := Self.CDS_Main.fieldbyname('SubID').Value; FieldByName('MJMaoZ').Value := Self.CDS_Main.fieldbyname('MJMaoZ').Value; FieldByName('MJId').Value := Self.CDS_Main.fieldbyname('MJId').Value; FieldByName('APXH').Value := Self.CDS_Main.fieldbyname('APXH').Value; FieldByName('MJStr3').Value := Self.CDS_Main.fieldbyname('MJStr3').Value; FieldByName('CarNo').Value := Self.CDS_Main.fieldbyname('CarNo').Value; FieldByName('APBatchNo').Value := Self.CDS_Main.fieldbyname('APBatchNo').Value; Post; end; if CDS_MainSel.IsEmpty = False then Edit1.Text := IntToStr(Tv3.DataController.Summary.FooterSummaryValues[2]) else Edit1.Text := '0'; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select COUNT(*) fhjs from CK_PBCP_CR where CKOrdNo= ''' + Trim(CKOrdNo.Text) + ''''); Open; end; if StrToInt(Edit1.Text) <> ADOQueryTemp.FieldByName('fhjs').AsInteger then begin PlaySound('数据保存失败暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); Application.MessageBox('出库异常,请重新选择申请单!', '提示', 0); end; BaoID.Text := ''; PlaySound('正确.wav', 0, SND_FILENAME or SND_ASYNC); Exit; end; except BaoID.Text := ''; PlaySound('数据保存失败暂停发货.wav', 0, SND_FILENAME or SND_ASYNC); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('出库异常!', '提示', 0); end; end; end; procedure TfrmSQSMCK.Button2Click(Sender: TObject); begin Close; WriteCxGrid('扫描出库', Tv3, '坯布仓库'); end; procedure TfrmSQSMCK.Button1Click(Sender: TObject); var MKey: Char; begin MKey := #13; try frmFHSQListSel := TfrmFHSQListSel.Create(self); with frmFHSQListSel do begin if ShowModal = 1 then begin BaoID.Text := Trim(Order_Main.fieldbyname('FSID').AsString); BaoIDKeyPress(BaoID, MKey); end; end; finally frmFHSQListSel.Free; end; end; procedure TfrmSQSMCK.Button3Click(Sender: TObject); var MKey: Char; begin MKey := #13; fcuowu := '1'; try frmPBKCListSel := TfrmPBKCListSel.Create(Application); with frmPBKCListSel do begin FCKOrdNo := trim(CKOrdNo.text); FCarNoHZ := trim(CarNoHZ.text); FBATCHNO := Trim(batchno.text); fkey1 := leftstr(Trim(SQBatchNoHZ.Text), 4); if ShowModal = 1 then begin with frmPBKCListSel.CDS_Main do begin First; while not Eof do begin if Fieldbyname('ssel').AsBoolean then begin BaoID.Text := Trim(Fieldbyname('MJID').AsString); BaoIDKeyPress(BaoID, MKey); if fcuowu = '错误' then begin Break; end; Sleep(200); end; Next; end; end; end; end; finally frmPBKCListSel.Free; end; end; procedure TfrmSQSMCK.batchnoDropDown(Sender: TObject); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select distinct batchno '); sql.Add(' from FHSQ_SUB B '); sql.Add(' where FSId=''' + Trim(CKOrdNo.Text) + ''' '); Open; end; BatchNo.Items.Clear; while not ADOQueryTemp.eof do begin batchno.Items.Add(ADOQueryTemp.fieldbyname('BATCHNO').AsString); ADOQueryTemp.next; end; end; procedure TfrmSQSMCK.CARNOHZDropDown(Sender: TObject); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' exec P_Do_carno''' + Trim(CKOrdNo.Text) + ''' '); Open; end; CARNOHZ.Items.Clear; while not ADOQueryTemp.eof do begin CARNOHZ.Items.Add(ADOQueryTemp.fieldbyname('carno').AsString); ADOQueryTemp.next; end; end; end.