• ベストアンサー

Accessでのリレーションシップなど

こんばんわ。過去ログを調べてみたのですが、ちょっと今ひとつ不明な点がありましたのでお伺いさせて 頂きたく記載致しました。現在、下のようなテーブルを作っております。 1)費目DB(合計60件ほど) ・科目番号←主キー設定済み ・大科目 ・中科目 ・小科目 ・予算金額 2)入力DB(約200件ほど入力/月) ・科目番号 ・金額 ← データ型:数値型/フィールドサイズ:長整数型/書式=通貨 ・調達伝票起票日 ・契約伝票起票日 リレーションシップで、1)費目DBの科目番号を「1」とし、2)入力DBの科目番号を「∞」として 組んでおります。 やりたい事は、2)入力DBに複数存在する同じ科目番号同士の金額を合計したものを出したい、という 事です。吐き出されるファイルのレコードのイメージは ・科目番号 ・大科目 ・中科目 ・小科目 ・金額の合計  です。 又、上記プラス2)入力DBにある「調達伝票起票日」毎(例:5/1~5/30分)の合計金額、という形でも 出したいのですが…。 尚、科目番号(8桁)には意味がありまして、左2桁=大科目の番号 次の3桁=中科目の番号 最後の 3桁=小科目 の番号を8桁の連番として科目番号をしております。 例えばこのような状態で科目番号11310XXX~11320XXXのみを抽出したい場合、どのようにすれば 宜しいでしょうか。 とりあえず苦労しているのが何故か金額が計算されない、という事です。データ型などの設定が誤っている 所為でしょうか。 それから、クエリーとリレーションシップとの大きな違いは、どういう所なのでしょう。 お手数ですが、どなたかご教授頂けますと大変助かります。何卒宜しくお願い致します。

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

  • ベストアンサー
  • paz777
  • ベストアンサー率47% (77/163)
回答No.1

こんにちは。 まずは、質問1から。 >2)入力DBに複数存在する同じ科目番号同士の金額を合計したものを出したい 作成するファイル(?テーブルですよね?)を「科目集計DB」として、 クエリーのSQLビューで以下の通りに記述してください。 ------------------------------------------------------------------------- SELECT A.科目番号, A.大科目, A.中科目, A.小科目, Sum(B.金額) AS 金額の合計 INTO 科目集計DB FROM 費目DB AS A, 入力DB AS B WHERE (((A.科目番号)=[B].[科目番号])) GROUP BY A.科目番号, A.大科目, A.中科目, A.小科目; ------------------------------------------------------------------------- 普通の集計クエリーにすると「入力DB」に科目番号のないものも集計されてしまい ます(多分、リレーションショップの関係で)。 質問2。 >上記プラス2)入力DBにある「調達伝票起票日」毎・・・ 上記のクエリーをちょっと変更して ------------------------------------------------------------------------- SELECT B.調達伝票起票日, A.科目番号, A.大科目, A.中科目, A.小科目, Sum(B.金額) AS 金額の合計 INTO 科目集計日付DB FROM 費目DB AS A, 入力DB AS B WHERE (((A.科目番号)=B.科目番号)) GROUP BY B.調達伝票起票日, A.科目番号, A.大科目, A.中科目, A.小科目; ------------------------------------------------------------------------- なお、日付の範囲指定をしたい時はWHERE句に日付抽出条件を追加してください。 質問3. >例えばこのような状態で科目番号11310XXX~11320XXXのみを抽出したい場合・・・ BETWEEN関数を使えば出来ると思います。 この例では 「A.科目番号 BETWEEN '11310000' AND '11320ZZZ'」 小科目が数字のみであるなら 「A.科目番号 BETWEEN '11310000' AND '11320999'」 で良いと思います。 質問4. >クエリーとリレーションシップの違い・・・ クエリーはテーブル毎のデータ連携をするだけで、リレーションショップはデータ連携をすると共に、データの整合性まで行うところかなぁ。ちょっと自信ないです。 (オプションで「参照整合性」にチェックを入れた場合のみ) こんなので良いでしょうか? ではでは・・・

choko_late
質問者

お礼

こんばんわ、と申しますか、おはようございます<(_ _)> この度は、SQLの記述まで非常にご丁寧にご教授頂きまして誠に有難うございました。おかげさまで無事、作業 が完了しました。 ホッとしたと同時に「Accessって本当に奥が深い」というか、勿論、素晴らしい!と感動したことも事実なの ですが、これらの機能をフル活用出来たらどんなに良いだろう…とも思いました。まだまだ勉強不足すぎです ので、これを機に更に頑張りたいと思います。 本当に有難うございました。また、どこかでお会いするような事がありましたら、是非とも宜しくお願い 申し上げます。重ね重ね、誠に有難うございました。

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

その他の回答 (1)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

クエリを使えば簡単に出来ます。 ・科目番号・大科目・中科目・小科目・金額が入ったクエリを作り(Σ)集計で グループ化して金額のフィールドをグループ化ではなく合計に変更すれば 科目番号内の小科目ごとの集計ができます。並び替えは科目番号から全て 昇順にすれば間違えはないでしょう。 ・大科目の集計が必要なら他の・科目番号・中科目・小科目をクエリから削除 すれば大科目のみの集計が出来ます。中科目ごとの集計をしたければ・大科目 ・中科目のフィールドを残せばOKです。 「調達伝票起票日」毎の集計をするならそのクエリに「調達伝票起票日」の フィールドを追加して抽出条件にBetween 5/1 And 5/30と指示すればその期間 の集計をします。 「調達伝票起票日」のフィールドはグループ化ではなく WHERE条件を選択すること。 同じ様に科目番号の範囲を指定したければ科目番号の抽出条件に Between 11310XXX And 11320XXX と指示すればOKです。 クエリとリレーションの違いは・・・。 クエリはデータ毎の連携でリレーションはテーブル毎の連携みたいな理解で良いのではないかと思います。

choko_late
質問者

お礼

こんばんわ、と申しますか、おはようございます<(_ _)> この度は、ご丁寧にご教授頂きまして誠に有難うございました。おかげさまで無事、作業が完了しました。 又、クエリとリレーションの違いにつきましても簡潔に、かつ判り易くご説明頂きました事に感謝致します。 ホッとしたと同時に「Accessって本当に奥が深い」というか、勿論、素晴らしい!と感動したことも事実なの ですが、これらの機能をフル活用出来たらどんなに良いだろう…とも思いました。まだまだ勉強不足すぎ ですので、これを機に更に頑張りたいと思います。 本当に有難うございました。また、どこかでお会いするような事がありましたら、是非とも宜しくお願い 申し上げます。重ね重ね、誠に有難うございました。

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

関連するQ&A

  • 簿記の質問

    3伝票制により起票している。 1、次の伝票はある取引にもとづいて作成されたものである。これらの伝票からその取引を推定して、その仕分けを示しなさい。 出金伝票            振替伝票 科目  金額       借方科目  金額      貸方科目  金額 仕入  120000      仕入    80000      買掛金   80000 2、次の取引について起票された入金伝票にもとづいて、振伝を完成させなさい。 (取引) 中国商店に商品350000を売上、代金のうち160000は現金で受け取り、残りは掛けとした 入金伝票 科目    金額 売掛金  160000 答案用紙 1、  借方科目  金額    貸方科目  金額   ?      ?       ?     ? (2行回答) 2、            振替伝票  借方科目  金額    貸方科目  金額   ?      ?       ?     ? ?に答えをお願いいたします。

  • 簿記の基本

    3伝票制により起票している。 1、次の伝票はある取引にもとづいて作成されたものである。これらの伝票からその取引を推定して、その仕分けを示しなさい。 出金伝票            振替伝票 科目  金額       借方科目  金額      貸方科目  金額 仕入  120000      仕入    80000      買掛金   80000 答案用紙 1、  借方科目  金額    貸方科目  金額   ?      ?       ?     ? (2行回答) 2、次の取引について起票された入金伝票にもとづいて、振伝を完成させなさい。 (取引) 中国商店に商品350000を売上、代金のうち160000は現金で受け取り、残りは掛けとした 入金伝票 科目    金額 売掛金  160000 答案用紙 2、            振替伝票  借方科目  金額    貸方科目  金額   ?      ?       ?     ? (1行回答) ?に答えをお願いいたします。

  • 【ACCESS2000】 サブフォーム同士の値のチェックを行いたい。

    ・メインフォーム 合計チェックボタン ・サブフォーム1 伝票番号,売上金額合計 ・サブフォーム2 伝票番号,明細行,売上金額 上記のような構成になっており、合計チェックボタンを 押したときに伝票ごとのサブフォーム1の売上金額合計がサブフォーム2の伝票番号でまとめた売上金額合計より、下回っているものがある場合はエラーメッセージを出したいと思っています。(できればその伝票番号もだしたい。) どのようにすればよいでしょうか。

  • 簿記の5伝票制の質問です

    取引にもとづいて作成されたものです。これらの伝票からその取引の仕分けをしなさい。 5伝票制の起票している。 1、 売上伝票 科目    金額 売掛金  50000 (答案) 借方科目   金額      貸方科目   金額  売掛金   50000     売上     50000 2、  仕入伝票             出金伝票 科目   金額          科目   金額 買掛金 150000        買掛金 60000 (答案) 借方科目   金額      貸方科目   金額   ?      ?         ?      ? 2の?の部分がわからないのでおしえてください。

  • 簿記の質問

    取引にもとづいて作成されたものです。これらの伝票からその取引の仕分けをしなさい。 5伝票制の起票している。 1、 売上伝票 科目    金額 売掛金  50000 (答案) 借方科目   金額      貸方科目   金額   ?      ?         ?      ? 2、 仕入伝票             出金伝票 科目   金額          科目   金額 買掛金 150000        買掛金 60000 (答案) 借方科目   金額      貸方科目   金額   ?      ?         ?      ? (2行回答) ?の部分に答えをお願いいたします。         

  • 簿記の質問

    簿記の質問 当店は5伝票制により起票している。次の取引にもとづいて起票しなさい。 新宿商店に商品300000円を売上、代金のうち200000円は現金で受け取り、残額は掛けとした。 売掛伝票            入金伝票 科目     金額       科目    金額 ?       ?        ?      ? ↓       ↓        ↓      ↓ 売掛金  300000       売掛金  200000          上記の答えでよいのか、違っていたらその答えをおしえてください。 お願いいたします。 ?に答えをお願いいたします。

  • 簿記の5伝票制

    取引にもとづいて作成されたものです。これらの伝票からその取引の仕分けをしなさい。 5伝票制の起票している。 1、 売上伝票 科目    金額 売掛金  50000 (答案) 借方科目   金額      貸方科目   金額   ?      ?         ?      ? 2、 仕入伝票             出金伝票 科目   金額          科目   金額 買掛金 150000        買掛金 60000 (答案) 借方科目   金額      貸方科目   金額   ?      ?         ?      ? (2行回答) ?の部分に答えをお願いいたします。

  • 5伝票制の問いです

    簿記の質問 当店は5伝票制により起票している。次の取引にもとづいて起票しなさい。 新宿商店に商品300000円を売上、代金のうち200000円は現金で受け取り、残額は掛けとした。     売上伝票                 入金伝票   科目     金額            科目    金額   ?       ?             ?      ?   ↓       ↓             ↓      ↓  売掛金    300000          売掛金   200000          上記の答えでよいのか、違っていたら?部分にその答えをおしえてください。 本当にヘルプです。助けてください。

  • Access97 で セクションの件数を出したい

    お世話になりますが、Access97のレポートで・・・ ===伝票番号ヘッダー=====  伝票番号  ===詳細=====   商品明細   商品明細 ===伝票番号フッター=====     伝票合計金額 ===レポートフッター=====      伝票枚数 伝票合計金額の総計 この様に、レポートの最後(フッター部)に、伝票枚数を集計したいのですが、Count([伝票番号])とかだと、詳細の各行を全部カウントしてしまいます。 こんな場合、どうすれば良いのでしょうか?

  • アクセス・ファイルメーカーを使っての枝番処理

    はじめまして。データベースソフトに外部CSVファイルを取り込んで伝票処理を行いたく思っています。 取り込むCSVファイルには 伝票番号 枝番 品名 数量 123456  1  ○○  2 123456  2  △△  5 123456  3  ■■  9 123457  1  ◎◎  3 123457  2  ※※  6 ~~~~~~~~~~~~~~ このような感じのCSVデータをデータベースソフトに取り込みたいのですが、一つのレコードに同一伝票番号のデータを多段にして枝番フィールド順に取り込む事は可能でしょうか? 伝票番号 123456 品名1  数量 単価 金額 品名2  数量 単価 金額 品名3  数量 単価 金額 品名4  数量 単価 金額 ~~~~~~~~~~~~ 品名10 数量 単価 金額 ------------------------- 合計      合計金額 こんな感じで表示されたいです。 お知恵を貸してください。