"SELECT * FROM doc WHERE " & findtype.Text & " LIKE '%" & findtext.Text & "%' and 档案日期 BETWEEN '#" & CDate(data1.Value) & "#' and '#" & CDate(data2.Value) & "#' "语句的档案日期在数据库里是日期和时间格式,data1和data2都是DTpicker控件,大家帮忙看看这条语句有什么问题吗。。错误主要出在日期段查询那边,前面的关键字查询没有问题.

解决方案 »

  1.   

    "SELECT * FROM doc WHERE '" & findtype.Text & "' LIKE '%" & findtext.Text & "%' and 档案日期 BETWEEN #" & CDate(data1.Value) & "# and #" & CDate(data2.Value) & "#"
      

  2.   

    "SELECT * FROM doc WHERE " & findtype.Text & " LIKE '%" & findtext.Text & "%' And (档案日期 BETWEEN #" & data1.Value & "# and #" & data2.Value & "#) "另外: DTPICKER 取名应该为Date1和Date2, 你用Data1和Data2容易让人误解为Data控件
      

  3.   

    SQL语句多试试不行吗,先在查询管理里试
      

  4.   

    "SELECT * FROM doc WHERE " & findtype.Text & " LIKE '%" & findtext.Text & "%' and 档案日期 BETWEEN '" & CDate(data1.Value) & "' and '" & CDate(data2.Value) & "' "
      

  5.   

    Access使用#表示日期,SQL server使用'
      

  6.   

    "SELECT * FROM doc WHERE " & findtype.Text & " LIKE '%" & findtext.Text & "%' and 档案日期 BETWEEN '#" & FORMAT(data1.Value,"YYYY-MM-DD") & "#' and '#" & FORMAT(data2.Value,"YYYY-MM-DD") & "#' "
      

  7.   

    最近我也遇到这个问题,我想通过两个整型数字来查询年龄段,下面是我的测试between的功能
    但是不能运行,报告说 between语法错误!
           Dim strsql As String = "select * from 学籍 where 出生年月 between #1984-4-4# and #1982-0-0# "   谢谢各位!
      

  8.   

    '数据库为ACCESS:
    strsql="select * from tablename where 日期字段 between # 2004-1-1 # and # 2004-11-25 # "
    '数据为为SQL:
     strsql="select * from tablename where 日期字段 between '2004-1-1' and '2004-11-25' "
      

  9.   

    Dim strsql As String = "select * from 学籍 where 出生年月 between '1984 - 4 - 4 ' AND '1982 - 0 - 0 ')
      

  10.   

    楼主用的是 accesss 还是 sql ?可以按楼上的 Leftie(左手,为人民币服务)  那个来
      

  11.   

    我也遇到过相同的问题.我的解决办法很浪费资源,就是:
    strsql="select 辅助编号 from tablename where 日期字段 = '2004-1-1'"
    记录下两个时间的辅助编号然后再用
    strsql="select * from tablename where 辅助编号 between  () and () "
    不过要时间有顺序才行