解決策を見つけようとしている問題があります。
私はテーブルを持っています、それはこのように見えます:
@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を超えるレコードがあることだと思います。これは、各レコードを何度もループしようとすると、ループするのに非常に長い時間がかかります。
任意の解決策をいただければ幸いです。