クエリのデータシートビューを表示するサブフォームを含むフォームがあります。メインフォームには、クリックするとクエリのSQLが修正されるボタンがあります。ボタンをクリックすると、クエリが予想どおりに改訂されますが、メインフォームを閉じて再度開くまで、サブフォーム内の結果は更新されません。クエリ定義が更新されたときにフォームがリフレッシュされない
私はサブフォームとメインフォームを再クエリーしようとしました。私はサブフォームとメインフォームを更新しようとしました。私は2つのさまざまな組み合わせを試してみましたが、メインフォームを閉じたり開いたりすることを除いて、サブフォームに表示されるデータは更新されません。
洞察や提案はありますか?
これはメインフォームにあるコードで、ボタンをクリックすると実行されます。
Dim f as Form
Set f = Me.frm_Subform.Form
' Update the query def
Dim sSQL As String
Dim sqlArray As Variant
sSQL = CurrentDb.QueryDefs("myQuery").SQL
sqlArray = Split(sSQL, "ORDER BY")
sSQL = Left(sqlArray(0), Len(sqlArray(0)) - 3)
sSQL = sSQL & " AND (STAFF.FULLNAME <> 'JOHN DOE') "
sSQL = sSQL & "ORDER BY" & sqlArray(1)
CurrentDb.QueryDefs("myQuery").SQL = sSQL
' Refresh the subform
F.Requery
Me.Requery
F.Refresh
Me.Refresh
F.Repaint
Me.Repaint
クエリを変更してリフレッシュ/再クエリを行うと、サブフォームのデータが更新されない理由は誰にも分かります。 – shoegazer100