• ベストアンサー

アクセス テーブル ルックアップ について

アクセスです。[売り上げ] というテーブルで、フィールド [年月日] [果物] [個数] があって、[果物] の入力時に マスタテーブル [M果物] を ルックアップ 、 コンボボックス で選択するようにしています。すでにデータ入力してあります。ところが、[M果物] には、リンゴ、ミカン、メロン・・・・・などたくさんあるので、探して選択するのに不便になってきました。そこで、[果物]入力時に、よく売れる個数順に果物を並べ替えて、ルックアップ、コンボボックスに表示して入力を便利にしたいのですが、どのようにしたらよいのでしょうか?宜しくお願い致します。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

マスタテーブルに使用回数というフィールドを付け加えます 果物CD 果物名 使用回数 2 B 9 3 C 9 このテーブルに対する更新クエリを作成します(incli) UPDATE M果物 SET M果物.使用回数 = [使用回数]+1 WHERE (((M果物.果物CD)=[Forms]![売り上げ]![コンボ果物])); コンボのソースで端世回数の降順で並び替えを指定します SELECT M果物.果物CD, M果物.果物名, M果物.使用回数 FROM M果物 ORDER BY M果物.使用回数 DESC; フォームではコンボの更新後に下のようなコードを書きます Private Sub コンボ果物_AfterUpdate() DoCmd.SetWarnings False DoCmd.OpenQuery "incli" DoCmd.SetWarnings True Me.コンボ果物.Requery End Sub コンボで果物を選択するたびにその果物の使用回数が増え その順序で並び替えられます

fusigi2
質問者

お礼

早くて、丁寧な回答をありがとうございました。No1.の方と同時に早くから見ていましたが、返事が遅れてしまいました。ごめんなさい。 苦戦実行中です。よくこんなに頭がついていくものだと関心しています。重ねて有り難うございました。

その他の回答 (1)

  • x0000x
  • ベストアンサー率52% (67/127)
回答No.1

今晩は。 >よく売れる個数順 を売り上げテーブルの商品別個数の大きい順とし、 M果物の名前を「果物名」とするならルックアッププロパティの各プロパティは以下で如何でしょうか? ・表示コントロール=コンボボックス ・値集合タイプ=テーブル/クエリ ・値集合ソース= SELECT U.果物, M.果物名, Sum(U.個数) AS 合計 FROM 売り上げ AS U INNER JOIN M果物 AS M ON U.果物 = M.果物 GROUP BY U.果物,M.果物名 ORDER BY Sum(U.個数) DESC ・連結列=1 ・列数=2 ・列見出=いいえ ・列幅=1;2 ・リスト幅=3 ※ 列見出、列幅、リスト幅などは調整ください。

fusigi2
質問者

お礼

素早い回答をありがとうございました。初心者なもので、もたもたしているうちに日数が経過してしまいました。ごめんなさい。 なるほど、こんな方法でやるのか!うまくいきました。ありがとうございました。