• ベストアンサー

Access 別テーブルの特定フィールドの数

■Window7 ■Access2013 いつも、お教えいただき、本当にありがとうございます。 お手数ですが、下記の件につきましてお教えいただきたいとおもいます。 【質問】 テーブルが3つあり、それぞれリレーションで結んでいます。 団体テーブル=団体ID 氏名テーブル=団体IDで団体テーブル fmテーブル=氏名IDで氏名テーブル とリレーションを作成しています。 作成しているフォームは 団体名簿=メインフォーム 氏名=サブフォーム fm=データシートビューで別に作成して氏名IDを手動入力して、氏名テーブルと関連付けが出来るようにしています。 fmテーブルには、[姓]、[名]、[年齢]、[性別]などがあり、この中の[性別]で"男性"の 数をメインフォームに表示させたいのですが、DCountを使って見よう見まねでやっているのですが、どうしても出来ません。どのように式を作ればよいか、お教えいただきたいと思います。 何卒、よろしくお願いいたします。

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

  • ベストアンサー
  • panacon
  • ベストアンサー率31% (214/679)
回答No.3

southbreeze さんへ 式は、=DCount("性別","fm","fm.性別='男' and 団体ID=Forms!団体名簿!団体ID") こんな感じと思うのですが、テーブルのイメージが上手くつかめていないかもしれません。氏名テーブルは省いて、fmテーブルに団体IDフィールドを追加したほうが簡単ではと思います。

southbreeze
質問者

お礼

panacon様 ご回答ありがとうございました。出来ました。 =DCount("性別","fm","fm.性別='男性' and 団体ID=Forms!団体名簿!団体ID") で出来ました。もともと、fmテーブルには[団体ID]フィールドがありました(手入力しています(涙) )のでご回答いただいた通りで出来ました。 本当にありがとうございました。 今後共、機会がございましたら、よろしくお願い申し上げます。

その他の回答 (2)

  • panacon
  • ベストアンサー率31% (214/679)
回答No.2

southbreeze さんへ どのテーブルのフィールドをカウントするかはっきりしていなかったからと思います。 テーブルを指定してみました。 =DCount("性別","fmテーブル","fmテーブル.性別='男'")

southbreeze
質問者

お礼

panacon様 度々、ありがとうございます。お教えいただきましたようにやってみましたら...出来ましたんですが、この "fm"テーブル全体にある男性の数を拾いました。だいぶん進歩しました。 ここで、このメインフォームにある"団体ID"と "fm"フォームにある団体IDを結んであげれば良いと思います。 で、おそらく 団体ID=Forms!団体名簿!団体ID とすれば良いとは思いますが、これをどこにどのようにつなげば良いでしょう? =DCount("性別","fm","fm.性別='男性'") お手数ですが、よろしくお願いいたします。

  • panacon
  • ベストアンサー率31% (214/679)
回答No.1

southbreeze さんへ 件数を表示したいフィールドのソースデータに、 =DCount("性別","fmテーブル","性別='男'") としてみてはどうでしょう。

southbreeze
質問者

お礼

panacon様 ご回答ありがとうございます。 やってみましたが、結果は「0」と出ました。 ん~...Error とか 「構文が違う」とはじかれるより、進歩したかな?のような感じですが...?

関連するQ&A

  • Access2003 リレーションされたサブフォームの抽出

    Access顧客情報のデータベースを正規化(VBA)している初心者です。リレーションされているテーブルを元にクエリ(3つのテーブルをつなげただけ)を作成しメインフォームにサブフォームを作りました。3つのテーブルは、1対多でリレーションされています。テーブルAのGR_IDやグループ名で検索しそれに紐づいているCOmpanyは抽出できるのですが、サブフォームのテーブルBのCOmpany nameから抽出することができません。メインフォームからオプションボタンを使用してメインとサブの両方のテーブルを検索したいので、子・親リンクの設定をはずせませんよね?以前の類似質問で「サブフォームのフィルターに入力し、フィルター実行でうまくいきました」とありましたが、具体的にどのように設定(マクロやVBA、再クエリ?)すればいいのかわからず悩んでいます。どうぞ初心者向きのアドバイスをよろしくお願いいたします。 テーブルA GR_ID グループ名 ※テーブルA(1):テーブルB(多) テーブルB GR_ID Company_ID Company name ※テーブルB(1):テーブルC(多) テーブルC Company_ID salesman

  • Accessについて教えて下さい。

    Access初心者です。 フォームのクリック時のイベントで開いた別のフォームを、サブフォームのリンクフィールドように、リレーションの項目を入力しなくてもテーブルに反映させるにはどうしたらいいのでしょうか? 今現在の状況は テーブルは顧客リスト、送付物、問合せがあり顧客IDでリレーションになっています。フォームはそれぞれ作りました。 メインフォームは顧客フォームで問合せのサブフォームが組み込まれています。送付物フォームはボタンでクリック時開くようマクロで作成しました。where条件は[顧客ID]=[Forms]![顧客リスト]![顧客ID]となっています。 例えば手紙を送ることになり、顧客フォームで該当者を選択→ボタンをクリックし送付物フォームを開く →顧客IDを入力→その他必要事項を入力というかんじです。 顧客IDを入力しないと『フィールド顧客IDとキーが一致しているレコードをテーブル顧客リストで探すことはできません』とエラーになります。 問合せのサブフォームは顧客IDでリンクフィールドとなっています。 ID表示が必要ないので顧客IDは消してあります。 こちらは顧客フォームで該当者を選択し、顧客IDを選択しなくても入力すると問合せテーブルに顧客IDも反映されています。 問合せのように送付物にも顧客IDを選択しなくても反映させるようにするにはどうしたらよいでしょうか? 説明がわかりづらいとは思いますが、お分かりになる方よろしくお願い致します。

  • Access フォームのデータがテーブルに反映されない

    こんにちは。 現在、アクセスを使って簡単なデータベースを 作っていたのですが、ひとつわからないことがございます。 テーブルを二つリレーションを組んで、 フォームを作ったのですが、 うまく二つのテーブルにデータが 保存できません。 フォーム:顧客ID、名前、電話番号 サブフォーム:商品ID、商品名、納期、など。。。 こういった二つのテーブルで、サブフォームの方のテーブルに 顧客のデータも保存したいんですが、できるものなのでしょうか? 初心者でわかりづらくて、 大変申し訳ございませんが、よろしくお願い致します。

  • アクセスで・・

    メインフォーム(ID)、サブフォーム(サブID、IDとIDのリレーション)があります。 それとサブフォームの内訳を入力するサブサブフォームが展開し、これはサブフォーム上のコマンドボタンクリックで、サブIDとリレーションされた形でデータを入力する。 という風にしたいのですが、コマンドボタンクリックのところのコードがわかりません・・ どなたかご教授願えませんでしょうか?

  • Access97:サブフォームを切り替え表示したい

    アクセスで仕事で用いられる専門用語の和英辞書データベースを作っております。 その辞書は用語の持つ意味や使われ方などから分類をしています。 分類一覧テーブルは分類ID,分類からなり、用語一覧テーブルは用語IDと用語からなります。 これらをつなぐのが和英辞書テーブルで、辞書ID,分類ID,用語IDからなり、 分類ID,用語IDはそれぞれ分類一覧テーブル,用語一覧テーブルのそれとリレーションシップを 組んでいます。 メインフォーム(既定のビュー=単票フォーム)には分類フィールドを作り、コンボボックスにします。 分類を選択したときまたはその横に「表示」ボタンを設置しておいてそのボタンをクリックしたときに 選択された分類に属する用語一覧がサブフォーム(既定のビュー=帳票フォーム)にリロードされてるように切り替えて表示させたいと考えています。 メインフォーム元:分類一覧テーブル,サブフォーム元:用語一覧テーブルにしたフォームは作成できました。 メインフォームのレコードを切りかえるとサブフォームも切り替わりますが、 コンボボックスの選択でサブフォームを切りかえ(たように見せ)る上記のようなフォームに このフォームから編集することはできるでしょうか? 無理なら新規にフォームを作りなおすとしてできるでしょうか? 自分の発想で2通りやってみましたが、いずれも失敗でした。 (詳しく書いたら文字数が800を超えたので省略します) テーブルの構成やリレーションを多少変えてもいいしフォームのレコードソースにクエリービルダを使ったりVBを組んでもいいので、メインフォームのコンボボックスの選択値によってサブフォームの表示を切り替える方法について教えて下さい。

  • ACCESS サブフォーム MAX関数 テーブル

    ACCESS初心者です。 以下のテーブルがサブフォームに表示されています。 メインフォームの名前をmain_frm サブフォームの名前をsub_frm テーブルの名前をtable とします。 テーブルは以下のように構成されています。 文字|値 a|1 b|10 c|3 d|4 メインフォームにテキストボックスを設置して そこに最大値である10を表示させたい時はどのように関数を組めばよろしいでしょうか?

  • access 2000フォーム検索 サブフォームじゃだめ?

    access 2000でフォームにリレーションされたサブフォームを設置したのですが、使う段になってから気づいたのですが、サブフォームの検索できないんですね。 できないというか、リレーションされた結果が表示されるので、その中での検索となってしまう。 フォーム内容が1体多となっている。 テーブルA id name 1 aoki 2 sasaki テーブルAのidとテーブルBのuidはリレーションされている。 テーブルB uid book 1 辞典 2 漫画 1 ノート テーブルAのid1 aokiを表示しているフォームで、テーブルBの「漫画」で検索した際に検索できるようにするにはどうすればいいでしょうか。

  • ACCESSのサブフォームについて

    ACCESS-2000を使用しております。 リレーションシップを作成し、抽出されたデータをリストボックスに 表示されるようにしました。 そのリストボックスを他のフォームにサブフォームとして挿入し、 メインフォームとリンクをさせたいのですがこれは可能なのでしょうか? リストボックスに表示されるデータの元になっている2つのテーブルと、 リンクを張りたいメインフォームのデータテーブル(1つ)間にリレー ションシップを作成すればよいのでしょうか。 よろしくお願いいたします。

  • Access サブフォームにフィルターをかけるには

    Access初心者です、教えてください。 AのテーブルにIDと名前、BのテーブルにIDと電話番号と管理番号と業種があります。 メインフォームのテキストボックスでAのテーブルからあいまい検索で電話番号を検索、検索結果のIDでBテーブルのサブフォームにフィルターを掛けたいのですが、 どのようにしたらいいのでしょうか?

  • Access テーブルのデータをフォーム上で、検索したい

    こんにちは。Access で簡単な貸出管理データを作っています。 現在、貸出フォームは作ったのですが、 返却フォームを作る際、 今度は、一度テーブルに保存した貸出記録データを 返却フォームで検索して、表示したい場合、どのように したらよろしいでしょうか? 貸出フォームでは、 テーブル1、社員ID、氏名、電話番号 テーブル2、備品ID、備品名、貸出日、返却予定日、 社員ID、氏名、電話番号 これをサブフォームを使ってつくりました。 このテーブル2のデータを返却フォームで検索して、 (備品IDか社員IDで) 表示させたいと思っています。 よろしくお願い致します。

専門家に質問してみよう