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

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
...全文
251 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
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要改为动态的,具体是什么单词我忘了,汗,你自己查一下吧

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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