VB数据库查询日期范围
如题,我用VB做的一个数据库查询程序!数据库是Access2003格式,数据库中有个字段是【日期】,这个字段我设的数据类型是日期/时间我这个程序现在要做一个按日期筛选的功...
如题,我用VB做的一个数据库查询程序!
数据库是Access2003格式,数据库中有个字段是【日期】,这个字段我设的数据类型是 日期/时间
我这个程序现在要做一个按日期筛选的功能!
比如:
text1.text=2008-6-17
text2.text=2008-7-12
如何查询17号到12号之间的全部相关信息?
在此高分求答案!
答中并帮助一起解决问题的(你也许说的答案是对的,但要帮助我修改)
再奖励100分!
在此高分求答案!谢谢各位了!
另外,一下条件我怎么调试不通过?
sql = "select * from 维修记录 where 日期>='" & text1.text & "' and 日期<='" & text2.text & "' order by 日期 desc" 展开
数据库是Access2003格式,数据库中有个字段是【日期】,这个字段我设的数据类型是 日期/时间
我这个程序现在要做一个按日期筛选的功能!
比如:
text1.text=2008-6-17
text2.text=2008-7-12
如何查询17号到12号之间的全部相关信息?
在此高分求答案!
答中并帮助一起解决问题的(你也许说的答案是对的,但要帮助我修改)
再奖励100分!
在此高分求答案!谢谢各位了!
另外,一下条件我怎么调试不通过?
sql = "select * from 维修记录 where 日期>='" & text1.text & "' and 日期<='" & text2.text & "' order by 日期 desc" 展开
9个回答
展开全部
说明:
仔细看了看你的代码,你肯定是用combox控件来组合了一个年
月
日的
时间表,其实有个dtpicker控件
可能更适合.但你这样做也没有错,某些情况下也具有优点.
正确使用sql,在这里
你要查询的条件是对的.但你数据库里的日期字段的格式一定要设置正确(相匹配的),否则在查询有于时间变量原因可能会出现意想不到的结果,这就是你错误的原因所在.
下面是你要的sql语句.代入使用即刻
sql="select
*
from
data
where
sf='"
&
text1.text
&"'
and
beteewn
'"&
data1
&"'
and
'"&
data1
&"'"
仔细看了看你的代码,你肯定是用combox控件来组合了一个年
月
日的
时间表,其实有个dtpicker控件
可能更适合.但你这样做也没有错,某些情况下也具有优点.
正确使用sql,在这里
你要查询的条件是对的.但你数据库里的日期字段的格式一定要设置正确(相匹配的),否则在查询有于时间变量原因可能会出现意想不到的结果,这就是你错误的原因所在.
下面是你要的sql语句.代入使用即刻
sql="select
*
from
data
where
sf='"
&
text1.text
&"'
and
beteewn
'"&
data1
&"'
and
'"&
data1
&"'"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
access里面 如果你数据库设置成日期格式 那么比较的时候要用#
sql = "select * from 维修记录 where 日期>=#" & text1.text & "# and 日期<=#" & text2.text & "# order by 日期 desc
这样就可以!~
sql = "select * from 维修记录 where 日期>=#" & text1.text & "# and 日期<=#" & text2.text & "# order by 日期 desc
这样就可以!~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个问题:
我一般的做法是得到所有记录集,将日期型数据的年份,月份,日期用函数得到,然后再进行比较得到你所要的数据.,如果数据量大的话,就用一条SQL语句.你下面的这条语句可以这样改一下
sql = "select * from 维修记录 where 日期>=#" & date(text1.text) & "# and 日期<=#" & date(text2.text) & "# order by 日期 desc"
两边要用#括起来,再加个转换函数吧
我一般的做法是得到所有记录集,将日期型数据的年份,月份,日期用函数得到,然后再进行比较得到你所要的数据.,如果数据量大的话,就用一条SQL语句.你下面的这条语句可以这样改一下
sql = "select * from 维修记录 where 日期>=#" & date(text1.text) & "# and 日期<=#" & date(text2.text) & "# order by 日期 desc"
两边要用#括起来,再加个转换函数吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用FORMAT()是最好的
"select * from 维修记录 where format(日期,'yyyy-mm-dd')>'" & format(text1.text,'yyyy-mm-dd') & "' and format(日期,'yyyy-mm-dd')<'" & format(text2.text,'yyyy-mm-dd') & "'"
"select * from 维修记录 where format(日期,'yyyy-mm-dd')>'" & format(text1.text,'yyyy-mm-dd') & "' and format(日期,'yyyy-mm-dd')<'" & format(text2.text,'yyyy-mm-dd') & "'"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用between 语句.
但是ACCESS的日期你最好不要用日期型.要用字符串型,应该就可以了.
你把你数据库里的类型改下应该就能用了.
但是ACCESS的日期你最好不要用日期型.要用字符串型,应该就可以了.
你把你数据库里的类型改下应该就能用了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询