小编Jen*_*ens的帖子

DAO.Recordset中的参数无效

我面临着一个小问题,我似乎无法解决这个问题。而不是使用SQL,我想使用vba检查两个表之间的重复项。因此,我要做的是创建两个记录集。每个表一个,只需检查我是否可以在一个记录集中找到文档编号,同时遍历另一个。

我每次遇到的错误都在.FindFirst行中。它告诉我我使用的参数无效。(错误3001)。rscurrent![Document Number]始终返回一个数字。我试图通过将字符串变暗并加倍来实现它,但是似乎都没有用。

我在这里使用一种完全错误的思维方式,还是只是缺少一些语法?同样,我知道如何在SQL中执行此操作,这更多是为了满足我对vba的好奇心并检查可能的性能改进。

无论如何,预先感谢!

Sub comparemails()
Dim rscurrent As DAO.Recordset
Dim rscheck As DAO.Recordset

Set rscurrent = CurrentDb.OpenRecordset("Tbl_DNFAILURE", dbOpenDynaset)
Set rscheck = CurrentDb.OpenRecordset("Tbl_Archive", dbOpenDynaset)

With rscurrent
    Do Until .EOF
            With rscheck
                .MoveFirst
                .FindFirst rscurrent![Document Number]
                    If .NoMatch = False Then
                        rscurrent.Delete
                    End If
            End With
        .MoveNext
    Loop
End With

rscurrent.Close
rscheck.Close
Set rscurrent = Nothing
Set rscheck = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)

ms-access vba

2
推荐指数
1
解决办法
1146
查看次数

通过vba在数据透视表中显示0而不是空单元格

我如何以编程方式执行以下操作:

将数据透视表中的空单元格更改为 0。

在此输入图像描述

excel vba

2
推荐指数
1
解决办法
2846
查看次数

在vba中使用变体对性能有害吗?

我想标题非常简单,将变量声明为变体而不是特定数据类型对VBA的性能有何影响?

也许是因为我不熟悉编程,但直觉上它会降低性能,因为计算机必须检查分配了哪种数据类型,然后将变量更改为指定的数据类型,而不是立即将值赋给它.我还没有找到一些关于此的文献.

vb6 variables vba

2
推荐指数
1
解决办法
2280
查看次数

标签 统计

vba ×3

excel ×1

ms-access ×1

variables ×1

vb6 ×1