如何解决遇到的“行集不支持反向提取”?谢谢大家!

foshan 2006-03-10 03:14:53
以下的代码当运行到 Rs1.MoveLast 又出现 “行集不支持反向提取” 的错误提示,如何解决这个问题,请大家帮助,谢谢大家!


Private Sub Form_Load()
Dim Sql1 As String
Dim Stpath As String
Dim intRecCount As Integer
Dim i As Integer
Dim Rs1 As New ADODB.Recordset
If App.PrevInstance Then '检视前一版本
MsgBox "合同管理系统已启动!", 48
End
End If
' Stpath = App.Path & "\" & "db1.mdB" & ";Jet OLEDB:Database Password=" & "8"
' Cnn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & Stpath
Cnn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=a;Password=1234;Initial Catalog=a;Data Source=明"

Sql1 = "select DISTINCT 部门 from 用户权限"
Rs1.Open Sql1, Cnn, adOpenKeyset, adLockBatchOptimistic
Rs1.MoveLast
intRecCount = Rs1.RecordCount
Rs1.MoveFirst
For i = 1 To intRecCount
Combo2.AddItem Rs1.Fields("部门")
Rs1.MoveNext
Next i
Rs1.Close
Set Rs1 = Nothing
Cnn.Close
Combo2.Text = Combo2.List(0)
'设置窗体在屏幕最上层
Const Swp_Nosize = &H1
Const Swp_Nomove = &H2
Const Hwnd_TopMost = -1
SetWindowPos Me.hwnd, Hwnd_TopMost, 0, 0, 0, 0, Swp_Nosize Or Swp_Nomove
End Sub
...全文
53 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
faysky2 2006-03-13
你的记录集对象的CursorType 属性并没有设置为 adOpenForwardOnly,而是设置为 adOpenKeyset,应该不会出现这个问题的呀,实在搞不懂了

你设置游标为客户端游标试试:

......
Rs1.CursorLocation=adUseClient
Rs1.Open Sql1, Cnn, adOpenKeyset, adLockBatchOptimistic
......

回复
greentest 2006-03-11
问题在这里:
Sql1 = "select DISTINCT 部门 from 用户权限"
Rs1.Open Sql1, Cnn, adOpenKeyset, adLockBatchOptimistic
其中的adopenkeyset要改为动态的,具体是什么单词我忘了,汗,你自己查一下吧
回复
相关推荐
发帖

1188

社区成员

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