SQLデータベースでは、テーブルがTable1
です。この表は別の表に関連しています。Table2
はTable3
に関連しています。 Table1
から特定のレコードを選択するクエリQuery1
があります。Accessでサブフォームを使用したフォームのフィルタリング
このデータベースは、フォームTable1Data
が関連Table2
データ(及びその後Table3
データ)を含むデータシートと、Table1
に基づいている
Accessデータベースプロジェクト内にリンクされています。このフォームは別のフォーム(Switchboard
)で開きます。この問題は、フォームが開かれたときに発生します。フォームをフィルタリングしたいが、マクロを設定してフォームを開き、フィルタをQuery1
に設定すると、フォームのデータがフィルタリングされない。なぜこれが起こるのですか、これを行う方法ではありませんか? Query1
はTable1
からすべての列を選択するので、不一致の列は問題ではありません。
さらに、特定の人だけがQuery1
を実行でき、他のクエリ(Query2
、Query3
など)と同じものを実行できます。したがって、編集が許可されているデータだけを編集することができます。
実行中の変数と変数セットの結果となるマクロのOpenFormアクションがありますか? – SamWM
できるだけ早くマクロから離れてください。それらには汎用性がなく、誤り訂正がありません。マクロは初心者向けです。 Accessを数週間使用した後は、必要な2つの機能(AutoExecとAutoKeys)を除いて、Accessを作成してはなりません。 –
質問に記載されているフォームTable1Dataを開くと、OpenFormアクションが発生します。コードはRecordsourceをSQL文字列に設定して実行し、.Requeryは新しいRecordSourceに基づいてフォームを描画します。 また、デイヴィッド・フェントンと私は、マクロを使用すべきではないことに同意します。ただし、私はこれらの問題を回避するためにAutoExecとAutoKeysで使用することさえしません。 –