dポイントプレゼントキャンペーン実施中!

 Accessの初心者です。Accessでメニューボックスを作る際、1個の場合はメニュー項目用のテーブルを作り、ルックアップウィザードを使って行うのはわかるのですが、メニュー項目に包含関係の有る2個以上のメニューボックスを連動させる方法がわかりません。
 (たとえば、大分類、小分類の2個のフィールドがある場合、大分類の内容によって、小分類のメニュー項目を絞り込む方法が分からない)
 自分は、FileMakerは有る程度使い込んでますが、Accessのことはサッパリです。
 よろしくお願いします。

<挿入させたいメニュー項目>
[区分] [科目]
給与費 給料
給与費 手当
給与費 賃金
給与費 法定福利費  
給与費 退職給与金
経費  報償費
経費  消耗品費
経費  消耗備品費
経費  委託料
経費  賃借料
・・・・

A 回答 (1件)

こんにちは。

maruru01です。

メニューボックスというのは、コンボボックスのことでしょうか。
フォーム上で、[区分]のコンボボックスで選択すると、それに対応した科目が、[科目]コンボボックスの値にセットされるように、ということでしょうか。
一応そのつもりで書きます。

・フォーム上の[区分]コンボボックスのプロパティの値集合ソースを、そのテーブルの[区分]フィールドにします。
([…]ボタンをクリックしてクエリビルダを起動します。)
・フォーム上の[区分]コンボボックスのプロパティの[イベント]の[変更時]のボックスをクリックして、[…]ボタンをクリックし、コードビルダを選択します。
・コードウィンドウが開きますので、以下のコードを書きます。
(Private Sub ~ End Sub は自動的に作られます。)


Private Sub 区分_Change()

  Dim WhereCond As String

  If IsNull(Me!区分.Column(0)) = False Then
    WhereCond = "SELECT 科目 FROM テーブル名 WHERE 区分 = '" & Me!区分.Column(0) & "' GROUP BY 科目"
    Me!科目.RowSource = WhereCond
    Me!科目.Value = Me!科目.ItemData(0)
  End If

End Sub

・フォーム上の[科目]コンボボックスのプロパティの値集合ソースは予めなしにしておきます。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
よく分かりました。
簡単なことのはずですが、VBAを使わなければならないですか・・・。
FileMakerでは、こんなことしなくて良いのですけど。
だから、Accessはいやになります。

お礼日時:2002/12/20 00:43

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