過去の桐井戸端BBS (桐ver.9)
27577 縦で選択、横で選択してからカード型で印刷したい 朝太郎(初心者) 2004/09/07-08:48

みなさんこんにちは。
基礎かもしれませんが、恥を恐れず…質問させてください。

---------------------------------
   A B C D E F G
---------------------------------
 1 ○   ○   ○   ○
---------------------------------
 2   ○ ○
---------------------------------
 3 ○   ○     ○
---------------------------------
 4             ○
---------------------------------

表がこんな状態になっている時
○が付いている箇所のみ、それに見合ったカードを印刷したのですが
縦選択して、横選択してっ…て一括処理で記述するしかないのでしょうか?
良い方法かありましたら、ご教授お願いします。
27581 Re:縦横ばらばらの選択 佐田 守弘 2004/09/07-18:38
記事番号27577へのコメント
朝太郎(初心者)さん
桐には横選択という概念はありません。
選択と言っているのは、行を選択する操作ですから、書かれている言葉で言えば、縦選択になるのでしょうか。

選択に際しては指定項目(この場合のA〜Gを指定して行いますから、
そういう意味で言えば、任意の項目(列)の値で行を選択する事になります。

●不明箇所
例示では○だけ書かれていますが、実際の値は○ではないでしょうね。
式で示せる値なのかどうかがポイントですね。

1行に○が1つから4つ並んでいる行があります。1行目は4つ並んでいますが、
1行目についてA、C、E、Gの列をそれぞれ選択するという意味で書かれているのでしょうか。
このあたりの「縦横ばらばらの選択」の意味をもう少し詳しくお知らせ下さい。

佐田守弘(KS-00119)
27587 Re:縦横ばらばらの選択 宮城 2004/09/08-00:03
記事番号27581へのコメント
南海ホークス! ひょっとして「A1」「A3」「B2」・・・を選択したい
という意味では? だとすれば、選択されるべきは、ぜんぜん別にあって、
単なる二次元テーブルが示されているということになりますが。

朝太郎さん、仮定の話で恐縮ですが、もしそうなら、選択されるべきものはどんな形をしているのかをお示しください。


27591 Re:縦横ばらばらの選択 朝太郎(初心者) 2004/09/08-17:46
記事番号27587へのコメント

佐田さん、宮城さん。説明下手で申し訳ありません。
また、早々のコメント大変ありがとうございます。

---------------------------------
   A B C D E F G
---------------------------------
 1 ○   ○   ○   ○
---------------------------------
 2   ○ ○
---------------------------------
 3 ○   ○     ○
---------------------------------
 4             ○
---------------------------------
↑このような表からレポート印刷(タックシール)を出したいのですが

↓このような形にしたいのです。(※○は数字です)

---------- ---------- ---------- ---------
名前1さん 名前1さん 名前1さん 名前1さん
  A     C     E     G
  ○     ○     ○     ○
---------- ---------- ---------- ---------
---------- ---------- ---------- ---------
名前2さん 名前2さん 名前3さん 名前3さん
  B     C     A     C
  ○     ○     ○     ○
---------- ---------- ---------- ---------
---------- ---------- ---------- ---------
名前3さん 名前4さん 
  F     G   
  ○     ○
---------- ---------- ---------- ---------
通じますでしょうか?



27594 タックシール用のデータは 悲しげ 2004/09/08-18:34
記事番号27591へのコメント
どうやら
123・・・と云うのは人の名前で(^^;)、
ABC・・・と云うのは何だか判らないけれども(^^;)(^^;)、
○は数字で(^^;)
それらを使ってタックシール印刷させたいと云うことのようですね。
(例示はもっと判りやすいように書きましょう)
そもそもタックシールは基本的に1データ=1レコードでなければなりませんから、
一括処理を駆使して、そのような印刷専用のデータを別途作成してから、
そのデータで印刷することになろうかと思います。
ABC・・・・と云うのが何だか判らないのが困るけれども(^^;)、
ま、項目名のようですから、次のような一括処理が考えられます。
印刷用作業表.tblの項目構成は、タックシールの各項目に対応して
 [名前かな] 文字列
 [何だろう] 多分文字列
 [数字かな] 数値
元の表の項目構成は
 [名前かな] 文字列
 [A]    数値
 [B]    数値
 [C]    数値
 ・・・・・・・
として
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
変数宣言 数値{&項目数,&項目番号,&数字かな} \
     ,文字列{&名前かな,&何だろう}
表 "印刷用作業表.tbl"
行削除 *,圧縮
表 "元の表.tbl"
&項目数=#項目数
繰り返し( .not #EOF)
 &名前かな=[名前かな]
 繰り返し &項目番号=2,&項目数
  /*項目番号1は[名前?]らしいので項目番号2から最終項目まで*/
  &何だろう=#項目属性(&項目番号,1) /*項目名を取得*/
  &数字かな=#項目属性(&項目番号,0) /*項目値を取得*/
  if(&数字かな)     /*項目値がヌルでなければ*/
   編集表 "印刷用作業表.tbl"
   行追加 [名前かな]=&名前かな \
       ,[何だろう]=&何だろう,[数字かな]=&数字かな
   編集表 "元の表.tbl"
  end
 繰り返し終了
 ジャンプ 行番号=+1
繰り返し終了
編集表 "印刷用作業表.tbl"
レポート印刷 "某タックシール.rpt",・・・・・・
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
印刷作業表には
 [名前かな] [何だろう] [数字かな]
   1     A     ○
   1     C     ○
   1     E     ○
   ・・・・・・・・
のようなデータに展開されている筈ですが、但しテストデータもないので、挙動未確認。(^^;)

27599 Re:タックシール用のデータは 宮城 2004/09/08-19:34
記事番号27594へのコメント
「Think!」って IBMでしたっけ? Imagine!

悲しげさん、[何だろう]は「科目」で[数字かな]が「点数」てところでいかがでしょうか?

そうすると「0点」がありうるということになりますね。(勝手にどんどん想像)未定義値をゼロ扱いしてたりすると厄介だから、
「-1」でも入れときましょうか。

27610 Re:タックシール用のデータは 朝太郎(初心者) 2004/09/09-09:17
記事番号27599へのコメント
悲しげさん、宮城さんありがとうございます。

分かりにくくてすみませんm(_._)m
分かりやすい書き方自体が分からないもので…ちょっとショック(T_T)

宮城さんの想像でほぼあたりです。お手数をおかけします。
悲しげさんの一括処理、早速参考にさせていただきます。
ありがとうございます。

ここで質問すると、桐を何倍も使いこなすことができるような気になります。
ホントカナ…(^^;
これに懲りずにご教授よろしくお願いします。

戻る