
アクセス2003で作業管理のデータベースを作っています。
フォームで入力された作業開始日に部品ごとに決まっている規定作業日数(営業日のみ)をたして作業完了予定日を出したいのですが、うまくできなくて、どうしようもなくなってしまい、質問させていただきました。
○テーブル「部品マスタ」
部品番号
部品名
規定作業日数
○テーブル「カレンダー」
年月日
営業日フラッグ
(営業日フラッグは、営業日が1、休業日を0としています)
○テーブル「受注マスタ」
受注ID
部品番号
作業開始日
作業完了予定日
上記「部品マスタ」と「受注マスタ」をもとにクエリを作成し、入力フォームを作成しました。
○フォーム「受注データ入力」
(入力)受注ID
(入力)部品番号
(入力)作業開始日
(表示)部品名
(表示)規定作業日数
(計算)作業完了予定日
翌営業日とか3営業日後という風に納期などを計算する方法は見つけられたのですが、そこから応用をきかすことができなくて、行き詰ってしまいました・・。どなたか助けていただける方、よろしくお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
後で、No1さんの回答を見て「そういうことか?」と思っていました。
私なら、次のような関数を作ります。
Public Function GetGetDaysWorked(ByVal CName As String, _
ByVal SDay As Date, _
ByVal N As Integer) As Date
On Error Goto Err_GetGetDaysWorked
Dim Hiduke As Date
Dim strSQLQuery As String
Dim dbsCurrent As DAO.Database
Dim rstCalender As DAO.Recordset
strSQLQuery = "SELECT 日付 FROM " & CName & " WHERE 日付 >= #" & SDay & "# AND 稼働日=True"
Set dbsCurrent = CurrentDb
Set rstCalender = dbsCurrent.OpenRecordset(strSQLQuery)
With rstCalender
If Not .EOF Then
.Move (N - 1)
Hiduke = .Fields("日付")
End If
End With
rstCalender.Close
dbsCurrent.Close
Exit_GetGetDaysWorked:
GetGetDaysWorked = Hiduke
Exit Function
Err_GetGetDaysWorked:
Hiduke = "1900/01/01"
Resume Exit_GetGetDaysWorked
End Function
ID 日付 稼働日
1 2006/10/10 Yes
2 2006/10/11 No
3 2006/10/12 Yes
4 2006/10/13 Yes
5 2006/10/14 No
? GetGetDaysWorked("カレンダー", "2006/10/10", 1)
2006/10/10
? GetGetDaysWorked("カレンダー", "2006/10/10", 2)
2006/10/12
? GetGetDaysWorked("カレンダー", "2006/10/10", 3)
2006/10/13
といった感じです。
この回答への補足
やってみましたが、「コンパイルエラー 引数は省略できません」とでてしまいました。日付と稼働日は、それぞれ年月日と営業日フラッグに置き換えればいいのでしょうか?
補足日時:2006/05/19 16:29No.2
- 回答日時:
例えば、"2006/10/10" が作業開始日で規定作業日数=2 だと作業完了予定日は"2006/10/11"になります。
? CDATE("2006/10/10") + (2 -1)
2006/10/11
うーん!
どこで、行き詰っているのでしょうか...
この回答への補足
質問したい事がうまく説明できていなかったようで、すみません。
作業開始日、作業完了予定日ともに営業日、規定作業日数も営業日数で計算させたいのです。営業日というのは、会社独自のカレンダーによるもので、土日祝日が休みというわけではないので、テーブル「カレンダー」のフラッグによって判別させるようにしています。
たとえば、作業開始日が2006/05/02で規定作業日数が8日の場合、2006/05/17を作業完了予定日に返したいのです。
No.1
- 回答日時:
こんにちは、
kt関数アドインを使うと、祝祭日、土日、
銀行営業日などが判断できます。
こちらと組み合わせて利用してはいかがでしょうか。
親切にコードも公開していらっしゃるので、
参考になると思います
参考URL:http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm
この回答への補足
さっそくのアドバイスありがとうございます。説明が不足していて申し訳なかったのですが、できればアクセス内でVBAとかを使ってできればと思っています。
補足日時:2006/05/19 13:34お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- 中途・キャリア さて、社会人になってから13年目。 今まで、機械設計、機械製品の品質管理、部門の経営企画をやってきま 4 2023/07/17 08:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「直需」の意味を教えてください
-
「失注」の意味を教えてくださ...
-
マクロ転記で指定した列の最終...
-
Access2007 クエリ 累計求め方
-
ACCESS2000の帳票フォーム詳細...
-
受注受付期間とはなんですか?...
-
作番ってどういう意味でしょうか?
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Access テキスト型に対する指定...
-
テーブルの存在チェックについて
-
エクセルグラフの凡例スペース
-
Accessでテーブル名やクエリ名...
-
異なるサーバのDBデータ同士を...
-
Oracle 2つのDate型の値の差を...
-
ACCESS VBAにてCSV...
-
SUBSTRING 関数に渡した長さの...
-
Accessでvlookupみたいなことは...
-
Accessクエリーで両方のテーブ...
-
ACCESSで400以上のフィールドが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「直需」の意味を教えてください
-
作番ってどういう意味でしょうか?
-
「失注」の意味を教えてくださ...
-
受注受付期間とはなんですか?...
-
マクロ転記で指定した列の最終...
-
アクセスのクエリで、前回に入...
-
ACCESSで、DMax関数の条件の書き方
-
データシート形式のサブフォー...
-
Access:サブフォームのレコー...
-
access 1対1と1対多のテーブ...
-
VBA でvlookup エラーなどは削...
-
ACCESS 選択した値を別...
-
フォーム入力、更新後処理で指...
-
Accessの受注発注について
-
アクセスで営業日を計算させる...
-
製番管理について
-
大量の受注メールをデータベー...
-
EXCEL 最終行に入力するマクロ
-
Excel 2019 のピボットテーブル...
-
Accessでテーブル名やクエリ名...
おすすめ情報