過去の桐井戸端BBS (桐ver.9)
30788 別tblのデータをフォームに引っ張ってくることはできますか? ちびねこ 2005/08/08-12:25
A.TBLをもとに一覧フォームを作成し、そのフォームに別TBLのデータを引っ張ってくることは可能でしょうか?
 100万以上、100万未満で それぞれ件数を集計したのですが
そのデータを 一覧フォームにくっつけることはできますか?
フォームでテキストオブジェクトを追加し そこのオブジェクト属性の
テキストタブのソースに"以上.tbl",[件数] と指定したのですができませんでした


30789 Re:別tblのデータを フォームに引っ張ってくることはできますか? アックン 2005/08/08-13:59
記事番号30788へのコメント
ちびねこさん、こんにちは。
スレを立てた人(質問者)は、回答内容を理解できたか、問題を解決できたかを必ず書いて、スレを閉じてください。

回答者以外に読んでいるユーザーが大勢います。
また、過去ログとして多くのユーザーが読みます。
質問者はこうやって解決したのだなと、読む人にわかるようにしてください。

通常はひとつのスレを立てて、それを閉じてから次のスレを立てます。
今回のように複数のスレを立てたときは、回答があった順にきちんと返事を書いてください。

・まだ閉じてないスレッド
No.30726
No.30724
No.30702
No.30686
No.30685
No.30663

と、ここまで書いたら、すでに悲しげさんが指摘しているようですね。(No.30762)
・・・・・・?
ちびねこさん、この掲示板を[ツリー表示] で表示してますか?
ツリー表示すると、スレッドが判別できます。
質問は歓迎ですが、あせらないでいきましょう。

アックン(=^・^=)
30791 Re:別tblのデータを フォームに引っ張ってくることはできますか? ちびねこ 2005/08/08-14:52
記事番号30789へのコメント
タイトルを”できました”にして返信した場合
同じ投稿者が別のツリーに同じタイトルで返信すると 二重登録 となるようなんですが....
先に 同じタイトルで 返信したのが消えてしまいました
別スレに返信した場合でも タイトルは変更したほうがいいのですか?
タイトルと投稿者 をリンクして管理しているのでしょうか?


30794 表引き関数を使えば簡単にできます 佐田 守弘 2005/08/08-15:00
記事番号30788へのコメント
ちびねこさん
このコメントツリーは、#30725の下にあるべきと思います。(内容的には同じもの)
さて、詳しい話は##30725の下にその先の質問がでれば書く積もりでしたが、ひとまずその真髄のみを伝えます。

 >テキストタブのソースに"以上.tbl",[件数] と指定したのですができません
この設定では"以上.tblは参照されません。
表引き関数を使って、"以上.tbl"を表引きする形で記述して下さい。
それ以上伝えたくとも情報不足でこれ以上答え様がありません。
(まあ、適当な想像で書く事は可能ですが、多分混乱させるだけなので止めておきます。)

後は、リファレンスを参照しながら御自身で解決して下さい。

佐田守弘(KS-00119)
30802 Re:表引き関数を使えば簡単にできます 宮城 2005/08/08-16:20
記事番号30794へのコメント
>A.TBLをもとに一覧フォームを作成し、そのフォームに別TBLのデータを引っ張ってく
>ることは可能でしょうか?

>そのデータを 一覧フォームにくっつけることはできますか?

TBLはデータそのもの、(思い切り乱暴に言い切れば)WFMはデータを見せるためのレイアウト。
これがご理解いただければ、表現がどうもおかしいと気づくでしょう。

引っ張ったりくっつけたりするのはデータとデータのはず。(例外的なものがないわけでもないけど)

> >テキストタブのソースに"以上.tbl",[件数] と指定したのですができません

こんな記述を「開発」してはいけません。(Accessからの「類推」?そんなことしてたらおおやけどしますよ。)

この局面ではフォームのことは考えず、表と表だけでどんなことができるのかをまずしっかり理解したほうがいいでしょう。

照合関係がしっかりしているのなら、佐田さんお書きの#表引き関数でもできるし、
ちびねこさんお得意の「併合」(表操作・コマンド)でもできます。
ただし、併合の相手は WFMでなく、TBLですからお間違えなきよう。

30806 Re:別tblのデータを フォームに引っ張ってくることはできますか? コルネ 2005/08/08-17:58
記事番号30788へのコメント
フォームに件数の集計結果を表示したいのですか?

でしたら、フォームで集計しましょう。
#COUNT っていう関数があるます。
30807 Re:表引き関数を使えば簡単にできます アックン 2005/08/08-18:37
記事番号30802へのコメント
宮城さん>
>TBLはデータそのもの、(思い切り乱暴に言い切れば)WFMはデータを
桐の表は、
「データそのもの」を格納するデータベース部分
「データを見せるためのレイアウト」のインターフェース部分
ふたつの機能を持っているのが特徴です。
DOS桐時代に開発に携わった笠原由紀子さんが、表=データじゃないってことをわかってほしいって、
ことあるごとに書いていたのになあ・・・・

アックン(=^・^=)
30808 Re:表引き関数を使えば簡単にできます 宮城 2005/08/08-19:20
記事番号30807へのコメント
アックンへ

では言い換えましょうか? 「フォームは『データ』ではありません」
事実、私はよっぽどでなければフォームは使いません。画面表示と一覧表で9割がた用は足ります。

30809 Re:表引き関数を使えば簡単にできます うにん 2005/08/08-19:25
記事番号30802へのコメント

>> >テキストタブのソースに"以上.tbl",[件数] と指定したのですができません
>
>こんな記述を「開発」してはいけません。(Accessからの「類推」?
>そんなことしてたらおおやけどしますよ。)

カンマでなくてピリオドですけど、「表.項目名」というのは結合表の時に使う書き方ですね。
他の場面では、「どの行のデータを」という情報が無いので無理です。

30810 Re:表引き関数を使えば簡単にできます アックン 2005/08/08-19:31
記事番号30808へのコメント
宮城さん>
[TBLはデータそのもの]であるという認識は誤りです、というのが私の書き込みの主旨です。
フォームを云々言っているのではないですよ。
30814 Re:表引き関数を使えば簡単にできます 宮城 2005/08/08-22:19
記事番号30810へのコメント
アックンさん

>[TBLはデータそのもの]であるという認識は誤りです、というのが私の書き込
>みの主旨です。
>フォームを云々言っているのではないですよ。

30822 Re:別tblのデータを フォームに引っ張ってくることはできますか? ちびねこ 2005/08/09-12:17
記事番号30806へのコメント
フォームで 当月のデータを絞り込みして それを行集計かけています

     100万未満   10
     100万以上    3
A営業所         13
     100万未満   25
     100万以上    8
B営業所         33
     100万未満   45
     100万以上   12
C営業所         57
      :
     100万未満   16
     100万以上    4
I営業所         20
−−−−−−−−−−−−−−−−−−   
100万未満   250
     100万以上 75
−−−−−−−−−−−−−−−−−−
 合計    325

というように 集計したいのですが

組織ごと 組織ごとの未満 以上、合計は 行集計ででたのですが
トータルてきな 未満、以上を集計するのがうまくいかないのです

行集計をかけた結果を 集計.tblに書き出しをして
そこで 以上、未満で絞込みをそれぞれかけて 件数の合計値を
以上.tbl 未満.tblにそれぞれ書き出しして それのデータを
引っ張ってこようと思っていたのです
本当は ひとつの表ですべて行いたいのですが...

ひとつのTBLに 集計するようなやり方はあるでしょうか?

元データは 値集合で 100万未満 に番号 1
100万以上に 番号 2 となっていて データ型は文字列です



30823 なんとかできました^^; ちびねこ 2005/08/09-14:05
記事番号30822へのコメント
 行集計 中計[支出額]{[支出額]#項目値([支出額]),[支出額件数]#件数
([支出額])},大計[組織]{[組織]#項目値([組織]),[支出額]"",[組織件数]#件数([組織]),[支出額件数]"",[総件数]""}
 データ行 無効
 書き出し 表, "集計結果.tbl" {[組織],[支出額],[組織件数],[支出額件数],[総件数]}
 書き出し 表, "集計一覧.tbl" {[組織],[支出額],[組織件数],[支出額件数],[総件数]}
 行集計解除
 表 "集計結果.tbl"
 絞り込み [支出額]{=*"以上"}
 行集計 総計{[支出額]#項目値([支出額]),[支出額件数]#SUM([支出額件数])}
 データ行 無効
 書き出し 表, "集計一覧.tbl",追加, {[組織],[支出額],[支出額件数]}
 行集計解除
 絞り込み解除 *
 絞り込み [支出額]{=*"未満"}
 行集計 総計{[支出額]#項目値([支出額]),[支出額件数]#SUM([支出額件数])}
 データ行 無効
 書き出し 表, "集計一覧.tbl",追加, {[組織],[支出額],[支出額件数]}
 行集計解除
 絞り込み解除 *
 行集計 総計{[支出額]"合計",[総件数]#SUM([組織件数]) }
 データ行 無効
 書き出し 表, "集計一覧.tbl",追加, {[支出額],[総件数]}
 行集計解除
 終了 表 #IS表


これで なんとかできました.....


30824 集計結果の表示について ちびねこ 2005/08/09-15:01
記事番号30822へのコメント
なんとか 自分の思った集計結果を得ることはできたのですが
TBLに書き出したときに

 組織   支出額   件数 総件数
     100万未満   10
     100万以上    3
A営業所         13
     100万未満   25
     100万以上    8
B営業所         33
     100万未満   45
     100万以上   12
C営業所         57
      :
     100万未満   16
     100万以上    4
I営業所         20
−−−−−−−−−−−−−−−−−   
100万未満   250
     100万以上 75
−−−−−−−−−−−−−−−−−−
 合計    325

というように 集計したいのですが 集計結果がでるのですが
これを

組織   支出額   件数  総件数
A営業所 100万未満   10
     100万以上    3   13

B営業所 100万未満   25
     100万以上    8 33

C営業所 100万未満   45
     100万以上   12   57

      :
I営業所 100万未満   16
     100万以上    4   20
−−−−−−−−−−−−−−−−−−−−   
100万未満   250
     100万以上 75
−−−−−−−−−−−−−−−−−−−−
 合計        325

というように表示することはできるでしょうか?
レポートでこのように表示しようと 白紙のレポート定義でやろうとしたのですが
データを引っ張ってくることができませんでした

30825 Re:集計結果の表示について アックン 2005/08/09-16:40
記事番号30824へのコメント
ちびねこさん、がんばってますね。
1番目の例が表で、2番目の例がレポート希望のようですが、両方とも表でやってみます。
表に作業項目を設けると、行集計だけでできます。

2番目の例では、勝手に一部変更しています。

> 組織   支出額   件数  総件数
>A営業所 100万未満   10
>     100万以上    3   13  ←この値を・・・・

> 組織   支出額   件数  総件数
>A営業所 100万未満   10
>     100万以上    3
                 13  ←次の行に表示します

集計レベルが違うときは、ふつう行を変更すると思います。
どうしても同じ行でとなると、他の手を考えなければ難しいような気がします。

・表の定義
[組織]  データ型:文字列
[支出額] データ型:文字列
      項目値:"3000万未満" "3000万以上"
[件数]  データ型:文字列
[総件数] データ型:文字列
[未満]  データ型:数値
     項目計算式:#cond([支出額]="3000万未満",1)
[以上]  データ型:数値
     項目計算式:#cond([支出額]="3000万以上",1)

以下のプログラムは履歴の一部をそのままコピペしたものです。
・1番目の例
並べ替え条件登録 条件名="",{[組織] 昇順,[支出額] 降順}
並べ替え 条件名=""
条件 (#U <> #処理条件名検索(7, "")) 行集計条件削除 条件名=""
行集計条件登録 条件名="",並べ替え=しない,総計{},{[件数]#件数([未満]),
[組織]"3000万未満"},{[件数]#件数([以上]),[組織]"3000万以上"},{[件数]
#件数,[組織]合計},中計[組織]{[件数]#件数,[組織]#項目値},小計[組織]
[支出額]{[件数]#件数([支出額]),[支出額]#項目値}
行集計 条件名=""
データ行 無効

・2番目の例
並べ替え条件登録 条件名="",{[組織] 昇順,[支出額] 降順}
並べ替え 条件名=""
条件 (#U <> #処理条件名検索(7, "")) 行集計条件削除 条件名=""
行集計条件登録 条件名="",並べ替え=しない,総計{},{[件数]#件数([未満]),
[組織]"3000万未満"},{[件数]#件数([以上]),[組織]"3000万以上"},{},{[件数]
#件数,[組織]合計},中計[組織]{[総件数]#件数([支出額])},小計[組織]
[支出額]{[件数]#件数([支出額]),[支出額]#項目値,[組織]#cond( #項目値([支出額])="3000万未満" , #項目値 )}
行集計 条件名=""
データ行 無効

アックン(=^・^=)
30843 できました ちびねこ 2005/08/10-12:07
記事番号30824へのコメント
 書き出し 表, "当月.tbl" {[組織],[支出額]}
 行集計解除
 転置集計 {[組織]},[支出額],[支出額],集計種別=件数
 書き出し 表, "配送.tbl"

とやって
 組織  100万以上 100万未満 件数
A営業所  3      10   13
B営業所  8      25   33
         :

これを レポートで
 組織  件数  支出額   件数
A営業所  13  100万以上  3
         100万未満  10
         :

となるようにしました

戻る