0

私は小さな DBase を持っています。それは 6 つの別々のショップでツールを調整します。見たいショップの名前を選択すると、qryInventory の SQL が正常に更新されるため、正しいテーブルが表示されますが、サブフォームを更新することができませんでした。

次のコード全体を調べたところ、このコードのいくつかのバリエーションが見つかりましたが、それらをまったく機能させることができませんでした。

Forms.Form_UpdateInventoryForm.Form_Inventory00.Requery

4

2 に答える 2

1

構文は次のとおりです。

[NameOfMainForm].[NameOfSubformControl].Form.Requery

これをメイン フォームから実行している場合は、[NameOfMainForm] の代わりに Me を使用できます。含まれているフォームではなく、サブフォーム コントロールの名前を使用するように注意してください。Form と Requery はそのままです。フォームは、サブフォーム コントロールのプロパティです。

詳細: http://www.mvps.org/access/forms/frm0031.htm

于 2010-11-12T21:56:42.943 に答える
0

サブフォームの再クエリの失敗など、この問題に遭遇しました。

少なくとも私の場合、問題を解決しているように見えるのは、親 (マスター) フォームのサブフォーム コントロールの SourceObject プロパティをクリアしてからリセットすることです。これは、Form_Master が設定されていることを前提としています。

    Form_Master.SubformQuery.SourceObject = "" 'this is the important part
    Form_Master.SubformQuery.SourceObject = "Query.ListSearchQuery"

ソースオブジェクトとしてクエリを使用しているという、あいまいなことをしていることに注意してください。これにより、参照されたクエリで変更されたばかりであっても、Access は新しい SQL を参照するように強制されるようです。

うまくいけば、これは通常のフォームの状況でも機能します。おそらく、このようなものに一般化できます

    Dim sourceReset As String
    Dim Form_Master As Form_Master 

    Set Form_Master = Forms!Master
    sourceReset = Form_Master.SubformControl.SourceObject
    Form_Master.SubformControl.SourceObject = ""  'force reset
    Form_Master.SubformControl.SourceObject = sourceReset 
于 2012-01-09T04:02:34.517 に答える