- 締切済み
業務処理ロジック(プログラミング)
プログラミング初心者です。ロジックも含め教えて頂けると助かります。 プログラミングに関する質問です。(ソースよりのトランザクション設計書を書きたいです。ロジック概要でも良いので教えて下さい。) 素人であるため、お手数お掛けしてしまい申し訳ございませんが、 何卒宜しくお願い致します。 ■ カレンダーテーブル(マスタ:テーブルの変更はなし)が用意されています。(本来は年月が2012年~2020年まで用意されています。)レコードは年月~営業累計まで63個、主キーは年月です。 年月 日付(1) 日付(2) ・・・・・・・・・・・・・・・・・ 日付(29) 日付(30) 日付(31) 201212 1 2 ・・・・・・・・・・・・・・・・・ 29 30 31 201301 1 2 ・・・・・・・・・・・・・・・・・ 29 30 201302 1 2 ・・・・・・・・・・・・・・・・・ (下記にカラムの続き(日付け(31)の隣のカラムから)を書きます) 営業累計(1) 営業累計(2) 営業累計(3) ・・・・・・・ 営業累計(30) 営業累計(31) 0 0 1 ・・・・・・・ 0 20 0 1 2 ・・・・・・・ 20 1 0 0 ・・・・・・・ (1)日付()レコードはカレンダーで、その日の値が入力されています。 (2)営業累計()レコードは、企業が自律的に定めた非営業日には0が入力されていて、それ以外の日を各月でカウントして入力されています。 ★上記条件の際、outputが以下になるような共通関数を作成したいですのですが全く分かりません。申し訳ございません。 INPUT(引数) ・基準となる起算年月日(20121207のような8桁) ・必要日数(09のような2桁) OUTPUT ・営業日付(基準年月日に必要日数を加算したもの:20121215のような8桁) →但し、加算した営業日付が非営業日の場合は翌営業日となる ・営業日付時の営業累計レコードの値 以上です。 宜しくお願い致します。 補足 必要日数が40日、200日など起算年月日の翌月、翌年等も考慮して、営業日付を求めたいです。
- yukieyamauchi
- お礼率0% (0/2)
- JavaScript
- 回答数2
- ありがとう数0
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nine999
- ベストアンサー率44% (512/1140)
カレンダーの必要性が判りませんが、単に表示を見ながら次の作業をするのでしょうか。 カレンダをJSで自動的に作る方法は色々とありますし、テーブルとしては各月の日数だけ判ればOKです。ただし、閏年の計算が必要なので、次のようにして変数で用意します。 myYear = 2012; //年数が入っているものとします lday = new Array(31,28,31,30,31,30,31,31,30,31,30,31); if ((myYear %4 == 0 && myYear %100 != 0) || (myYear %400 == 0)) {lday[1]++;} 基準となる日をどうやって入力するのでしょう? 自動的に取得する場合、日付関数を使います。手入力ならやりやすいようにpromptやフォームから取得して変数に入れます。 myDate = new Date(); myYear = myDate.getFullYear(); myMon = myDate.getMonth() + 1; myDate = myDate.getDate(); 数字が一桁の場合に2桁にする方法。 if (n < 10) n = "0" + n; 日付の加算は次のようにできます。 必要日数をどうやって決めるのか不明ですが、ここでは変数mに入ってるものとします。 m = 20; //20日 myDate = new Date("2012/12/7"); //日付は入力されたものを文字列として与える myDate.setTime(myDate.getTime() + m*24*60*60*1000); //mをミリ秒に直して加算 もう少し細かくやりたいことを絞ってもらったほうが解答しやすいと思います。 また、どんな理解をされているかも判らないため、手短に解答させていただきました。
- shimix
- ベストアンサー率54% (865/1590)
言語はなんですか?JavaScriptカテですが、JavaScriptで書くような内容とも思えません。 また「テーブル」というのが何らかのデータベースのテーブルなのかCSVファイルなのか固定長テキストファイルなのかもわかりません。 そのあたりを補足してください(もしくは適切なカテゴリで再質問してください)。
関連するQ&A
- Access2000クエリで、起算日からの日数を割り出すには!
初歩的な質問で申し訳ありません。 Access2000クエリで、起算日からの日数を割り出すにはどうしたら良いでしょうか? 起算日(年月日)を入力すると、何日経過したかを計算したいのです。よろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- Access 2000 ひと月単位で一日ごとの累計を出したいのですが・・・。
いろいろ探して、 累計: DSum("新規","日報","[日付]<=#" & [日付] & "#") という、式をクエリに貼り付けたのですが、これだと、月ごとの累計にならず、困っています。どなたか、お教えいただけないでしょうか ID 日付 年月 新規 累計 1 2008/10/20 2008/10 1 1 2 2008/10/25 2008/10 1 2 3 2008/11/05 2008/11 2 4 ⇒ 2 4 2008/11/10 2008/11 1 5 ⇒ 3 5 2008/11/15 2008/11 2 7 ⇒ 5 6 2008/11/20 2008/11 1 8 ⇒ 6 7 2008/11/25 2008/11 1 9 ⇒ 7 8 2008/11/30 2008/11 2 11 ⇒ 9 9 2008/12/05 2008/12 1 12 ⇒ 1 10 2008/12/10 2008/12 2 14 ⇒ 3 とにかく、その「日付」の月の初めから、その「日付」の日までの累計が、その「日付」の累計の列に入ればよいのですが、よろしくお願い致します。
- 締切済み
- オフィス系ソフト
- エクセル:日数を求める。
会社が完全週休2日ではなく、会社カレンダーにて営業しています。 パートさんが在職中(または任意の期間)に会社営業日(所定労働日数)が何日あるのかを算出したいと思っています。 対象者が200名近くいるため、会社カレンダー1つを作成し、後は、個人データとして開始日から終了日を入力すると指定した期間の会社営業日が出せる表を作りたいと思っています。 イメージしては・・・ 【sheet1】 【sheet2】 A列(日付) B列 2007/4/1 休 A氏 4/2~4/6 =4日 2007/4/2 営業日 B氏 4/1~4/8 =5日 2007/4/3 営業日 C氏 4/4~4/6 =2日 2007/4/4 営業日 ・ 2007/4/5 休 ・ 2007/4/6 営業日 ・ 2007/4/7 営業日 2007/4/8 休 ・ ・ ・
- ベストアンサー
- Windows NT・2000
- 同じカラム直下に複数のレコードをinsert
初心者です。 DBの同じカラム直下に複数のレコードをinsertさせるにはどうすればよいかどなたか教えて頂けますでしょうか。 以下は入力フォームで入力した複数の日付を確認画面で受け取ったものです。 <table> <th>休日年月日</th> <td>2016/9/12,2016/9/14,2016/9/20,2016/9/26,2016/9/28</td> </table> 日付が一つでしたらinsertは可能ですが、複数の場合はinsertできませんでした。 複数でinsertした場合のDBのイメージは以下の通りです。 holiday(カラム名) 2016/9/12(レコード1行目) 2016/9/14(レコード2行目) 2016/9/20(レコード3行目) 2016/9/26(レコード4行目) 2016/9/28(レコード5行目) どなたか教えて頂けたら幸いです。 よろしくお願い致します。
- 締切済み
- PHP
- アクセスで営業日を計算させる方法について
アクセス2003で作業管理のデータベースを作っています。 フォームで入力された作業開始日に部品ごとに決まっている規定作業日数(営業日のみ)をたして作業完了予定日を出したいのですが、うまくできなくて、どうしようもなくなってしまい、質問させていただきました。 ○テーブル「部品マスタ」 部品番号 部品名 規定作業日数 ○テーブル「カレンダー」 年月日 営業日フラッグ (営業日フラッグは、営業日が1、休業日を0としています) ○テーブル「受注マスタ」 受注ID 部品番号 作業開始日 作業完了予定日 上記「部品マスタ」と「受注マスタ」をもとにクエリを作成し、入力フォームを作成しました。 ○フォーム「受注データ入力」 (入力)受注ID (入力)部品番号 (入力)作業開始日 (表示)部品名 (表示)規定作業日数 (計算)作業完了予定日 翌営業日とか3営業日後という風に納期などを計算する方法は見つけられたのですが、そこから応用をきかすことができなくて、行き詰ってしまいました・・。どなたか助けていただける方、よろしくお願いします。
- 締切済み
- オフィス系ソフト
- エクセル マクロを使って日々の実績を累計したい
エクセルで各社員の日々の販売実績を入力しています。 縦の列に各社員の氏名、横の列は商品名(9種類程度)の表になっています。 この表(シート名:営業実績表)に各自の実績を入力し、1営業日分を印刷、さらに別のシートに累計(シート名:実績累計表)しているのですが、 その際にわざわざ電卓をたたいて累計を入力している有様です。 そこで、この作業をマクロを使って簡単にできないものかと思いこちらに質問させていただきました。 ポイントは (1)1営業日分に関しては紙面での報告だけを求められているので、印刷、累計後はクリアしている。次の日、同じ表を使って日付を一日進めた上で実績を入力している。 (2)累計は一週間、一ヶ月単位ではなく、商品のラインナップが変わるまで行っているため、定まった期間が無い。累計の表に関しては印刷とデータ化を求められている。 (3)エクセルのバージョンは2002です。 以上です。 わかりやすくマクロの式を例示していただければ幸いです。ご回答お待ちしています。
- ベストアンサー
- Excel(エクセル)
- javascriptで、○営業日後を求める
よろしくお願いします。 平日を営業日、土日と、あらかじめ指定した日付を非営業日として、 「今日から○営業日目」の日付を求めるプログラムを作りたいです。 例えば、「6/22」をあらかじめ非営業日に指定しておき、 本日6/18(月)から5営業日目は6/26(火) というものです。 よろしくお願いします。
- 締切済み
- その他([技術者向] コンピューター)
- 教えてください3
初心者なのでわかりやすくお願いします。 生年月日と今日の日付を読み込み、生年月日から今日までの日数を計算して出力するプログラムを制御文を用いて作成せよ。 配列、ポインタは使用禁止とする。関数は用いてもよい。 うるう年とは4で割り切れかつ100で割り切れない年、及び400で割り切れる年はうるう年である。 ただし、 1.年月日は西暦とし、入力できる年月日は西暦1800年1月1日以降とする 2.年月日が正しい範囲内にないときは、入力データ誤りとみなしメッセージを出力して終了 3.生年月日が今日の日付より後のときも、誤りとみなし メッセージを出力して終了とすること。 <実行結果> ** 生年月日を入力してください ** 1985 2 4 ** 今日の日付を入力してください ** 2010 6 12 1985年2月4日から今日までの日数は 9259日です ちなみに西暦1年1月1日から今日までの日数は 733935日です さらに西暦1年1月1日から生年月日までの日数は 724676日です <実行結果> ** 生年月日を入力してください ** 12 3 4 ** 今日の日付を入力してください ** 123 4 5 ** 入力した年月日が正しい範囲内にありません <実行結果> ** 生年月日を入力してください ** 1987 1 2 ** 今日の日付を入力してください ** 1800 1 1 ** 生年月日が今日の日付より後になっています **
- 締切済み
- C・C++・C#
- Access 近似する日付の検索
任意の日付を入れるとその日が営業していればその日の特売品、その日が営業日でなければ次に営業する日の特売品を抽出するクエリ(SQL、関数など)を教えてください。 たとえば、下記のテーブルAがあったときに、次のように動作します。 2000/01/01と入力→2000/01/01、たまごと表示 2000/01/02と入力→2000/01/04、トマトと表示←次営業日 2000/01/03と入力→2000/01/04、トマトと表示←次営業日 2000/01/04と入力→2000/01/04、トマトと表示 テーブルA --営業日------特売品--- 2000/01/01--たまご 2000/01/04--トマト 2000/01/05--ピーマン 2000/01/06--にんじん ちなみに営業日と曜日は関係なく、不定期です。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- SQL文の作成でなやんでいます。
一ヶ月分のカレンダーがあり 営業日には1がたっているテーブルがあります 営業日 営業日フラグ 実営業経過日数 2012/02/01 1 1 2012/02/02 1 2 2012/02/03 0 2 2012/02/04 0 2 2012/02/05 1 3 2012/02/06 1 4 2012/02/07 1 5 2012/02/08 0 5 上記のように実営業経過日数をクエリで抽出したいのですが どのようにサブクエリを作成したらいいのか教えてください
- ベストアンサー
- SQL Server