• 締切済み

Access 選択入力 うまくいきません

http://okwave.jp/qa/q7754437.html で質問してさっそく設定してみましたが 食費・住居費・・・で食費を選択して そのなかから 主食・野菜・・・・で主食を選択して そのなかからごはん 食費→主食・・・のところが主食・家賃・・・とすべての項目がでてしまいます。 順番もばらばらです。 どうすればいいのでしょうか? 調べてもわかりません。 よろしくお願いします。

みんなの回答

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.3

前回の回答者様の「で、で、できますけど」はまじめですよ!!! 検索キーの絞り込みは大変難しいです。 これはあきらめて下さい。 エクセルの入力規則によるプルダウンメニューは別に用意したリスト以外は 入力出来ませんが、アクセスではプルダウンメニューになくとも手入力も 可能の設定が出来ます。 アクセスでプルダウンメニューはコンボボックスでやります 1.プルダウンメニュー以外を不可にするには  データソースの連結を主キーにします 2.プルダウンメニュー以外を可能にするには  データソースの連結を主キー以外にします データテーブルの設定が データID(key オートナンバー),日付,費目ID,費目,費目明細ID,費目明細,明細品名,支出 の提案になっていますがこれでは現金残高の管理は出来ても、預金関係の管理が出来ません 費目を科目、備考、借方備考、貸方備考として 科目  ID(主キー、オートナンバー)  科目名  貸借区分 備考  ID(主キー、オートナンバー)  備考 借方備考  ID(主キー、オートナンバー)  借方備考 貸方備考  ID(主キー、オートナンバー)  貸方備考 データテーブル  ID(主キー、オートナンバー)  日付  備考(備考テーブルの備考)  借方ID(科目テーブルのID)  借方備考(借方備考テーブルの借方備考)  借方金額  貸方ID(科目テーブルのID)  貸方備考(貸方備考テーブルの貸方備考)  貸方金額 科目、借方、貸方と簿記の用語が出てきましたが引かないでください  科目:現金、預金、主食費、副食費、光熱費等家計簿のデータを分類集計するキーになります  借方、貸方:現金出納帳には金額欄に入金欄、出金欄、残高欄となっていますが        この入金欄の事を借方金額、出金欄の事を貸方金額と呼びます  貸借区分:現金、預金の入金は借方に記入し出金は貸方に記入し       また主食費、光熱費等の発生は借方に記入します        残高=繰越+借方合計-貸方合計  一方給料、雑収入等の収入及び借入金の発生の発生は貸方に記入し        残高=繰越+貸方合計ー借方合計 この様に発生が借方になる場合借方科目、貸方になる場合貸方科目と呼びます データの入力例 1.給料が預金口座に振込まれた 借方科目:預金口座 貸方科目:給料 2.預金を引き出した 借方科目:現金 貸方科目:預金口座 3.電気代が引き落とされた 借方科目:光熱費 貸方科目:預金口座

ct88
質問者

お礼

回答ありがとうございます。

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

> やってみましたがうまくいきません…。 ・何を ・どうやって ・どううまくいかないのか ここらへんがサッパリ伝わってこないのですが。 要するに、コンボボックスを3個使って、絞り込みをしたいという事ですか? 残念ながら図を一つしかつけられないので、言葉で説明するしかないのですが・・ と、言うわけで、かなりの長文ですが、ご覚悟ください。 面倒ならスルーしてください。 まずは、分類表を用意しましょう。 大分類・中分類・小分類 くらいで良いでしょう(図を参照)。 これに識別コードをつけたらもっといいですけどね。 > 食費・住居費・・・で食費を選択して とりあえず、この部分。 クエリを作ります。 先のテーブルの「大分類」だけを抽出し、集計機能でグループ化します。 (名前は適宜。仮に「Q大分類」としておきましょうか。) フォームをデザインビューで開きます。 一つ目のコンボボックスをおきます。 ウィザードに従って、「Q大分類」のデータを表示するように設定します。 名前は「大分類」で良いでしょう。 これで、「食費・住宅費」を選択するコンボはほぼ完成です。 フォームに「F入力」とでも名前を付けて保存しておきます。 続いて > 主食・野菜・・・・で主食を選択して この部分です。 クエリを作ります。 先のテーブルの「大分類・中分類」の2フィールドを持ってきて、 「大分類」の抽出条件に「Forms!F入力!大分類」とします。 「Q中分類」として保存しておきます。 フォームに2個目のコンボボックスをおきます。 ウィザードに従って、「Q中分類」のデータを表示するように設定してやります。 「中分類」と名前をつけます。 マクロを作ります。 マクロを新規作成し、デザインビューにしておきます。 表示→マクロ名 でマクロ名の欄を表示し、   マクロ名:中分類絞り込み   アクション:再クエリ   コントロール名:中分類 と設定し「F入力絞り込み」と名前をつけておきます。 フォームに戻り、「大分類」コンボボックスをアクティブにします。 プロパティのイベントタブ、更新後処理の欄のプルダウンから 「F入力絞り込み.中分類絞り込み」を選択します。 これで、「中分類」の設定は終了です。 ここまでをテストしてみましょう。 フォームを保存して、フォームビューで開いて見ます。 「大分類」コンボを変更すると「中分類」コンボに表示されるモノが 変わるのを確認できると思います。 最後、「小分類」コンボを作ります。 まずはクエリを作ります。 同様に先ほどのテーブルをソースにし、「大中小分類」をフィールドに持ちます。 大分類の抽出条件に「Forms!F入力!大分類」、 中分類の抽出条件には「Forms!F入力!中分類」 としておきます。 「Q小分類」と名前をつけて保存しておきましょう。 フォームにコンボボックスをおきます。 ウィザードに従って、「Q小分類」のデータを表示するように設定してやります。 「小分類」と名前をつけます。 マクロを追加します。 「F入力絞り込み」マクロをデザインビューで開き、   マクロ名:小分類絞り込み   アクション:再クエリ   コントロール名:小分類 と言う行を追加してやります。 フォームに戻り、「中分類」コンボボックスをアクティブにします。 プロパティのイベントタブ、更新後処理の欄のプルダウンから 「F入力絞り込み.小分類絞り込み」を選択します。 これで、「小分類」の設定も終了です。 一連の動作を確認してみましょう。 フォームをフォームビューで開き、 大分類コンボで「食費」を選択すると「中分類」コンボが絞り込まれ、 「中分類」コンボで「主食」を選択すると「コメ・パン・その他」と さらに絞り込まれるのが確認できると思います。 前述の通り、分類表を作る時点で大中小分類それぞれにコードを付けておくと 各コンボ内の並べ替えが容易になります。 更に、大分類表・中分類表・小分類表と分類表を分けておくと 扱うのが多分楽になると思います。 とりあえず、基本の動作だけで絞り込みはできる、と言うだけの策であり、 最良の組み方とは到底言えない手法ではあります。 「小分類コンボまで選択した状態で大分類を変更したら、中小分類が空白に戻る」 など、これを超える処理をしたいと思えばVBAも視野に入れた方が良いでしょう。 ただ、少々厳しい言い方をさせていただきますが、 おそらく「基本的なところを理解できていない」状態かとお見受けします。 1番さんがご紹介くださった「魔法使いの開発工房」は、 基本的には2010でも通用する動作が満載の、 しかも物凄く砕けた語調のわかりやすいサイトで、 私もお世話になりました。 読破される頃には、アクセスへの見方がだいぶ変わる気がします。 それでもやはり、基本をある程度でもおさえておかないと 何を見ても頭に入ってこない、身につかないのも事実です。 ゆっくり一つずつ理解していくことをオススメします。 踏まえて、 http://www.mahoutsukaino.com/ トップページの「このページについて」辺りから一読されることをオススメします。

ct88
質問者

お礼

回答ありがとうございます。

ct88
質問者

補足

ありがとうございます。 クエリとかいろいろとさわってみましたがだめです。 何度も熟読しやりましたがデータがすべて表示されるまたは全然表示されません。 サンプルファイルでもあるとありがたいのですが…。 1週刊ずっと格闘しましたがだめです。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

どうやって入力されようとしているのかイマイチ分かりませんが、フォームを用いる例なら、 access コンボボックス絞り込み とかで検索するとみつかります。 少々古いですが、当方が万年入門者を脱却するのにお世話になった本の著者のサイトです。ご参考まで。 http://www.mahoutsukaino.com/ac/ac2000/ac2000/sandankai/01.htm http://okwave.jp/qa/q7754437.html の様に、マスタテーブルを用いる場合の例は、こちらにあります。 http://www.mahoutsukaino.com/ac/ac2002/ac2002/sonota/kensaku/ken03.htm 若干のVBAを使用していますが、Accessでこの様な事をしたい場合には避けて通れないと思います。(当方Excel VBAマニアなので、Access VBAから入ったため、Accessのマクロで何が出来るかは存じません)

ct88
質問者

お礼

ありがとうございます。 やってみましたがうまくいきません…。