(現在 過去ログ4 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■616 / inTopicNo.1)  カレンダーのつくりかた
  
□投稿者/ 大岡パンダ -(2005/11/06(Sun) 11:50:04)
    先輩がたの見事なカレンダーは知っていますが 自分で考えるのが大事ということで
    桐で初めてカレンダーを作ってみました
    結果はというとうまくいきました だから質問ではないのですが
    自分の考え方に対してアドバイスをいただけたら幸いです
    
    ▼ 目標のカレンダー(自分の会社用)
      @ はがき縦の大きさに 10月はじまりの翌年9月までの通年カレンダーを
        印字する  A4からはがきへは縮小印刷を使うのでここではA4サイズを目標
    
      A 今回は会話処理だけで処理し 5年分を目標
    
      B 休日は不定形なので 直接設定タイプとし 休日の場合 背景色を変えるだけの簡易カレンダー
    
    ◎ 私の方法
    
    1.  年.tbl 月.tbl 日.tbl の表に整数型項目を1個  [年] [月] [日] をそれぞれに設定
        年.tblには 2005〜2009  月.tblには 1〜12  日.tblには1〜31を入力
    
    2.  結合表で年.tbl 月.tbl 日.tblを自己結合させる
       (結合線を結ばない単なる組合せタイプ)
        この表にはありえない日付も含まれているので 月末判定という計算項目を作り
        その月の月末より大の日付に“N” それ以外に"Y”を与え “Y”で絞込みして追い出しします
    
    3.  2.の結合表を書き出し 暦.tblと名づける これで5年分の基礎の縦カレンダー完成
     
    4.  縦カレンダーを横カレンダー型に整形するために 暦.tblに[曜日] [曜日番号] [週番号]を新たに
        項目を設定し 計算式も個々に設定
     
    5.  見出し項目--[年] [月] [週番号]  転置項目名--[曜日番号]  集計項目--[日]と
       して 集計は合計で  暦.tblを転置集計する
          (これは集計を目的としたものではなく配置のために使用しました)
    
    6.  この転置集計した表を書き出し カレンダー.tblと名づける  
       これで1週間横並びタイプのカレンダー完成
    
    7.  休日を設定記入するために カレンダー.tblに [月-記入] [火-記入]------と7個の項目を
        追加設定
        この項目に休日の場合○を記入する  みかけは1週間横並びカレンダーの横に7つのマスメが
        ならんだ形で横の日付を見ながら休日の場合○だけが記入されている形になります
    
    8.  このカレンダー.tblを元にレポートを作成 縦横改段しA4サイズに6行2列タイプに整える
       月曜日の属性式に[月-記入]がヌルでなかったら背景色を変える設定をするように条件式設定
       これをそれぞれの曜日にも設定
       これでカレンダー.tblで希望の期間を絞込みリポートすれば完成
    
    
    ▼ アップした理由
    
      休日設定が不細工な感じ
      カレンダーといっても環境が違えば大きく表示する要素が違うものです
      情報交換する場所が少ないので考え方をチェックして改善する助言をもらいたかった
      また 他の人の作り方も知りたいので
    
       よろしくお願いいたします。
    

引用返信 [メール受信/OFF] 削除キー/
■617 / inTopicNo.2)  Re[1]: カレンダーのつくりかた
□投稿者/ 佐田 守弘 -(2005/11/06(Sun) 21:09:57)
http://www.m-sada.com
    大岡パンダさん
    カレンダーではないですが、能率手帳風の予定表を毎年自作しています。
    基本的な考え方の部分は共通すると思うので、参考までに紹介しておきます。
    
    ●使用する表
    ・予定表.tbl
     [日付]:日時型で、挿入初期値に#日数加算(#直前値[],d"2005/1/1")+1 が設定してあります。
     [休日]:計算項目で、#表引き([日付],=,"休日.tbl",[日付],[休日]) が設定してあります。
     [月曜]:月初めの週の月曜日を求める計算式が設定してあります。月曜日の理由は私の予定表が
     月曜日から始まっているためで、通常のカレンダなら日曜日を求めることになります。
     この他に[曜日]などの項目があります。
     この表は単に行追加を繰り返す(ctrl+↓を押し続ける)だけで、1年分の日付が入ります。
    ・休日.tbl
     [日付]と[休日]の2項目の表で、印刷する年の祝日と会社独自の休日を入力する表です。
     [休日]の項目は文字列型で、ここに「創立記念日」の様な休日名を記載します。
    カレンダの場合も同じ様な考え方での表の持ち方の方が単純かと思います。
    
    ●印刷用のレポート
    私の予定表はA4用紙左右見開き形式で印刷し、中央で裁断するとA5サイズの予定表ができる様に
    しています。
    レポートの形式は複合レポートにタイルオブジェクトを作ってスケジュール表のメインの部分を
    印刷しています。
    タイルオブジェクトを使っている理由は、能率手帳風のレイアウトで独自の工夫を実現するため
    です。しかしタイルオブジェクトは横2段組みができない(と思う)ので、横2列縦7行のタイル
    で作っています。左右に振り分けるために、左側か右側かといった項目がありますが、カレンダ
    には関係なさそうなので割愛します。
    
    さてカレンダですが、上記と共通点はあるかも知れませんが、カレンダなりの工夫が必要かと
    思います。もし私が作るとしたら、横7列縦5行のタイルオブジェクトで作るだろうと思います。
    月初日の印刷位置を該当する曜日に合わせるため、月始めの日曜日の日付から、月末週の土曜日
    の日付までを絞り込んで、該当月以外は日付を印刷しない、あるいは薄墨で印刷するといった
    仕掛を組み込む事になるかと思います。
    なお、一般的なカレンダの様に7列4行で印刷し、5週目がある時にはスラッシュで分けて
    小さな文字で印刷するのは、結構面倒だと思います。
    
    ●数年後のカンレンダ
    最近、いくつかの休日が固定日付ではないものがあって、確か閣議で翌年度の休日が決まる
    様ですね。ですから、数年後のカレンダを先付けで作るのは難しい様に思います。

引用返信 [メール受信/OFF] 削除キー/
■618 / inTopicNo.3)  Re[2]: カレンダーのつくりかた
□投稿者/ 大岡パンダ -(2005/11/07(Mon) 08:18:13)
    ■No617に返信(佐田 守弘さんの記事)
    佐田先生 ありがとうございました
    
    予定表 さっそく 自分で作ってみたいと思います
    
    カレンダー作りはアプローチの方法がたくさんあると思います
    
    人のやり方を聞くと いい刺激になるのに 桐の場合
    
    そういう交流の場が 少ないですね
    
    ● 数年後のカレンダー
    
    本当ですね 今日なんという祝日か言えない時があります
    
    祝日休日表引きスタイルも頭をよぎりましたが 祝日でさえ休日に
    
    ならない場合があって直接記入タイプにしました
    
    
    
    余談ですが 曜日をさわる表を扱う時に いつも思うのですが
    
    曜日を曜日番号で直接あらわす関数があればすっきりするのにと思います
    
    なんで作ってくれないのだろう!!  そう思いません 皆さん
    
    
    

引用返信 [メール受信/OFF] 削除キー/
■619 / inTopicNo.4)  Re[3]: カレンダーのつくりかた
□投稿者/ うにん -(2005/11/07(Mon) 09:27:47)
    > > > > 余談ですが 曜日をさわる表を扱う時に いつも思うのですが
    > > 曜日を曜日番号で直接あらわす関数があればすっきりするのにと思います
    
    思いますね!
    代用としては#対応番号か#MOD(#日数(),7)という感じになってしまいますね。
    #MODの方の考え方を使えば式によっては簡略化できることもありますが。
    (式は簡略化してもわかりずらくなる...)

引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -