procedure ReQuery; begin with TmpQuery do begin sql.Clear; sql.Add(''select A.cCKLSID,A.cYL as 产品,A.cGG as 规格,A.cDW as 单位,A.cCKLSNumber as 数量,A.cCKLSDate as 日期,U.cUserName as 经手人 from ''+DBCKLSName+''Ku A,UserKu U''); sql.add(''Where (((A.cCKID=:cCKID) and (A.cYLLBID = :cYLLBID)) and (A.cJSRID=U.cUserID)) ''+TmpString); sql.add(''order by A.cCKLSID desc''); ParamByName(''cYLLBID'').AsInteger:=cYLLBID ; ParamByName(''cCKID'').AsInteger:=cCKID ; open; FieldByName(''cCKLSID'').Visible:=F; end; end; procedure TPMOnClick(TS:String); var C,IsIf:Boolean; begin C:=True; IsIf:=True; IF (TS=''经手人'') and IsIf then begin TmpString:=InputBox(''请输入:'', ''经手人姓名或编号'', ''''); if Trim(TmpString)='''' then C:=False else begin TmpString:='' and ((U.cUserName="''+TmpString+''") or (U.cUserBH="''+TmpString+''")) ''; end; IsIf:=False; end; if IsIf then begin //....... end; if C then ReQuery; end;
begin TmpString:=''''; TempForm:=TTempForm.create(Self); TmpQuery:=TQuery.Create(Self); with TmpQuery do begin DatabaseName:=MainForm.Database1.DatabaseName; close; sql.Clear; sql.Add(''select getdate() as Mydate''); open; MyDate:=FieldByName(''Mydate'').AsDateTime; close; DBCKLSName:=''CKLS''+formatdatetime(''YYYYMM'',MyDate); MainForm.Create_CKLSKu(DBCKLSName); close; end; TmpPopupMenu.Create(Self); with TmpPopupMenu do begin Items.Clear; Items.Add(TempTMI); Items.Items[1].Caption:=''根据经手人筛选'';//这里的1可能用得不怎样,能可个好的建议吗? Items.Items[1].OnClick:=TPMOnClick(''经手人'');//在这里不能通过 //.....有可能的话可以再加几个菜单项。 end; with TempForm do begin DataSource1.DataSet:=TmpQuery; with DBGrid1 do begin DataSource:=DataSource1; PopupMenu:=TmpPopupMenu; end; end; ReQuery; with TempForm do begin WindowState:=wsMaximized; ShowModal; end; end;