Access97のパラメータークエリーをコンボボックスで行ないたい



8719Access97のパラメータークエリーをコンボボックスで行ないたいshinichi 4/13-21:38

OS名:Windows98
パソコン名:PRESARIO3510
ソフト名:Access97
こんにちは、Access97でクエリーの抽出条件を、フォームのコンボボックス(値
リスト)を何個かANDに組み合わせて実行させたい。1個であればマクロのフィ
ルターの実行でできるのですが、ANDに組む事ができない。知っている方はよろ
しくお願いします。

8735Re:Access97のパラメータークエリーをコンボボックスで行ないたいRei 4/14-00:37
記事番号8719へのコメント
shinichiさんは No.8719「Access97のパラメータークエリーをコンボボックスで行ないた
い」で書きました。
>OS名:Windows98
>パソコン名:PRESARIO3510
>ソフト名:Access97
>こんにちは、Access97でクエリーの抽出条件を、フォームのコンボボックス(値
>リスト)を何個かANDに組み合わせて実行させたい。1個であればマクロのフィ
>ルターの実行でできるのですが、ANDに組む事ができない。知っている方はよろ
>しくお願いします。

いろいろと方法はありますが、
一番直感的で単純な方法です。

frmSampleというフォームのコンボボックスに、
cmbCriteria1
cmbCriteria2
cmbCriteria3
という名前がついているとすると、
クエリーの該当フィールドの抽出条件に
それぞれ
forms![frmSample]![cmbCriteria1]
forms![frmSample]![cmbCriteria2]
forms![frmSample]![cmbCriteria3]
というように記述すれば良いと思います。


8757Reiさんありがとうございました。もうひとつお願いします。shinichi 4/14-21:23
記事番号8735へのコメント
Reiさんは No.8735「Re:Access97のパラメータークエリーをコンボボックスで行ないたい」で
書きました。
>shinichiさんは No.8719「Access97のパラメータークエリーをコンボボックスで行ないた
>い」で書きました。
>>OS名:Windows98
>>パソコン名:PRESARIO3510
>>ソフト名:Access97
>>こんにちは、Access97でクエリーの抽出条件を、フォームのコンボボックス(値
>>リスト)を何個かANDに組み合わせて実行させたい。1個であればマクロのフィ
>>ルターの実行でできるのですが、ANDに組む事ができない。知っている方はよろ
>>しくお願いします。
>
>いろいろと方法はありますが、
>一番直感的で単純な方法です。
>
>frmSampleというフォームのコンボボックスに、
>cmbCriteria1
>cmbCriteria2
>cmbCriteria3
>という名前がついているとすると、
>クエリーの該当フィールドの抽出条件に
>それぞれ
>forms![frmSample]![cmbCriteria1]
>forms![frmSample]![cmbCriteria2]
>forms![frmSample]![cmbCriteria3]
>というように記述すれば良いと思います。
>
>
コンボボックスで抽出できるようになりました。
ご協力ありがとうございました。
ついでといってはすみませんが、もうひとつお願いします。
コンボボックスで抽出した結果を、フォームのテキストボックスに
表示させたいのですが、テキストボックスのプロパティでフィールドを
設定しても表示されませんでした。
やろうとしていることは、クエリーのフィールド1〜7の内1〜6までを
フォームのコンボボックスで抽出させ、クエリーの1つのレコードまで抽出し
たらフィールド7の値を、フォームのテキストボックスに表示させたい。
以上です。よろしくお願いします。



8788Re:Reiさんありがとうございました。もうひとつお願いします。Rei 4/15-23:55
記事番号8757へのコメント
shinichiさんは No.8757「Reiさんありがとうございました。もうひとつお願いします。」で書きまし
>コンボボックスで抽出した結果を、フォームのテキストボックスに
>表示させたいのですが、テキストボックスのプロパティでフィールドを
>設定しても表示されませんでした。
>やろうとしていることは、クエリーのフィールド1〜7の内1〜6までを
>フォームのコンボボックスで抽出させ、クエリーの1つのレコードまで抽出し
>たらフィールド7の値を、フォームのテキストボックスに表示させたい。

フォームのレコードソースがそのクエリーに
なっているのなら、フィールド7の値を
テキストボックスのコントロールソースに
するだけで良いと思うのですが、そういうこと
ではないのですか?

「クエリーの1つのレコードまで抽出したら・・・」
という部分の意味がわからないです。

以下のような構成を想定してお答えしています。
フォーム:frmSample
レコードソース:qrySampleSrc
cmbCriteria1:非連結
cmbCriteria2:非連結
cmbCriteria3:非連結
cmbCriteria4:非連結
cmbCriteria5:非連結
cmbCriteria6:非連結
txField7:field7を連結
qrySampleSrcクエリー:
field1:抽出条件:forms![frmSample]![cmbCriteria1]
field2:抽出条件:forms![frmSample]![cmbCriteria2]
field3:抽出条件:forms![frmSample]![cmbCriteria3]
field4:抽出条件:forms![frmSample]![cmbCriteria4]
field5:抽出条件:forms![frmSample]![cmbCriteria5]
field6:抽出条件:forms![frmSample]![cmbCriteria6]
field7


8803Re:設定しても表示されませんでしたshinichi 4/16-17:16
記事番号8788へのコメント
>フォームのレコードソースがそのクエリーに
>なっているのなら、フィールド7の値を
>テキストボックスのコントロールソースに
>するだけで良いと思うのですが、そういうこと
>ではないのですか?
>
>「クエリーの1つのレコードまで抽出したら・・・」
>という部分の意味がわからないです。
>
>以下のような構成を想定してお答えしています。
>フォーム:frmSample
> レコードソース:qrySampleSrc
> cmbCriteria1:非連結
> cmbCriteria2:非連結
> cmbCriteria3:非連結
> cmbCriteria4:非連結
> cmbCriteria5:非連結
> cmbCriteria6:非連結
> txField7:field7を連結
>qrySampleSrcクエリー:
> field1:抽出条件:forms![frmSample]![cmbCriteria1]
> field2:抽出条件:forms![frmSample]![cmbCriteria2]
> field3:抽出条件:forms![frmSample]![cmbCriteria3]
> field4:抽出条件:forms![frmSample]![cmbCriteria4]
> field5:抽出条件:forms![frmSample]![cmbCriteria5]
> field6:抽出条件:forms![frmSample]![cmbCriteria6]
> field7
>
>
教えていただいた通りに設定しても表示されませんでした。
テキストボックスのコントロールソースに右側下矢印からフィールド7を
選んだときは何も表示されない。抽出後も変化なし。
又、テキストボックスのコントロールソースに式ビルダで
=[qrySampleSrcクエリー]![field7]を設定すると
表示に #NAME? となったままで抽出後も変化なし。
抽出後にクエリーを開いてみると抽出は行なわれており
レコード1つと新規レコード用の2行だけ表示される。
このような状態です。
>「クエリーの1つのレコードまで抽出したら・・・」
>という部分の意味がわからないです。
文章の書き方が悪くすいませんでした。忘れてください。
以上です。よろしくお願いします。



8805Re:設定しても表示されませんでしたRei 4/16-17:57
記事番号8803へのコメント
shinichiさんは No.8803「Re:設定しても表示されませんでした」で書きました。
>教えていただいた通りに設定しても表示されませんでした。
>テキストボックスのコントロールソースに右側下矢印からフィールド7を
>選んだときは何も表示されない。抽出後も変化なし。

なにか私には見えないところがあるようです。
コンボボックスを操作したらボタンをクリック
してレコードソースを読み直すのでしょうか?
それともコンボボックスを操作した時に自動的に
テキストボックスの値を変化させるということ
ですか?
前者の場合、ボタンのクリック時のイベントで
プロシージャとして「Me.Requery」を実行
しなければレコードソースが更新されません。
後者の場合、各コンボボックスのクリック時に
同様のプロシージャの記述が必要です。
ただし後者の場合元のテーブルにたくさんの
レコードが格納されていると、レスポンスが
悪くなるので、その場合は前者のように
ボタンを配置した方が良いと思います。

>又、テキストボックスのコントロールソースに式ビルダで
>=[qrySampleSrcクエリー]![field7]を設定すると
>表示に #NAME? となったままで抽出後も変化なし。

あくまでqrySampleSrcやfield7は私が想定して
いるだけですからそれを指定してもエラーに
なります。そうなるのが正しいです。

8806Re:ありがとうございましたshinichi 4/16-20:11
記事番号8805へのコメント
各コンボボックスのプロパティにある更新後処理のところへ
再クエリーのマクロを入れて無事にテキストボックスで
表示するようになりました。
ありがとうございました。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言
検索投稿あり2005/1/20-20:49左記[投稿あり]クリックにて検索(逆リンク調査)します同様の質問へのリンクとなっています