• 締切済み

Accessでのサブフォーム内の再クエリについて

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

みんなの回答

noname#1296
noname#1296
回答No.2

はずしていたすみません。 連動させるということは、「果物」コンボボックスで 指定した値を元に「りんご」コンボボックスのレコ ードを抽出するっていう形でしょうか? 「果物」コントロールの更新後イベントモジュールで「りんご」コントロールの値集合ソースのSQL文を書き換え再クエリーをかけるっていうやり方はどうでしょう? Private Sub 果物_AfterUpdate りんご.RowSource="SELECT フィールド名1,フィールド名...... FROM テーブル名 WHERE (フィールド名="& 果物 &")" りんご.Requery End Sub

hassakumikan
質問者

補足

CHOROLYNさん、ご返答をありがとうございます。 実はAccess初心者の為、SQLが使えません。 でもおっしゃるとおりにしてあるはずですが… [りんご]の値集合体ソースに以下の文を入れています。 SELECT [元になるクエリ].[りんご] FROM 元になるクエリ WHERE ((([元になるクエリ].[果物])=[FORMS]![メインフォーム]![サブフォーム]![果物])) ORDER BY [元になるクエリ].[ID]; ※元になるクエリとは[果物]と[りんご]の値の集合体です。 そして、[果物]の更新後処理として[りんご]の再クエリのマクロを組んでいます。 その再クエリマクロが働きません。 マクロ上ではアクションで再クエリを選択し、その際の「コントロール名」がわかりません。 [りんご]では働かないし…、 Forms![メインフォーム].form.[サブフォーム]![りんご]でもダメでした…。 う~ん?? どうすればいいんでしょう?? よろしくお願いいたします。

すると、全ての回答が全文表示されます。
noname#1296
noname#1296
回答No.1

メインフォームに「果物」サブフォームに「りんご」があるということでしょうか? Forms![メインフォーム名].form.[サブフォーム名]![コンボボックス名].Requery では駄目でしょうか? ちょっと確認できないので細かい文法とか不安ですが...

hassakumikan
質問者

補足

CHOROLYNさん、ご返答をありがとうございます。 やってみましたがダメでした…。 補足ですが、[果物]と[りんご]は両方サブフォームにあります。 サブフォームだけで試してみると、両方のコンボボックスはきちんと連動しています。 それを応用させてメインフォーム上で試してみるとダメなのです…。 「このウインドウでは"ApplyFilter/フィルタの実行アクションを実行できません」というエラーメッセージが出て、それをOKで返すと、「アクションの実行エラー」ダイアログで「再クエリ」で引っかかっていることがわかります。 なぜでしょう???? ご存知の方はよろしくお願いいたします。

すると、全ての回答が全文表示されます。

関連するQ&A