No.3ベストアンサー
- 回答日時:
>業務クエリで「作業日」から「支払い日」を表示できるようにしたい・・・
>「末締め」の翌月20日払いや「20締め」の45日後払い
これなら顧客テーブルと業務テーブル?(取引先・作業日・金額など)からクエリを使い表示することが出来ます。
テーブルに必要なフィールドがあれば良いのですがなければフィールドを追加して作らなくてはいけません。
顧客テーブルに締日・翌月定時払いや締め後45日後払いの判断をする支払区分・支払期日・据置日のフィールドが必要です。
例えば 締日は締日の日にち・支払区分は1:定時 2:後払い・支払期日は定時払いの支払い日・据置日は定時払い:月数(翌月なら1・翌々月なら2)後払い:45などの据置日数を保存する。
例えば末締め・翌月20日払いの場合
締日 支払区分 支払期日 据置日
31 1 20 1
支払日: DateSerial(Year(Date(),Month(Date())+[据置日],[支払期日])
で支払う日を求められます。上記はDate()を使って今日の日付を求めてそれを元に支払日を出すようにしていますが指定の日付をDate()の部分に代入する記述に変えることが出来るので作る内容によって変わります。基準となる日付(2005/12月分を出したいとか)をフォームから入力することもできます。
例えば20日締め・45日後払いの場合
締日 支払区分 支払期日 据置日
20 2 45
支払日: DateAdd("d",[据置日],DateSerial(Year(Date(),Month(Date()),[締日]))
で支払う日を求められます。上記も今日(Date())を基準にしてありますが定時払いと以下同様です。
定時払いと後払いの支払う日を一度に表示したい場合は支払区分を使って上記の記述を使い表示できます。
支払日: IIf([支払区分]=1,DateSerial(Year(Date(),Month(Date())+[据置日],[支払期日]),DateAdd("d",[据置日],DateSerial(Year(Date(),Month(Date()),[締日]))
)
これで一度に支払日を求められます。(これも基準は今日の日付になっていますが他と同様に基準日の取得の仕方は色々ありますのでどのように取るかによって変わってきます)
この様にすれば締日の日付をテーブルに保存するような必要はありません。
データベースのテーブルを構築する時は通常は可変するデータはあまりテーブル自体に持たない(保存しない)ようにします。
後は作業テーブルの締日間のレコードを集計して支払う合計額を算出するクエリを作ってクエリ内で顧客テーブルを追加するか作業テーブルの集計するクエリを作りそのクエリを元にクエリを作り顧客テーブルを追加して顧客コード等の顧客を識別できるキーでリレーションし表示に必要なフィールドを選択し新しいフィールドに支払日として前記の支払日を求める記述を入れれば出来ます。
そのクエリでテーブルを作れば支払先と支払日・金額のレコードでなる支払テーブルが出来上がります。
大体こんな感じだと思いますが。
この回答へのお礼
お礼日時:2006/02/27 07:23
みなさんありがとうございました
実はなかなか作業がはかどらず試してから
お返事しようと思ってるうちに「放置」状態に
なってしまいましたm(__)m
しっかり試して追質等でまたご教授お願いします
No.2
- 回答日時:
Q1.「20日締め」は必ず20日でしょうか?
(土日曜日の関係でズレることがあるのか)
Q2.「作業日」とはなんですか?
*用語の意味や仕様を明確にしなければ、何もできません。
No.1
- 回答日時:
仕様が明確でないのでヒントだけですが・・・
先ず、締め日区分("20","30"など)から締め日(2005/12/20,2005/12/31など)を決定してテーブルに保存してください。
次に、クエリの演算フィールドに次のように入力しておけば良いです。
> 「末締め」の翌月20日払い
支払日: DateSerial(Year([締め日]),Month([締め日])+1,20)
> 「20締め」の45日後払い
支払日: DateAdd("d",45,[締め日])
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 項目毎にデータを横...
-
アクセスのスイッチボードで最...
-
アクセスのクエリでSplit関数は...
-
デザインビューにてテーブルが...
-
ACCESSでの別のテーブルのデー...
-
ハイパーリンクの抽出・印刷に...
-
accessでクエリの結果だけをリ...
-
ACCESSでテーブルの一部だけを...
-
アクセスにおける重複データの...
-
ACCESSのテーブル作成クエリに...
-
Accessでテキストが合体できる...
-
更新不可能なクエリに対して更...
-
Accessのテーブルのフィールド...
-
ToV、サブイベント・犬マップの...
-
外部MDBのリンクテーブルの...
-
アクセスのクエリで引き算をし...
-
Excleピボットでデータのない部...
-
エクセルのWEBクエリで取り込め...
-
テキストボックスにクエリ結果...
-
フィールドの更新がない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クロス集計クエリの結果をテー...
-
デザインビューにてテーブルが...
-
アクセスのクエリでSplit関数は...
-
アクセス 項目毎にデータを横...
-
クエリのデータをテーブルに入...
-
アクセス:クエリの結合とリレ...
-
Access「レコードが削除されま...
-
教えてください! アクセスのac...
-
access インポート時、既にある...
-
accessでクエリの結果だけをリ...
-
Access2010「クエリが複雑すぎ...
-
access テーブル作成クエリでテ...
-
更新不可能なクエリに対して更...
-
ACCESSでの重複レコードの削除
-
Access DAOのExecuteメソッドの...
-
テンポラリファイルのための空...
-
ACCESSで行数指定(5万行目~8...
-
Accessクエリで分類ごとの累計...
-
Access 末尾に0を追加したい
-
ACCESS2000 クエリをテーブル化...
おすすめ情報