VB+Access97这个问题大家怎么解决的?

mojun 2001-07-04 11:59:59
我用VB6 sp4编程,用Access97作数据库,在Access中用到个
Date/Time型字段存储日期,在VB中我想获得某段时间的数据,
于是在Access中写了个查询,用了两个Date/Time型参数用于
输入起止时间。在VB中我用 ADO的Command对象返回记录集,
但返回的记录时间范围不对。
经检查,发现输入的时间在Access中被转换了,即2001-5-21
成了2021-1-5,可我用的是Date/Time型参数呀,即使把输入
的参数改成格式化日期字符串05/21/2001照样出错。

请问大家是怎么解决的?
谢谢!
...全文
144 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
mojun 2001-07-06
  • 打赏
  • 举报
回复
我已全部转换为日期字符串,跟lianghn(宁河)说的差不多,谢谢大家!
lianghn 2001-07-05
  • 打赏
  • 举报
回复
最好别用日期型,我从DOS平台上开始编程,那时候因为千年虫的问题而放弃了日期型,后来用VB也就不再用日期型,改用10位长度的字符型,一样控制自如的(想怎么写就怎么写,想怎么查就怎么查)。
kingofcats 2001-07-05
  • 打赏
  • 举报
回复
附加一句.刚才的方法是把对方的机子设成长日期型,我个人不支持这种做法.最好就用
Format(date_var,"mm/dd/yyyy") 来做,这样会好一点.
kingofcats 2001-07-05
  • 打赏
  • 举报
回复
Public Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Long '设置控制面板

SetLocaleInfo GetSystemDefaultLCID, 31, "yyyy-MM-dd"

这样就可以设置长日期了.
cqq_chen 2001-07-05
  • 打赏
  • 举报
回复
用API改日期为长格式。
在查询中用Format(date_var,"mm/dd/yyyy")
Ganman 2001-07-05
  • 打赏
  • 举报
回复
你是否设置默认值?
fishzone 2001-07-05
  • 打赏
  • 举报
回复
不要用日期类型,把数据类型全部转换成 string.
format(MyDate,"yyyy-mm-dd").它的排序和查询
返回的结果跟日期类型是一样的。
WeiGuoYao 2001-07-05
  • 打赏
  • 举报
回复
你的SQL语句这样写::
SELECT * FROM TAB1 WHERE TIMETEST >#01-07-02 01:11:00#
语句中的日期必需写成 mm-dd-yy hh:nn:ss 的格式
如果你写成 yyyy-mm-dd hh:nn:ss 的格式将的不到正确的返回。
stardreamsx 2001-07-05
  • 打赏
  • 举报
回复
g
billpower 2001-07-04
  • 打赏
  • 举报
回复
控制面板-日期时间-长日期
mojun 2001-07-04
  • 打赏
  • 举报
回复
我试过format(日期,"YYYY-MM-DD") ,不成功。实际上在VB中就已经转换成了日期型再赋予参数的,所以不管用。 同时,我还在执行完command命令后察看其参数值,参数的日期是对的,返回的结果不正确
billpower 2001-07-04
  • 打赏
  • 举报
回复
楼上说的对!
0208ahui 2001-07-04
  • 打赏
  • 举报
回复
将日期格式化一下,format(日期,"YYYY-MM-DD")
mojun 2001-07-04
  • 打赏
  • 举报
回复
但我不可能去修改别人机器的设置呀。

7,786

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧