我有一段程序(如下),是想通过DTPicker控件查询指定日期的记录
Private Sub Command1_Click()
If rs.State = adStateOpen Then rs.Close
rs.Open "SELECT * FROM 采购表 WHERE 日期 = " & DTPicker1.Value & "", cn, adOpenDynamic, adLockOptimistic
Set MSHFlexGrid1.DataSource = rs
End Sub明明数据库里确实存在符合查询时间的记录,但却在MSHFlexGrid却显示不出来,而如果我把查询语句设为
rs.Open "SELECT * FROM 采购表 ", cn, adOpenDynamic, adLockOptimistic
来查询,就可以查出所有数据,但我看到“日期”字段中显示的时间格式为“2000-7-16 00:00:00”,我在access数据库里设了该字段类型为“短日期”,也在DTPicker控件属性的格式设置为“1--dtpShortdate”
我真的已经没有办法了,麻烦大家帮帮忙。谢谢!
Private Sub Command1_Click()
If rs.State = adStateOpen Then rs.Close
rs.Open "SELECT * FROM 采购表 WHERE 日期 = " & DTPicker1.Value & "", cn, adOpenDynamic, adLockOptimistic
Set MSHFlexGrid1.DataSource = rs
End Sub明明数据库里确实存在符合查询时间的记录,但却在MSHFlexGrid却显示不出来,而如果我把查询语句设为
rs.Open "SELECT * FROM 采购表 ", cn, adOpenDynamic, adLockOptimistic
来查询,就可以查出所有数据,但我看到“日期”字段中显示的时间格式为“2000-7-16 00:00:00”,我在access数据库里设了该字段类型为“短日期”,也在DTPicker控件属性的格式设置为“1--dtpShortdate”
我真的已经没有办法了,麻烦大家帮帮忙。谢谢!
解决方案 »
- 请教,通过com1读取温度计数据
- 你们打印报表都在用什么做的? 水晶报表?还有其它的吗? 谢谢
- 用winsock实现点对点通信,在局域网内没问题,可在都有ip的远程计算机之间就连接不上??头痛!
- 一个用Textout()在picturebox上输出文字的问题
- 关于findwindow和findwindowEx两个API问题!谢谢!
- 如何使编的程序在2000server下隐身
- 谁能解决?一定加分!!!
- 高分求助!怎样用程序修改桌面?
- db_controls 吵什么吵???????
- 如何对程序进行数据源的动态注册,以及在程序中自动加如各种ODBC的驱动程序
- mpeg,的屏幕大小能调整吗
- maskedbox控件如何给它初始值?
谢谢你,真的可以了,原因就这么简单。
但现在还有一个小问题,就是查询结果里显示的日期格式是“2004-7-16 00:00:00”这样的格式,能不能让它不要显示时分秒呢?
ACCESS数据库:rs.Open "SELECT * FROM 采购表 WHERE 日期 = #" & DTPicker1.Value & "#", cn, adOpenDynamic, adLockOptimistic其他数据库
rs.Open "SELECT * FROM 采购表 WHERE 日期 = '" & DTPicker1.Value & "'", cn, adOpenDynamic, adLockOptimistic
你好,我真的在access里设了它的类型为“短日期”了,在access时看,它也没有时分秒的,但到发MSHFlexGrid里就看得到了:(
for i=1 to fg.rows
fg.textmatrix(i,col)=format(fg.textmatrix(i,col),"yyyy年MM月dd日")
next
不过从楼主的SQL语句里看出来,楼主对数据库中的日期类型不太熟悉,我将不同数据库日期类型的查询都说出来也未尝不可,难道有问题吗?~~~~~~TO:楼主
如果你数据库中已经设置了短日期,绑定后显示的还是长日期格式的话,看来只有手工修改了!!
如小狮所说!!!不过还是建议不要用绑定,比较灵活!!!
我试了,还是不行!
谢谢你们,对于我这个初学VB的人来讲,是到处碰钉的,程序做着做着就这个问题那个问题的,有很多在书上也难找答案,自从有同学介绍我上这里后,我真是觉得很开心,我觉得这里的人又叻又乐意帮人,每次发贴都能得到回应,所以真的很衷心谢谢大家。
我不是很明白,是不是应该把你的代码写在Set MSHFlexGrid1.DataSource = rs之后啊?
...
dim objCon as new adodb.connection
dim objRs as new adodb.recordset
dim lngRow as long,lngCol as long
...
objcon.connectionstring="..."
objcon.open
objrs.open "SELECT * FROM 采购表 WHERE 日期 = #" & DTPicker1.Value & "#", cn, adOpenDynamic, adLockOptimistic
with fg'msflexgrid控件对象
.cols=objrs.fields.count
.rows=objrs.recordcount
for lngrow=1 to .rows
for lngcol=1 to .cols
.textmatrix(lngrow,lngcol)=objrs.fields(lngcol-1).value
next
objrs.movenext
next
end with
objrs.close
objcon.close
set objrs=nothing
set objcon=nothing
strsql="insert into 采购表 (日期) values (#" & format(日期变量,"yyyy年MM月dd日") & "#)"是要写在那句之后的
ACCESS数据库:rs.Open "SELECT * FROM 采购表 WHERE 日期 = #" & DTPicker1.Value & "#", cn, adOpenDynamic, adLockOptimistic其他数据库
rs.Open "SELECT * FROM 采购表 WHERE 日期 = '" & DTPicker1.Value & "'", cn, adOpenDynamic, adLockOptimistic
谢谢