strTemp:=strTemp+'and BusiPay.PayData>='+inttostr(cboTime.ItemIndex+1)+' and BusiPay.PayData<='+inttostr(cboTimeend.ItemIndex+1);
BusiPay.PayData为yyyy-mm-dd
现在要匹配的是日子DD
cboTime.ItemIndex 里是DD

解决方案 »

  1.   

    strTemp:=Format(strTemp+'and Day(BusiPay.PayData) between %d and %d',[cboTime.ItemIndex+1,cboTimeend.ItemIndex+1])
      

  2.   

    运行程序说至少一个参数没被指定值啊
    是不是应该把strTemp放到外面来啊
      

  3.   

    strTemp+Format('and Day(BusiPay.PayData) between %d and %d',[cboTime.ItemIndex+1,cboTimeend.ItemIndex+1])把你上面的结果输出来 --》 贴出来看看!!!
      

  4.   

    'and Day(BusiPay.Paydata) between 1 and 1'
      

  5.   

    strTemp+Format('and Day(BusiPay.PayData) between %d and %d',[cboTime.ItemIndex+1,cboTimeend.ItemIndex+1]) 
    一起输出来,我估计是你的SQL语句有问题
      

  6.   

    select datayear,Memoo,MID(PaySumId,1,2) as PayMonth,PayId,NoId,Eid,ECode,EName,Bid,BName,Iid,IName,Mid,MName,BKid,BKname,ekid,ekname,IPid,IPname,Pid,Pname,wid,vid,PayMoney,Checkmoney,approvemoney,SettleType,SettleNo,Purpose,Payer,PayBank,PayBankAccount,Receiver,ReceiveBank,RecBankAccount,BankId,InputDate,UserId,PayBackFlag,BackFlag,PayDate,( IIF(PayBackFlag='0','退款','正常')) as PayBackFlag1, ( IIF(BackFlag='0','退回','正常')) as BackFlag1, ( IIF(PrePayFlag='0','正常','预拨款')) as PrePayFlag1 from vwBusiPay where DataYear=2009 and PayType='0' and BusiPay.PayMonth=7 and Day(BusiPay.Paydata) between 1 and 29 order by PaySumId,Eid,Bid,Iid,Mid,Pid,IPid
    运行时它让我输入BusiPay.Paydata的值
    我是想从数据库中的数据取DAY值啊
      

  7.   

    大哥你太牛啦,我把字段paydate写成paydata去啦