• ベストアンサー

1つのクエリを複数のフォームで使用したい!

1つのクエリを複数のフォームで使用したい! Win Xp access2003 いつもお世話になっております、今回はクエリについてアドバイスお願いいたします。 フォームAを開いているちきはフォームAのtxt顧客コードを条件にし フォームBを開いているときはフォームBのtxt顧客コードを条件に切替えたいのですが [forms]![フォームA]![txt顧客コード] Or [forms]![フォームB]![txt顧客コード] ではパラメータでもう片方の値を要求されてしまいます。 別のフォームを参照する場合はクエリを2つ作るしか無いのでしょうか? アドバイス宜しくお願いいたします、

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

>別のフォームを参照する場合はクエリを2つ作るしか無いのでしょうか? はい。 提案です。 パラメータクエリに条件が二つあれば必ず二回聞いてきます。 パラメータクエリをやめてしまって、フォームに非連結のテキストボックスを置きます。 名前を仮にTX1として その更新後イベントで処理してはいかが? txt顧客コードがテキスト型だとして Private Sub TX1_AfterUpdate() Me.Filter = "txt顧客コード = '" & Me!TX1 & "'" If Me.RecordsetClone.RecordCount = 0 Then Me.FilterOn = False Else Me.FilterOn = True End If End Sub これならクエリは1個で済みます。 ただ、二個のフォームを変更しなければなりませんけど。

KOUSUKE0409
質問者

お礼

早急な返答ありがとうございます。 やはりクエリは2つになりますか・・・ ではVBAでRecordsetより検索します。 ちなみにもう1つヒントをお願いします。 レコード数が1万件位ある中から1つの条件で抽出する時、クエリを使った時と VBAでFilter やSeek,Findで絞りこみをした場合スピードは大分違うものでしょうか? 返答宜しくお願いいたします。

関連するQ&A