vb中数据集filter属性问题

lixb 2004-08-24 10:49:01
是不是不允许用OR条件的,用了OR就老说参数错,各位大虾探讨下,谢过
...全文
116 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ryuginka 2004-08-24
干嘛不用查询语句啊
回复
Andy__Huang 2004-08-24
Filter用於過濾記錄集啊!數上是做什麼的?
回复
阿泰 2004-08-24
MSDN里有较详细的解释,OR是可以用的,但是如果和AND连用,就要变通一下

新建个工程,拖个按钮上去
然后再工程中引用ADO
把这段代码拷贝进去


Private Sub Command1_Click()
Dim rst As New ADODB.Recordset
Dim i As Integer
rst.CursorLocation = adUseClient
'构建记录集结构
With rst.Fields
.Append "x", adChar, 1
.Append "y", adChar, 1
End With
rst.Open
'初始化数据
For i = 0 To 5
rst.AddNew
rst("x") = "5"
rst("y") = CStr(i + 2)
rst.Update
Next
'单纯用OR
rst.Filter = "x='5' or y='3'"
MsgBox rst.RecordCount
'单纯用AND
rst.Filter = "x='5' and y='3'"
MsgBox rst.RecordCount

'传统的思维方法,在这里是不能正确运行的
'rst.Filter = "x='5' and (y='3' or y='4')"
'MsgBox rst.RecordCount

'把代码拆开,就可以了
rst.Filter = "(x='5' and y='3') or (x='5' and y='4')"
MsgBox rst.RecordCount
End Sub
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-08-24 10:49
社区公告
暂无公告