みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
以下質問です。
テーブルA>項目フィールド
テーブルA>金額フィールド
テーブルB>項目フィールド
テーブルAは以下の様に入力されているとします。
項目 金額
りんご 100
みかん 50
りんご 100
上記の状態の時に
テーブルB上で、項目フィールドをキーに以下フィールドを作ります。
集計フィールド=SUM(テーブルA:金額フィールド)
そこで、テーブルBで各フィールドを繰り返し表示で
項目フィールド 集計フィールド
みかん 50
りんご 200
となる様に表示させたいのですが、
現状は、
項目フィールド 集計フィールド
みかん 50
りんご 50
になってしまいます。
これを上手く表示させる方法はないでしょうか?
繰り返しではなく1レコードを1項目ではだめなのですか。
集計項目が沢山あって、
繰り返しができたら、リレーションを組む量が減って楽だと思っています。
> 集計項目が沢山あって
この項目数分のリレーションは不要に思いますが、、
テーブルAとテーブルBの関係が分りません。
テーブルAの全レコードをテーブルBの1レコードで集計
ではないですよね。
Offline
チポさん
>テーブルAの全レコードをテーブルBの1レコードで集計
>ではないですよね。
実はそうなんです。
テーブルBの項目フィールドを繰り返しにし、集計フィールドも繰り返しにして、
繰り返し毎に、集計させれば楽に出来ると思って質問させて頂いたのです。
それならテーブルBは不要でしょう。
テーブルAの集計レイアウトでいいのでは。
Offline
なるほど、
そうですね!
ただ、集計結果のレイアウトを少し凝りたいんです。
具体的には、
貸借対照表や損益計算書を作りたいんです。
データーベースは仕訳の情報になります。
貸借対照表や損益計算書の体裁は集計レイアウトでは困難だと思うんですが?
貸方・借方の一覧を1ページの左右に
ですよね。
FMの弱いところです。
ポータルがいいかな。
ポータル表示用の関連テーブルを新たに作って、
そこで項目ごとの集計、それをポータルで表示。
思いつきですが。。
Offline
2段組みで、できないのかな。
左右といっても、1行ずつ対応してるわけじゃないですよね。
繰り返しだとOR照合になるので、
項目フィールド 集計フィールド
みかん 50
りんご 50
でなく
項目フィールド 集計フィールド
みかん 250
りんご 250
のはずです。
>データーベースは仕訳の情報になります。
その仕訳帳か元帳?で各科目を集計して結果を集計書き出しすれば
実テータになるから個々のデータを好きなように使えるのでは。
皆さん、ご意見ありがとうございます。
もう少し具体的書かせて下さい。
実際は以下の様なDBになります。
■仕訳
現金 1000 売上 1000
仕入 500 現金 500
現金 5000 借入 5000
売上 100 売掛 100
■集計
売上 100 1000
仕入 500 0
現金 5000 500
借入 0 5000
売掛 0 100
この様な表を、1レコード上で表現したいのです。
私の能力では、全て関連レコードを作る方法しか思いつかず
それだと、1行で2つの関連レコードを作る必要があるため、
5行ありますから、10個の関連レコードが必要になります。
実際はもっと行にすると多くなるものですから
もっと楽に作れないものかと思い、
繰り返しフィールが使えたら良いなと思った次第です。
何かいいアイデアがありましたら、ご教示お願いいたします。
諸口の仕訳はどのように行ってるんでしょうかね。
みかん、りんごだと分かりにくいから勝手に例を変えて、、。適切かどうかわからんが。
例-----------------------(扶養0、社会保険省略)-------------------
借方 貸方
給料手当 190,000 未払金 194,590
通勤手当(非課税) 10,000 雇用保険 1,000
源泉徴収 4,410
———————————————————————————————
合計 200,000 200,000
これで貸借は合うし、科目もバラバラになったと思います。
で、こういう仕訳が
レコード
1 給料手当/190,000/借方
2 通勤手当/10,000/借方
3 未払金/194,590/貸方
4 雇用保険/1,000/貸方
5 源泉徴収/4,410/貸方
のように1レコードずつ入ってるのかなあと。今までのやり取りを読んでるとそう思えてくる。
これだとチポさんが書かれたようにポータルかなと同じく思いつきで思うんですけど、でもこれじゃ借方と貸方の数字の突き合わせすら困難な気がするんですけど。
1レコードに借方(数字)と貸方(数字)の2つのフィールドがあって、それぞれ入力、集計、で両者の数字が一致すればオッケーならポータル使う必要もないし。
レコード
1 給料手当/190,000/借方 未払金/194,590/貸方
—————————————————————————————————
2 通勤手当/10,000/借方 雇用保険/1,000/貸方
—————————————————————————————————
3 源泉徴収/4,410/貸方
これなら1レコードでは借方と貸方の貸借は合わないけど、全体の集計では両者の数字が一致しますよね。これで少なくとも仕訳帳の貸借は合わせられる。
仕訳の入力時点での貸借はどのように合わせてるんでしょうか。#11の■集計の貸借も合ってないみたいだし。
Offline
魔笛さん
♯11は足し算ミスです。
修正します。
■仕訳
現金 1000 売上 1000
仕入 500 現金 500
現金 5000 借入 5000
売上 100 売掛 100
■集計
売上 100 1000
仕入 500 0
現金 6000 500
借入 0 5000
売掛 0 100
私は現状、魔笛さんが書かれた2つめの方法で仕訳をしています。
貸借を別々に計算して、PLやBSに反映させています。
今回、改善したいのは、
このPL、BSの計算をする際に勘定科目毎に集計する必要があり
これが数多く、何か簡単にする方法なんです。
何かいい方法はないでしょうか?
#10のTravellerさんの「集計結果を書きだし」を貸借それぞれでやればいいのでは。
>この様な表を、1レコード上で表現したいのです。
科目数×2の数のリレーションが必要になるのかな?
科目のマスタがあるだろうから、それを使ってExecuteSQLのLEFT JOINで計算すれば、リレーションは不要
Travellerさん
なるほど、挑戦してみます!
SQLExecuterさん
簡単にできるんですか!
でも難しそうですね、全くイメージ出来ません。ごめんなさい、
もう少し、教えていただけないでしょうか?
それか、何を勉強すれば良いでしょうか?
こんな感じです。(テストなので検索条件のWHEREは使ってません)
SQL文が完成すれば集計自体は計算式1本なので簡単です。
結果を繰り返しフィールドに入れるのはGetValueで分割。
でも計算が遅い...(科目数5、仕訳数4000弱で3秒ぐらいかかった)
FM独自の集計フィールドかSumの計算フィールドを使って、それをSQLに指定した方が速いかもしれない。
ExecuteSQL ( "
SELECT k.\"科目\", SUM(kari.\"借方金額\"), SUM(kasi.\"貸方金額\")
FROM \"科目\" AS k
LEFT OUTER JOIN \"仕訳\" AS kari ON(k.\"科目\"=kari.\"借方科目\")
LEFT OUTER JOIN \"仕訳\" AS kasi ON(k.\"科目\"=kasi.\"貸方科目\")
GROUP BY k.\"科目\"
" ; Char(9) ; "" )
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 558.45 KiB (Peak: 578.98 KiB) ]