Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

VBA基于ADO程序,rs.open出现运行时错误‘3001’

流兔  发表于:2014-07-02 11:45:25  
复制

Sub SetRowNo()

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim fd As ADODB.Field
Dim fd1 As ADODB.Field
Dim strSQL As String
Dim temp As String
Dim val As Integer

temp = "000"
val = 1

Set cn = CurrentProject.Connection

strSQL = "Select rowNo,DEH from DECJB3"
rs.Open strSQL, cn, adOpenDynamic, adLockOpetimistic, adCmdText


Set fd = rs.Fields("rowNo")
Set fd1 = rs.Fields("DEH")
      
Do While Not rs.EOF
        If fd1 <> temp Then
        fd = 1
        val = fd
        temp = fd1
        Else
        fd = val + 1
        val = fd
        temp = fd1
        End If
      
        rs.Update
        rs.MoveNext
    Loop

rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing

End Sub

程序主要更能使更新数据表DECJB3中的rowNo字段值,更新依据该表中另一个字段DEH的值,现在程序运行到rs.open一行出现错误。求各位大神门的解释,感激万分!!!

 

Top
cspa 发表于:2014-07-02 20:10:22

adLockOpetimistic拼写错了,应为adLockOptimistic。改为:

rs.Open strSQL, cn, adOpenDynamic, adLockOptimistic, adCmdText



流兔 发表于:2014-07-04 18:39:59
多谢cspa的及时和热情回复,问题也解决了!

流兔 发表于:2014-07-04 18:42:24
但是我是新手没有积分可以回报给您,太不好意思了!谢谢您!

总记录:3篇  页次:1/1 9 1 :