首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RecordSet时DAO RecordSet错误3251

使用RecordSet时DAO RecordSet错误3251
EN

Stack Overflow用户
提问于 2014-05-09 12:52:12
回答 1查看 10.7K关注 0票数 4

我得到了“运行时错误'3251':这种类型的对象不支持操作。”当我试图在DAO RecordSet上使用"FindFirst“时,。有人能向我解释我做错了什么,因为这不是为了寻找记录。我使用的变量是返回搜索的正确值。

代码语言:javascript
复制
Private Sub ctrSend_Click()
Dim intI As Integer
Dim lst As ListBox
Dim varItem As Variant
Dim rst As DAO.Recordset
Dim rst2 As DAO.Recordset
Dim qtySum As Variant
Dim qtyDiff As Variant
Dim rowMax As Variant
Dim rowUpdate As Variant

Set lst = Me![lstShipping]
Set rst = CurrentDb.OpenRecordset("ShipInv", dbOpenTable)
Set rst2 = CurrentDb.OpenRecordset("Storage", dbOpenTable)
qtySum = 0
rowMax = 0

With lst
    If .ItemsSelected.count = 0 Then Exit Sub
        For Each varItem In .ItemsSelected
            qtySum = qtySum + .Column(3, varItem)
        Next

    If Me.[ctrQtyProd] = qtySum Then
        MsgBox "Qty Selected EQUALS Qty Being Shipped.", vbOKOnly, "Confirmation Message"
    ElseIf Me.[ctrQtyProd] > qtySum Then
        MsgBox "Qty Selected LESS THAN Qty Being Shipped, please select more Inventory.", vbOKOnly, "Confirmation Message"
    Else
        qtyDiff = qtySum - Me.[ctrQtyProd]
        rowMax = lst.Column(3, lst.ItemsSelected.count)
        rowUpdate = rowMax - qtyDiff

        rst2.FindFirst "[BIN] = '" & lst.Column(0, lst.ItemsSelected.count) & "'"
        rst2![QtyProd] = lst.Column(3, lst.ItemsSelected.count)
        rst2.Update
        rst2.Close

        MsgBox "Storage Successfully Updated.", vbOKOnly, "Confirmation Message"
    End If
End With

With lst
    For Each varItem In .ItemsSelected
        rst.AddNew
        rst!Order = Me.[ctrSOrder]
        rst!EntDate = Date
        rst!ShipDate = Me.[ctrSDate]
        rst!BIN = .Column(0, varItem)
        rst!SKU = .Column(1, varItem)
        rst!Lot = .Column(2, varItem)
        rst!QtyProd = rowUpdate
        rst.Update
    Next
End With
rst.Close

Set rst = Nothing
Set rst2 = Nothing
MsgBox "Shipping List Successfully Updated.", vbOKOnly, "Confirmation Message"
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-16 21:49:27

您是否尝试将记录集打开为dbOpenDynaset (默认情况下没有open语句中指定的枚举)或dbOpenSnapshot?Microsoft站点上的文档指定它接受这两个记录集之一。

在满足指定条件的动态集或快照类型Recordset对象中定位第一条记录,并使该记录记录当前记录(仅限于Microsoft工作区)。

Microsoft关于Recordset.FindFirst的文章

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23565148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档