Vba 如何计算InStr()方法找到的记录数?
嘿,我正在使用Vba 如何计算InStr()方法找到的记录数?,vba,instr,Vba,Instr,嘿,我正在使用If InStr(1,rs.recordset1,rsx.recordset2)查找匹配的记录。 如果有超过15个匹配项,我想退出If条件。我怎样数数这些记录 代码示例: Do Until rs.EOF If InStr(1, rs.Fields("Column1"), rs1.Fields("Column1")) > 0 Then db.Execute "Insert into tbl_name (ColumnName)
If InStr(1,rs.recordset1,rsx.recordset2)
查找匹配的记录。
如果有超过15个匹配项,我想退出If条件。我怎样数数这些记录
代码示例:
Do Until rs.EOF
If InStr(1, rs.Fields("Column1"), rs1.Fields("Column1")) > 0 Then
db.Execute "Insert into tbl_name (ColumnName) Values ( """ & rs.Fields("Column1") & """ ); ", dbFailOnError
End If
rs1.moveNext
Loop
使用记录集过滤器和计数?你能完整地展示你的意思吗?你尝试了什么?请提供你正在编写的代码。我们需要它来看看我们是否能帮助你……我建议使用正则表达式。您可以执行类似于
Regex.Global=True
(获取所有匹配项)的操作,然后执行Regex.Pattern=rsx.recordset2
和Set matches=Regex.Execute(rs.recordset1)
操作,然后使用matches.Count
访问匹配数,除了Regex之外,您还可以执行UBound(拆分(rs.recordset1,rsx.recordset2))
。在这个数字上加1,这就是你的匹配数。谢谢你的回复!我的代码:如果InStr(1,rs.Fields(“Column1”)、rs1.Fields(“Column1”))>0,则执行db.Execute“Insert into tbl_name(ColumnName)值(“”&rs.Fields(“Column1”)&“”),如果rs1.moveNext循环,则执行dbFailOnError End