Set conIn = New ADODB.Connection
Set recIn = New ADODB.Recordset
Set comIn = New ADODB.Command
数据库连接没问题strComString = "select * from inrecord where (g_Name= '" & Trim(txtName.Text) & " ') and ((in_Date<= '  & CDate(dtpLdate) &  ') and (in_Date>=  " & CDate(dtpFdate) & "  )) and (memo=' " & Trim(txtMemo.Text) & " ')"
comIn.CommandText = strComString
Set vsfgIn.DataSource = comIn.Execute数据库都连接好了,没问题,执行查询的时候总是查不出结果来,select * from inrecord where (g_Name= '" & Trim(txtName.Text) & " ') 这段好像没错,能查出结果来,感觉问题出在and ((in_Date<= '  & CDate(dtpLdate) &  ') and (in_Date>=  " & CDate(dtpFdate) & "  )) 这一段上,加上这一段就出不来。这一句我是实现查询数据库中产品的入库日期在dtpFdate和dtpLdate之间的产品,dtpFdate和dtpLdate是两个DTPicker控件
请各位高手给指点一下((in_Date<= '  & CDate(dtpLdate) &  ') and (in_Date>=  " & CDate(dtpFdate) & "  ))这句应该怎样写才对。谢谢

解决方案 »

  1.   

    在执行sql前
    msgbox strComString记录下显示的内容,在分析修改。
      

  2.   

    and (in_Date<= '  & format(dtpLdate,"yyyy-mm-dd") &  ' and in_Date>=  " & foramt(dtpFdate,"yyyy-mm-dd") & "  )
      

  3.   

    我用过了
     MsgBox "select * from inrecord where (g_Name= " & Trim(txtName.Text) & ") and ((in_Date<= " & CDate(dtpLdate) & ") and (in_Date>=  " & CDate(dtpFdate) & "  )) and (memo=' " & Trim(txtMemo.Text) & " ')"
    msgbox显示的是:
    select * from inrecord where (g_Name="***")and((in_Date<=2005-7-31)and(in_Date>=2005-7-31))and(memo="")
      

  4.   

    没有报错就说明你的SQL语句在语法上没有错,可能没有可潢足你的条件的记录
      

  5.   

    1、你可以先用此SQL语句放在查询分析器里执行一次,查看是否有记录?
    2、你可以先将执行结果保存在RecordSet对象中,并加入一段调试用的,
       可以查看你的数据库连接,查询结果是否正确3、如果上面(1)查出有记录,而2又执行正确,那请检查你的
    Set vsfgIn.DataSource = comIn.Execute
    的设置是否正确,并进行手动刷新一次控件
      

  6.   

    我用得是access啊,不是sqlserver,access没有查询分析器吧??
      

  7.   

    (in_Date<=2005-7-31) and (in_Date>=2005-7-31)
    你7月31号有数据吗?实际上你的查询语句只能查找2005-7-31号的数据
      

  8.   

    没语可以在VB中“外接程序”->“可视化数据管理器”中测试一下。select * from inrecord where (g_Name="***")and((in_Date<=2005-7-31)and(in_Date>=2005-7-31))and(memo="")
    中,应该是g_Name='***'和memo=''吧,SQL语句中是单引号吧,不过你原语句写的不错。
      

  9.   

    我记得在assce里面的日期格式是  #1999-01-01#  要加上##
      

  10.   

    噢,好像记得access日期格式需要加上两个##,我弄了半天也弄不出来,谁帮一下。