dim YourDate as date
YourDate =dtpicker1.value
利用format(YourDate,"yyyy年M月d日 H时m分s秒")得到准确的,不产生歧义的时间格式,拼到SQL语句中
另外:一个警告:不要用Between,因为这个Between相当于闭合区间,而没有考虑到左闭右开,或者左开右闭的情况。
时间的比较,还是左闭右开用得最多。

解决方案 »

  1.   

    补充:
    如果你的数据库不支持中文时间字符串,则改成
    format(YourDate,"yyyy-M-d H:m:s")对于你的程序,Between的替代用法,应该是
    "WHERE BianBaoRiQi >=#" & format(YourDate1,"yyyy-M-d H:m:s") & "# and BianBaoRiQi<#" & format(YourDate2,"yyyy-M-d H:m:s") & "# " 
    ,注意,是左闭右开。否则你试试,某日的 0:0:0 这个时刻,能在前后的两个时间段内都能检索出来,造成BUG.
      

  2.   

    楼上说的让我迷糊了。我想那个替代用法比起用between,处理起来一定是要慢一些的。
      

  3.   

    这应该是Access本身的格式转换问题,其实你到Access里试一下就知道了。
    Between #09-01-01# And #02-07-29#  在Access中会自动转成
    Between #2001-09-01# And #2029-02-07#
    而 Between  #09-01-01# And #02-07-30# 在Access中就会自动转成
    Between #2001-09-01# And #1930-02-07# 自然就查不到数据了。