是在VB中执行的,要用SQL SERVER 中怎么写筛选条件啊在收付表中有收付类型和交(提)货时间,想把收付类型为收款并且距离当前日期小于十天的合同找到,怎么写啊
Option Explicit
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
   Icon = LoadPicture(App.Path & "\favicon.ico")
   rs.Open "Select * From 收付表 Where 收付类型='收款' AND abs( DATEDIFF (dd,收付表.交(提)货日期, GETDATE()) )<= 10", cn, adOpenKeyset, adLockOptimistic
    Set DataGrid1.DataSource = rs
    If rs.RecordCount = 0 Then MsgBox "无此合同"
 End Sub
这段代码运行结果总是显示无此合同。但是,当把条件单独写为收付类型='收款' 时可以找到符合要求的合同,那么后面的查询语句到底出了什么问题哇

解决方案 »

  1.   

    DATEDIFF (dd,交(提)货日期, Now))<= 10
      

  2.   

    最后一个参数应该用date()吧
      

  3.   

    http://download.csdn.net/source/1644211
      

  4.   

     rs.Open "Select * From 收付表 Where 收付类型= '收款' And  datediff( dd,交(提)货时间,getdate())<=10 ", cn, adOpenKeyset, adLockOptimistic   我是这样写的,哪里有问题呀
      

  5.   


    我知道哪里错了,我没有用sql server ,用的access,想死
      

  6.   

    datediff("d",交(提)货时间,getdate())<=10