メインコンテンツへスキップ

レコードを1件書き出ししたいとき

コメント

41件のコメント

  • komat

    みなさま

    すごくためになるので うれしいです

    ありがとうございます

  • nkmt

    結局複数回お尋ねしても以下の古い、新しいについては根拠等お示しは頂けなかったと解釈しました。

    >「登録リンク」は昔からある古いやり方ですが、今は初期モードを「C=登録」にするという新機能が追加されています。

    おそらくバッチ、モード C登録はdbMAGIC Ver4当時から存在していたと思いますし、なぜ登録リンクは古い、バッチ C登録が新しいとう話になるのか不思議でなりません。

    質問者様の疑問に対して、登録リンクを提案した直後に、登録リンクは古い、登録モードは新機能とのご投稿をなさいましたが、古い新しいと論ずるからには、機能、性能の優劣や登場時期の差があれば納得できますが、そうではなくて個人的に知った時期の差なのかそこをお示し頂かないと、登録リンクは劣る物ものなのかもしれないと初心者の方も思ってしまう懸念もあります。
    後の御説明で両者に性能面での優劣はないとお示しも頂いている点はいいと思いました。


    Puさんのお尋ねの件ですが、タスク前に印刷ロジック、タスク後にも印刷ロジックを書くという作りは当方は0%に近いぐらいやっておりませんが、Puさんの仰るわかり易さの面ではお考えを理解いたします。

    その場合、印字すべきデータが存在する場合にだけ、その印刷タスクを呼ぶようにするか、あるいは印刷データがない場合、タスク前印字、該当データはありませんでした!という印字、タスク後の印字もされますという仕様、お客様へ説明するとかなんだと思います。

    ページヘッダーを知らない人だったり、知ってても他の人のソースを見てページヘッダーなどに気が付きにくいといった事もあるかもしれませんが、便利な点も当然ありますので有難く利用する事もあります。

  • Pu

    丹田さんこんにちはPuです

    >上から何センチ目にいるとか、あと何行でA4用紙が終わるとか、あと何センチでA4用紙が終わるとかの計算>をすべて記述しなければならないので、プログラムミングが数倍に膨れ上がります。


    タスク前でhead(H)を出力する命令
    タスク後でfooter(F)を出力する命令を記載しても行数計算は不要ですよ
    自動的に改ページしてheadも自動で出力されます 当然ページA(自動)にするだけで、Magicは優秀です
    この機能は昔からありますよ
    でわ~でわ~ 

  • Tanda

    Puさんがおっしゃっているのは、ひょっとして「ページヘッダ」と「ページフッタ」ではなく、普通の「ヘッダ」と「フッタ」のことではないでしょうか?

    「ヘッダ」と「フッタ」でしたら、昔から、おっしゃる通りの動きになりますよ。全然問題ないです。

    Magicの進化はすごいですよ〜。

  • Tanda

    Puさん、

    ちなみに、最新の「Magic 基礎トレーニング」の教材の中でも、「ページヘッダ」と「ページフッタ」をロジック以外で設定する方式は、大きなトピックの1つとして詳しく解説されていますよ。

    基礎トレーニングの教材も、どんどん改訂されています。すばらしい教材だと思います。

  • Tanda

    Puさん、

    ただし、教える側の講師の立場からすると、なぜこのように進化したのかを解説するのは結構、骨が折れます。努力はしていますが。。。

    というのは、新規にトレーニングを受講されるかたは、昔のやり方の経験がありませんので、その違いをひとつひとつ理解していただくより、新しい方式の知識を学んでいただいたほうが効率的ですから。。。

    Magic の機能変遷の歴史を全部解説していたら、3日間では時間が到底足りません ...(笑

  • Tera

    nkmtさん

     

    dbMAGIC V4の頃は終了条件にチェック時期という設定が無く

    現在のチェック時期=B:前置きと同じ動きでした。

    そのため、1件だけ処理させる場合は

    レコードメインに変数(終了フラグ)を定義した上で

    終了条件にその変数が真になる条件を設定、

    レコード後処理でその変数が真になるよう項目更新

    という作りをしていました。

    また、dbMAGIC V4の終了条件は式しか設定できずYes/Noがありませんでした。(式未設定=Noの意味)

    終了条件にYes/Noが設定できるようになったのと

    チェック時期の設定が出来たのはdbMAGIC V5からです。

    終了条件=Yes,チェック時期=A:後置きの設定により

    コーディングがシンプルになり嬉しかったのを憶えています。

     

  • nkmt

    休んでおりました。
    1週間経ってしまいましたがTeraさん ありがとうございました。
    dbMAGIC Ver4は私は少し見た程度なので、知らない事が多いです。
    dbMAGIC Ver5から終了条件にYes/Noが設定出来るようになったのですね。
    バッチ登録モードも最初からあったという事も理解出来ました。
    また既に投稿削除されてますが、他2名様もご同調や意見頂きありがとうございました。

  • nkmt

    dbMAGIC Ver4の頃、
    終了条件に
    COUNTER(0)=2や
    COUNTER(0)>1という式設定をすれば
    メンテーブル指定有り、登録リンク無し、登録モードで
    変数要らずの1件登録が出来たのかもしれないですね。
    ▲上記、メンテーブルとありますがメインテーブルの打ち間違いです。

  • Tera

    nkmtさん

    はい、dbMAGIC V4でも出来ました。

    当時はCOUNTER()関数が無かったので、自前でカウント用変数を定義・更新する必要がありましたが^^;

     

  • nkmt

    昔はCOUNTER(0)関数が無かったのですね。
    それなら自分で変数を用意しないといけなかったですね。
    教えて頂きありがとうございました。

サインインしてコメントを残してください。