rs.Filter="字段名>='2001-08-07' and 字段名<'2001-08-07'"
解决方案 »
- vb开发cass遇到的窗口控制的问题
- 怎么让FORM窗体成为MIDFORM窗体?
- 我提一个问题,文本框多行显示,文本长度超过文本框长度后,可用滑动块
- 请教高手,字符串中取数字的问题
- 快快,很菜的问题,我搞不出来了
- 请问有没有类似ListView的控件,但是内容可以马上修改(象Excel)
- 一个关于sqlserver2000中如何判断windows登陆的问题?
- internet选项对话框中的“高级”设置的白框中有各种选项,这个白框是什么控件?
- 怎样用DAO打开foxpro6.0的表格?(急)
- 求救(help)!!!
- 专家分怎样得到的?
- 英文版vb6.0有 listview.fullrowselect=ture这属性么?
问题看上去简单,但我希望各位大侠至少在SQL查询分析器调试通过再回复
我会一直关注,我调试通过马上加分,不够再加
但在ADO的Filter中出错,请再帮我想想办法
?swhere
datediff(d,fdtmdate,'2001-08-07')=0
?rsgrid("fdtmoptime")
2001-8-4 18:19:32
?err.Description
变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。
?err.Number
3001
还有31分在http://www.csdn.net/expert/topic/231/231056.shtm
Dim adoConnection As New ADODB.Connection
Dim adoRecordset As New ADODB.Recordset
adoConnection.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=server\psql2ke"
adoRecordset.Open "select * from [Orders]", adoConnection, adOpenKeyset
Debug.Print adoRecordset.RecordCount
adoRecordset.Filter = "OrderDate='1996-07-04'"
If Not adoRecordset.EOF Then
Debug.Print adoRecordset.GetString
End If
Debug.Print adoRecordset.RecordCount
Dim Conn As New ADODB.Connection, Rs As New ADODB.Recordset
Sql = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=server\psql2ke"
Conn.Open (Sql)
Sql = "select * from T_init where datediff(d,fsrq,'2001-5-11')=0"
Set Rs = Conn.Execute(Sql)
While Not Rs.EOF
Debug.Print Rs(0)
Rs.MoveNext
Wend
上面的程序在VB中调试通过!!!
这样运行不是可以吗,为什么要非要用Filter那??
如果非要用Filter那么就这么解决:
把你的Rs.Filter = "日期字段 = #2001-05-11#"
你的程序修改如下:
Dim Sql As String
Dim Conn As New ADODB.Connection, Rs As New ADODB.Recordset, Rst As New ADODB.Recordset
Sql = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=server\psql2ke"
Conn.Open (Sql)
Sql = "select * from A"
Set Rs = Conn.Execute(Sql)
Rs.Filter = "fsrq = #2001-05-11#"
Set Rst = Rs
While Not Rst.EOF
Debug.Print Rst(0)
Rst.MoveNext
Wend
....................
此程序在VB中调试通过
主要是在Filter中时间的表示是用两个#Date#表示的!
辛苦了 10分,这个问题我已经解决,但新的问题来了,还有50分
大家可以自由发挥,我只要结果把表1:
字段A 字段B 字段C
2001-08-01 233 111.00
2001-08-05 132 222.12和表2:
字段D 字段E
2001-08-03 123
2001-08-05 545查询出如下型式:
字段A 字段B 字段C 字段E
2001-08-01 233 111.00 NULL
2001-08-03 NULL NULL 123
2001-08-05 132 222.12 545