vba - 最后一项使用 RecordSet.FindNext 将结果翻倍
问题描述
RS.FindFirst "[" & Me.CategTxtBx & "]='" & Me.SCSearch & "'"
If Not RS.NoMatch Then
Call ListData 'displays the data on listbox row after row
End If
Do While Not RS.NoMatch
RS.FindNext "[" & Me.CategTxtBx & "]='" & Me.SCSearch & "'"
Call ListData 'display the data on listbox row after row
Loop
以上是我用于提取与用户将输入的类别和关键字匹配的所有数据的代码。它工作正常,但将找到的最后一个数据总是加倍。有人能告诉我为什么吗?我无法分析原因。
我有一个找到匹配的计数器,所以我需要准确的计数。
解决方案
通过在循环中添加另一个 If Not NoMatch 语句来修复它。
RS.FindFirst "[" & Me.CategTxtBx & "]='" & Me.SCSearch & "'"
If Not RS.NoMatch Then
Call ListData 'displays the data on listbox row after row
End If
Do While Not RS.NoMatch
RS.FindNext "[" & Me.CategTxtBx & "]='" & Me.SCSearch & "'"
If Not RS.NoMatch Then
Call ListData 'display the data on listbox row after row
End If
Loop
我记得尝试过但没有用,但现在它完美地工作了。
推荐阅读
- android - onLongPressClickListner Child Swipe 未在 android 中显示
- linux-kernel - libgpiod 配方需要一个内核头文件:linux/gpio.h
- powershell - 如何查找文件夹中名称包含列表中单词的所有文件?
- php - 如何使用 laravel 7 在数据库中传递数组
- ruby-on-rails - 如何在 Ruby on Rails 中使用 ActiveRecord 找到与完全相同的 has_many 关系集的关系?
- python - 使用 numpy 并行计算多个图像
- java - Minikube/kubernetes pod 无法连接到 Mongodb Atlas
- java - 用arraylist中的单词替换txt文件中的单词?
- python - While 循环使用 concurrent.futures ProcessPoolExecutor
- django - 如何获得下一个对象?