|
でしたら
クエリを直接コードから書き換えて(Like "abc*"の形)
フォーム上では表示のみにすれば 早くなると思うのですが…
コードは 以下のような感じでいいと思います
Function Query_Update()
Dim wQuery As String, wSQL As String
Dim oCat As New ADOX.Catalog
Dim oCmd As ADODB.Command
Dim oViw As ADOX.View
'作成するクエリ名
wQuery = "Q_xxxx"
'作成するクエリのSQL文
wSQL = "SELECT * FROM [xxxx] WHERE [Field] Like 'xxxx*';"
With oCat
.ActiveConnection = CurrentProject.Connection
.Views.Refresh
End With
DoEvents
With oCat
For Each oViw In .Views
If oViw.Name = wQuery Then
.Views.Delete wQuery
Exit For
End If
Next
End With
DoEvents
Set oCmd = New ADODB.Command
oCmd.CommandText = wSQL
oCat.Views.Append wQuery, oCmd
On Error Resume Next
Set oCmd = Nothing
Set oCat = Nothing
On Error GoTo 0
End Function
ただし
参照設定[Microsoft ADO Ext 2.7 DLL And Security]を有効にしてください
参考になれば幸いです
|
|