過去の桐井戸端BBS (桐ver.7)
1326 フォームで絞り込み・ちがった「履歴」 早く完成したい 1999/2/14-16:22
今日は、毎日のようにこのコーナー拝見しています。
「大変勉強になっています」でも、高度な用語にて追いつけませんが。
V7で(「桐」暦1ケ月、一括処理という事がよく出てきますがよく分かりません)

1.絞り込みについて
フォームでコマンドボタンに絞込条件を設け、地区別(10個)・性別・年齢別(8個)に
絞り込み(連続的に(地区別・年齢別は除く))した結果(データ)のみを一覧・タック式に
印刷できないものでしょうか。

更に、地区別・年齢別は選択式にしたいのですが。
2.締切期間として
[開始年月日]とした場合の、二ヶ月後の[締切り年月日]求める計算式は出来たのですが、
別々の項目とした場合には([開始元号][開始年][開始月][開始日])の締切期限の計算式は
どのようにしたらよいのでしょうか。

3.印刷履歴について
2−2DM歴をとりたい
DM印刷後に、再度のDM発送防止の為に「DM発送済み」のような履歴を残すための項目作り
方法はないものでしょうか。

わかりにくい説明でごめんなさい、「ムジュン」する話ですが、なにぶんにも専門
用語的な用語がなかなか分かりませんので、よろしくお願いします。

PS:完成したらPC嫌いの上司(うちの上司、手作業が好きで「もっとスピーディーに仕事をしようヨ!」
)に「ボタンひとつで」出来るんです。と言って稟議書提出予定なのですが少々不安がいっぱい
(「桐」V8.9は会社まかせ)
早く実働させたい
1330 Re:一覧・タック式に印刷 kaz 1999/2/15-00:49
記事番号1326へのコメント
>フォームでコマンドボタンに絞込条件を設け、地区別(10個)・性別・年齢別
>(8個)に絞り込み(連続的に(地区別・年齢別は除く))した結果(データ)の
>みを一覧・タックル式に印刷できないものでしょうか。

フォームのコマンドボタンから、絞りこんだデータを印刷したいということですが、

(機能名) 一覧表印刷  (パラメータ)<一覧表印刷条件名>,・・・ 
又は
(ファイル) レポート印刷  (パラメータ)<レポートファイル名(注:タック
   シール形式で定義済みのファイル)>,・・・

という機能名のコマンド(?)と、パラメータをボタンに設定すればいいと思います。

以上、わかる範囲でですが、書いてみました。お役に立てればいいのですが・・^^;
1331 Re:フォームボタンで絞り込み等 悲しげ 1999/2/15-01:31
記事番号1326へのコメント
どもっ、「早く完成したい」さん。意気込みが伝わる長いお名前ですね(^^;)。

要望点を私なりに整理してみますと、

◆これはDM宛名のタックシール印刷である。

◆年齢層別と性別の多重絞り込みを行った上で、地区別に並べ替えしてタック印刷する。
(正確な順番としては並べ替えが先ですが)

◆2重発送とならないように、発送済みのものにはマーク付けまたは処理日付を入力しておきたい。

以上でよろしいでしょうか?
「絞り込み」と「並べ替え」、それと「履歴」について、用語を整理させていただきました。

さて、PC嫌いの上司へのプレゼンテーションにご協力したいのは、やまやまなれど、実は、
私はフォームのボタンからのやり方は、あまり得意ではありませんので、問題点を整理しただけで、
他の方に振ります。(^^;)
一括処理(要するにマクロ)を使えば簡単なんですが……。
1333 Re: 宮城 1999/2/15-09:37
記事番号1327へのコメント
こんにちは、早く完成したいさん。

一括処理は、最初抵抗感あるでしょうが慣れてしまえばどうってことありません。
基本的には、とんでもない繰り返しのようなものを除いて、表操作でできないものは一括処理も
組めません。
表操作をそのままコマンドに置き換えていくのが、私の一括処理の組み方です。

絞り込みは、比較式と条件名をいろいろやってみてください。範囲は

19990101<=[]<=19990131

なんて書き方を覚えたらどうってことないです。
項目としてカーソルのある自分自身を指定したいときには[]で記述をサボれます。
AND条件は絞ったものをさらに絞ってください。

OR条件は条件名を使います。
複数行指定できますので、たとえば都道府県、年齢がある場合、東京都在住あるいは5歳までの
すべての人といった絞り込みができます。

>DM印刷後に、再度のDM発送防止の為に「DM発送済み」のような履歴を残すた
>めの項目作り方法はないものでしょうか。

操作としてはこんな感じでしょうか。

絞り込みいろいろ。

タックシール印刷。

履歴(履歴という機能が桐にもあります。表操作をそのまま一括処理に記録していく機能で、
実はこれが一番お勧めかもしれません。ただ、お書きになっているニーズとは別物なので、
ここではDM発送最新年月日更新とでもしたほうがいいかも)
は専用項目を追加します。
ある程度繰り返し使うことを考えると、した、しないより、最後にした日付ということで
DM発送最新年月日ぐらいがよかろうかと思います。

操作としてはこの項目にカーソルを持ってきて、置換→#年月日。これで当日の月日が入ります。

最後に絞り込みを解除して終了。

ということは、絞り込みの最初にDM発送最新年月日が<#年月日を追加することになります。

表操作で思ったとおり動かせるようになったら、履歴機能を使ってみてください。
けっこう簡単にできちゃいます。10行くらいでしょうか。
1342 Re: 宮城 1999/2/16-10:00
記事番号1333へのコメント
早く完成したいさん、メール直接いただきましたが、BBS上でいいですよ。
管理者の幅田さんもそういう方針です。

一括処理、最初は不気味でしょうね。名札とか置換とか・・・。
「チカン」なんてあまり口に出さない方がいいかも・・・。

ただ、慣れ次第です。自分の中にパターンがたまれば(というより、一括処理ファイルが
たまればの方が正確かも。
一から打つことはほとんどないのです。
使えそうなのをコピーしてマイナーチェンジばっかり)、どんどん、加速度的にわかっていきます。

それから他の方の書き込みにも書きましたが、一括処理は書けばそれでいいのですが、
同じことを表操作でやろうとすると、めんどくさいし入力ミスったらアウトです。

絞り込み、検索が一通りできるようになり、複数表を同意に使うことを覚え、置換から併合あたりが
わかってくれば、一括処理に進むことをお勧めします。

それではご健闘をお祈りしています。
1364 DM宛名タック絞り込み印刷(1) 悲しげ 1999/2/18-01:03
記事番号1331へのコメント
どもっ、「早く完成したい」さん
掲示板へのコメントに対するe-mailはご勘弁下さい。(;_;)
このようなことが数件続いたので、今回から、投稿に当たって、e-mailアドレスは付記しないことに
しました。

……とこのようなことを書くだけだと、双方後味がよくないので(^^;)、例の件について、
ちょっと一括処理を書いてみました。

◆ダイレクトメール宛名のタックシール印刷。
◆年齢層別と性別の多重絞り込みを行った上で、地区別に並べ替えして印刷。
◆2重発送とならないように、発送済みのものには処理日付を入力しておく。

この3点について、一応は考慮したつもりです(それなりに動作確認済み)。
ただ、全然Win桐らしからぬ、旧態然たるDOS的なやり方ですから、参考にはならないかもしれません。(^^;)
なお、「フォームからボタンで」やるのは、私には凄く難しいように思えました。
この件は、イベントドリブンとのからみで別稿で考えてみます。

TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
変数宣言 整数{&menu1,&menu2,&終了},日時{&前回処理日}

メッセージボックス "              (C)悲しげ(^^;)"\
          ,"DM早く完成したい・やりまっか?"\
          ,アイコン=?,ボタン指定=5,&実行リターン
条件(&実行リターン<>6) 終了

表 "DM早く.TBL"
* 表ファイル名を仮に"DM早く.TBL"としてみた。
* 以下の処理に最低限必要な項目は
*   [性別](文字列型)
*   [年齢](整数型)
*   [更新年月日](日時型)
* 印刷するタック印刷レポートファイル名を仮に"DM早く.rpt"とする。

並べ替え 条件名="〒順"
* 地区順については暫定的に〒番号順としてみた。

繰り返し

 絞り込み解除
 表表示

 *【1】性別指定
 メニュー2 &menu1,&menu1,(08,40),"まず性別指定","男性,女性,両方"
 ケース開始
 ケース(&menu1=0)
  繰り返し中止
 ケース(&menu1=1)
  絞り込み [性別]="男性"
 ケース(&menu1=2)
  絞り込み [性別]="女性"
 ケース終了
 表表示


*【2】年齢層指定(ただし複数指定未対応)
 メニュー2 &menu2,&menu2,(10,40),"次に年齢層指定"\
  ,"未成年,麗しの20代,油ぎった30代,素敵な中年40代,まだまだ50代,老人力だべ60以上,全層"
 ケース開始
 ケース(&menu2=0)
  繰り返し中止
 ケース(&menu2=1)
  絞り込み [年齢]{<20}
 ケース(&menu2=2)
  絞り込み [年齢]{20=<[]<30}
 ケース(&menu2=3)
  絞り込み [年齢]{30=<[]<40}
 ケース(&menu2=4)
  絞り込み [年齢]{40=<[]<50}
 ケース(&menu2=5)
  絞り込み [年齢]{50=<[]<60}
 ケース(&menu2=6)
  絞り込み [年齢]{>=60}
 ケース終了
 表表示

 *【3】前回処理日判断
 *  例として前回の[更新年月日]が1ケ月以上前のものを初期値としてみる
 *  1週間前なら、#日時値(#日数加算(#年月日,-7))とか
 &前回処理日=#日時値(#月数加算(#年月日,-1,1))
 キー入力 (12,30),プロンプト="前回処理日がこの日以前のものを選択(訂正可)"\
   ,モード=確定,上書き=する,初期値=&前回処理日,終了状態=&終了,&前回処理日
 条件(&終了=0) 繰り返し中止
 絞り込み [更新年月日]=<&前回処理日
 表表示
 ケース開始
 ケース(&選択件数=0)
  確認 "該当データがありませぬ。[エンター]or[Esc]で再指定。"
 ケース その他
  メッセージボックス "印刷実行","以上でよろしければ印刷実行します。"\
            ,アイコン=?,ボタン指定=2,&実行リターン
  条件(&実行リターン<>1) ケース中止
  *【4】印刷と今回処理日(履歴)記入
  *レポート印刷 "DM早く.rpt",プレビュー=1,終了状態=&終了
  /* ↑この行は無視(^^;) */
  レポート印刷 "DM早く.rpt",終了状態=&終了
  置換 [更新年月日]=#日時値(#年月日)
  メッセージボックス "","続けて次のDMもやりまっか?"\
          ,アイコン=?,ボタン指定=5,&実行リターン
  条件(&実行リターン<>6) 繰り返し中止
 ケース終了

繰り返し終了


終了
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

長くてすいません<(_ _)> > 他の方

戻る