プロが教える店舗&オフィスのセキュリティ対策術

Access上で新しいデータベースを作成中なのですが、サブフォーム内の再クエリが上手くできません。
2つのコンボボックスを連動させた物がサブフォーム内にあるのですが、この2つを連動させる為にどうしてもサブフォームでの再クエリが必要となります。
そして、その再クエリのマクロでのコントロール名がわかりません。
最初のコンボボックスを[果物]次のコンボボックスを[りんご]と仮定すると、
[果物]→再クエリ→[りんご]のような形になる為、コントロール名は[りんご]になるはずなのですが、サブフォーム内の[りんご]の為、なんと表現していいのかわかりません。その結果、上手く再クエリが働いてくれません。
コントロール名はなんと書けばよろしいのでしょうか?
(何も書かなくても再クエリされないです…)
Access初心者なのでわかりやすく言っていただければと思います。
長い質問になってしまいましたがよろしくお願いいたします。

A 回答 (2件)

メインフォームに「果物」サブフォームに「りんご」があるということでしょうか?



Forms![メインフォーム名].form.[サブフォーム名]![コンボボックス名].Requery

では駄目でしょうか?
ちょっと確認できないので細かい文法とか不安ですが...

この回答への補足

CHOROLYNさん、ご返答をありがとうございます。
やってみましたがダメでした…。

補足ですが、[果物]と[りんご]は両方サブフォームにあります。
サブフォームだけで試してみると、両方のコンボボックスはきちんと連動しています。
それを応用させてメインフォーム上で試してみるとダメなのです…。

「このウインドウでは"ApplyFilter/フィルタの実行アクションを実行できません」というエラーメッセージが出て、それをOKで返すと、「アクションの実行エラー」ダイアログで「再クエリ」で引っかかっていることがわかります。

なぜでしょう????
ご存知の方はよろしくお願いいたします。

補足日時:2001/03/25 12:16
    • good
    • 0

はずしていたすみません。



連動させるということは、「果物」コンボボックスで
指定した値を元に「りんご」コンボボックスのレコ
ードを抽出するっていう形でしょうか?

「果物」コントロールの更新後イベントモジュールで「りんご」コントロールの値集合ソースのSQL文を書き換え再クエリーをかけるっていうやり方はどうでしょう?

Private Sub 果物_AfterUpdate
りんご.RowSource="SELECT フィールド名1,フィールド名...... FROM テーブル名 WHERE (フィールド名="& 果物 &")"
りんご.Requery
End Sub

この回答への補足

CHOROLYNさん、ご返答をありがとうございます。
実はAccess初心者の為、SQLが使えません。
でもおっしゃるとおりにしてあるはずですが…

[りんご]の値集合体ソースに以下の文を入れています。

SELECT [元になるクエリ].[りんご] FROM 元になるクエリ WHERE ((([元になるクエリ].[果物])=[FORMS]![メインフォーム]![サブフォーム]![果物])) ORDER BY [元になるクエリ].[ID];
※元になるクエリとは[果物]と[りんご]の値の集合体です。

そして、[果物]の更新後処理として[りんご]の再クエリのマクロを組んでいます。
その再クエリマクロが働きません。
マクロ上ではアクションで再クエリを選択し、その際の「コントロール名」がわかりません。
[りんご]では働かないし…、
Forms![メインフォーム].form.[サブフォーム]![りんご]でもダメでした…。

う~ん?? どうすればいいんでしょう??
よろしくお願いいたします。

補足日時:2001/03/26 10:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A