我有一个问题,我正在尝试寻找解决方案。
我有一张桌子,它看起来像这样:
@myTable
id - Number
value - Text
models - Memo
我也有一个看起来像这样的表:
@myModels
id - Number
model - Text
notes - Memo
@myTable.models 值是不同@myModels.model 字符串与'|' 的串联 特点。例如,它可能有 ModelA|ModelB|ModelC| 或仅 ModelA|ModelC|
我需要根据当前选择的模型从@myTable 过滤记录集。现在我有这样的事情:
Dim sql As String
sql = "SELECT * FROM myTable"
Dim rs1 As Recordset
Set rs1 = DBO.Edit (sql)
sql = "SELECT model FROM myModels"
dim rs2 As Recordset
Set rs2 = DBO.Read (sql)
If Not rs2.BOF Then rs2.MoveFirst
While Not rs2.EOF
If Not rs1.BOF Then rs1.MoveFirst
While Not rs1.EOF
Dim models() As String
models = Split(rs1![models], "|")
Dim model As String
For Each model In models
If model = rs2.model Then
'Do some processing
End If
Next model
rs1.MoveNext
Wend
rs2.MoveNext
Wend
我真的希望我能够在查询或过滤器中执行某种类型的正则表达式,所以它可能看起来像这样:
While Not rs2.EOF
rs1.Filter( "Insert Regex Here" )
If Not rs1.BOF Then rs1.MoveFirst
While Not rs1.EOF
' Do Some Processing here
rs1.MoveNext
Wend
rs2.MoveNext
Wend
我想我的主要问题是 @myModels 表有大约 1000 条记录并且正在增长,而 @myTable 表中有超过 30k 条记录。当尝试多次循环遍历每个记录时,这需要很长时间才能循环。
任何解决方案将不胜感激。