こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

1つのクエリを複数のフォームで使用したい!
Win Xp
access2003
いつもお世話になっております、今回はクエリについてアドバイスお願いいたします。

フォームAを開いているちきはフォームAのtxt顧客コードを条件にし
フォームBを開いているときはフォームBのtxt顧客コードを条件に切替えたいのですが

[forms]![フォームA]![txt顧客コード] Or [forms]![フォームB]![txt顧客コード]
ではパラメータでもう片方の値を要求されてしまいます。
別のフォームを参照する場合はクエリを2つ作るしか無いのでしょうか?
アドバイス宜しくお願いいたします、

投稿日時 - 2010-09-23 12:48:52

QNo.6202150

困ってます

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

>別のフォームを参照する場合はクエリを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個で済みます。
ただ、二個のフォームを変更しなければなりませんけど。

投稿日時 - 2010-09-23 14:05:02

お礼

早急な返答ありがとうございます。
やはりクエリは2つになりますか・・・

ではVBAでRecordsetより検索します。

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

返答宜しくお願いいたします。

投稿日時 - 2010-09-23 15:50:16

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問