Microsoft Access 掲示板

フォームプロパティのフィルター

4 コメント
views
4 フォロー

ACCESSビギナーの者です。多分初歩的な事と思いますが、どうにも分からなくて。
フォームのプロパティに”フィルター”がありますが例えばフォーム1からIDつながりでフォーム2を開いて閉じた後、再度そのフォーム2を開いてプロパティを確認するとID=***が残ったままになってます。mdb ファイルの時はそれでも特に普通に動作していたのですがaccdbファイルになると、それが原因(フィルターが残ったまま)で開いた後にレコードの移動等が出来ません。フォームのプロパティのフィルター部を消去すると正常に動作します。フォーム2の閉じる時イベントに Me.Filter = "" Me.FilterOn = False を記述してもプロパティには残ったままです。何か対策があれば教えて頂くとありがたいです。宜しくお願いします。

タツ
作成: 2023/05/17 (水) 16:00:42
通報 ...
1
hiroton 2023/05/18 (木) 10:28:24 c11bf@f966d

読み込み時にフィルターを適用プロパティをいいえにして保存します

2
タツ 2023/05/18 (木) 11:32:17 ddfe5@b26af

hirotonさん ありがとうございました。
その設定をするとフォームのプロパティシートにはID=***は残ったままですが動作は正常となりました。
因みにですがフォーム開く時、読み込み時のタイミングには大きな違いがあるものでしょうか?(初歩的な事ですみません)

3
hiroton 2023/05/18 (木) 11:48:00 c11bf@f966d

Form.Load イベント (Access)

最初にフォームを開くと、次の順序でイベントが発生します。

Open → Load → Resize → Activate → Current

マクロまたはイベント プロシージャに Open イベントと Load イベントのどちらを使用するかを決定しようとしている場合、大きな違いの 1 つは Open イベントを 取り消すことができるが、 Load イベントでは使用できないことです。 たとえば、フォームの Open イベントのイベント プロシージャでフォームのレコード ソースを動的に作成する場合、表示するレコードがない場合はフォームの開き方を取り消すことができます。

4
タツ 2023/05/18 (木) 12:47:42 ddfe5@b26af

hirotonさん 丁寧な回答ありがとうございました。
大変参考になりました。奥が深いものですね。