
Access2013 vba
今工事関係のシステムを作っています。
・工事受注の情報を入力する画面A
・工事部材の注文明細を入力する画面B(帳票・サブフォーム)
・工事の管理情報を入力する画面C(単票・メインフォーム)
・工事の発注明細を入力する画面C2(帳票・サブフォーム)
・受注明細画面D(帳票フォーム)
とあるとして
【A】受注情報管理
・受注ID(main key)
・受注日
・依頼内容
・部材注文合計金額
・発注合計金額
【B】部材注文明細
・部材明細ID2 (main key)
・受注ID(foreign key)
・品番
・商品名
・単価
・数
・摘要
【C】工事管理情報→依頼先会社毎に、受注IDに紐づく
・工事管理ID (main key)
・受注ID (foreign key)
・依頼先会社ID(foreign key)
・工事開始日
・工事終了日
【C2】工事管理─仮発注明細
・明細ID4(main)
・工事管理ID
・項目名
・単価
・数量
・摘要
受注明細を、部材注文明細と仮発注明細から作成するやり方を考えました。
BとC2のレコードから、受注IDをキーにして、全てのレコードを以下のDの受注明細テーブルに格納する・・・。この時、B, C2と、Dは非同期→すると、もし、部材明細や仮発注明細が変更されると、Dが連動してその変更内容が反映出来ません。このやり方が良いのかとうか、いまいちわかりません。ご助言をお願いします・・・。
【D】受注明細
・受注明細ID5(main)
・受注ID
・項目名
・単価
・数量
・摘要
・請求ID
No.5ベストアンサー
- 回答日時:
【アドバイス】質問のテーマに関して再考を!
今回のテーマは、
・受注情報管理とは異なる工事発注伝票の仕様に関わる質疑応答。
さて、[工事発注伝票]は、これまでの受注情報管理の考えだけでは不十分です。
1、発生主義で情報を管理しなければならない。
2.月単位での締切処理に対応しなければならない。
さて、そうなると[工事依頼伝票]と[工事依頼明細]の設計がこれまでと多少違ってきます。それは、[工事依頼明細].[行区分]の登場です。
[行区分]=0: 通常行
[行区分]=1: キャンセル行
[行区分]=9: 調節行
もう一つは、[工事依頼明細].[見積金額]。これは、伝票発行時点での[工事台帳明細].[単価]×[数量]のコピー。ここは、決して、リンクさせてはいけません。あくまでも、発生主義の原則を貫きます。
【工事依頼伝票】
ID
日時
依頼先_ID
摘要
【工事依頼明細】
ID
工事依頼伝票_ID
行番号
行区分
受注台帳_ID
工事台帳_ID
受注案件名
工事名
発注金額
見積金額
摘要
さて、こういう風に質問のテーマに関して考察していけば、[工事依頼明細].[受注台帳_ID]はコンボボックスで選択もありという状況が見えてくるかと思います。また、テーブル[受注台帳]に[工事依頼完了](Yes/No)列があったら・・・。ということも。
と、
お忙しい中、ご回答していただきありがとうございます。
ご説明していただいた中で、良くわからない言葉があるために、混乱してしまいます。
ですので確認させて欲しいのですが、
*1)工事依頼明細とは、私が質問のなかで書いた工事発注明細のことを指していますか?
*2)行区分の調節行とは、金額の調整、値引きとかそういうことに使うということでしょうか?
*3)見積金額が、単価×数量のコピーとはその計算結果の値自体をセットすることでしょうか?
*4)工事依頼明細の工事台帳IDが、何のことかわからないです。
色々、おききしてしまいすみませんが、宜しくお願いします。
No.9
- 回答日時:
Q、工事依頼元へ出す見積もり書作成の場合、既に入力している部材注文一覧と仮工事発注一覧のレコードの項目名、単価、数量を受注IDで紐付けたもの全部使用したいのです。
その場合、クエリーでそうなるようなものを作成し、それをコンボボックスなどで選択するのも一つの手でしょうか・・・A、No!
私の作法では、まず、Accessのクエリーなるものは一切利用しません。
PS、まず、入力フォーム、検索フォームのデッサンを!
一体、ユーザーが直感的に手早く作業するには?ということを念頭に。その実現方法は、後から考えたらいいです。
No.8
- 回答日時:
× 明細行に諸情報を転機して検索フォームを開く。
〇 明細行に諸情報を転機して検索フォームを閉じる。
ご回答ありがとうございます。
気づいたことがありましたので・・・
>受注情報管理----商品マスター管理に相当
>見積り-----------見積書に相当
>工事依頼---------売上伝票に相当(※)
※ 工事依頼は、原価になります。
売上伝票というからには、原価ではなく、売値と言う意味ですよね?
売上は、見積書に書いた金額の合計です。見積は、依頼元に出す見積です。これが売上です。
疑問が解決出来ないです。
No.7
- 回答日時:
【補足】受注、見積り、工事依頼の関係はシンプルに。
受注情報管理----商品マスター管理に相当
見積り-----------見積書に相当
工事依頼---------売上伝票に相当
ですから、見積書の[見積書][見積明細]というメインとサブフォームを持つフォームで入力し、対応したテーブルに発生時点で登録するだけだと思いますよ。現に、会社には見積書綴りが発生順に閉じてありませんか?そして、この場合も、(1)相手がある、(2)月報がある。などで、[見積明細]には区分が発生します。
http://www.officezero.info/zeroce/help/200937201 …
↑
[行番号][区分][コード]・・・・
の並びが、いわゆる伝票明細の基本です。
なお、商品コードを空値にしたら⇒商品検索フォームが開く⇒商品を選択する⇒明細行に諸情報を転機して検索フォームを開く。この商品検索フォームでは、「何らかの検索用情報の入力」⇒「該当する商品」、「該当する商品枝番」の一覧表示。かつ、それぞれの枝番の在庫状況(見積状況)も表示することになります。
こういう風にシンプルに考えたがよいかも知れません。
ご回答ありがとうございます。
工事依頼元へ出す見積もり書作成の場合、既に入力している部材注文一覧と仮工事発注一覧のレコードの項目名、単価、数量を受注IDで紐付けたもの全部使用したいのです。
その場合、クエリーでそうなるようなものを作成し、それをコンボボックスなどで選択するのも一つの手でしょうか・・・
そのレコードに、見積もり単価を入力すれば販売価格が決まると言う流れで・・・それを見積もりの親テーブルと明細テーブルに保存するという流れですね・・・に
No.6
- 回答日時:
全体のテーブル構造を私の粗末な頭が理解できるように若干修正しています。

御礼が遅れましてすみませんでした。仕事の方が多忙になり・・・
丁寧なリレーション図、とても参考になりました。ありがとうございます。
No.4
- 回答日時:
>多分無理でしょうか?
プログラム処理におよそ無理ってことはありません。
>ある受注番号に対する部材の注文明細、
>施工の発注明細の全レコードを一つの明細テーブルで管理したい。
これは、希望としては〇。だが、具体案としては×。理由は、添付図のような受注伝票入力フォームを超えることは不能だからです。例えば、添付図では[工事台帳].[行番号](工事No.)=2を選択に対応した[工事台帳明細]を表示しています。こういう芸当は、メイン-サブの機能があって実現されます。また、そういう工事関係のデータとは無関係に[部材注文控]も受注に対応して管理可能。こういう仕組みは、リレーショナルデータベースならでは。それを崩すアイデアは×です。
>そこから、複数の見積もりに分けたいのです。
それはそれ、これはこれです。

Fa007さん
回答していただきありがとうございます。
データーベースの構造を無視したやり方はしてはいけないと言うことならば、受注のおや画面に二つのサブフォームを作り、それにそれぞれ、部材の注文明細、工事管理親フォーム、工事の発注明細のフォームを表示するやり方しかないと言うことと理解しました。
その場合、複数の請求先が発生する場合を考えて、各サブフォーム側の明細に請求先コードをセット出来るようにします。あと、見積もり単価もこのサブフォーム側に持たせないといけないでしょうね。
すると、請求先コードでフィルターかけて、見積もり作成をすれば、うまく行くとおもいますが、普通、このやり方でも問題ないのでしょうか?
うまくいきますでしょうか?
No.3
- 回答日時:
【補足】もしかして・・・。
受注案件一つに対し複数の工事が発生し、そして、そのそれぞれに内訳工事があるのでは?まあ、その場合でも、添付図のように【D】は無用です。

この回答への補足
fa007さん、
ご回答ありがとうございます。
一つの受注に対して複数の工事があり得ます。そして、そのそれぞれの工事に対して明細がつきます。
しかし、各項目を列方向に出したくありません。
部材の注文明細と、工事の発注明細のすべてのレコードを、一つの一覧にマージしたいのです。列めいは、見積もりようの列名にします。これを、マージ前の2つの明細テーブルに同期させられれば一番良いのですが、やり方がわかりません。多分無理でしょうか
ある受注番号に対する部材の注文明細、施工の発注明細の全レコードを一つの明細テーブルで管理して、そこから、複数の見積もりに分けたいのです。→精算処理→請求処理と、複数の請求先に対して出します。
一つの工事と請求先が対応してるとも限らないので、このようなやり方を考えました。
だから、selectは、使っても無理じゃないかと考えています。
No.2
- 回答日時:
<回答2/2>
不必要な理由は、それはクエリで簡単に作成できるからです。
SELECT 受注台帳.ID, 受注台帳.受注日, 受注台帳.物件名, 工事台帳明細.行番号, 工事台帳明細.工事名, 工事台帳明細.単価, 工事台帳明細.数量, 工事台帳明細.摘要
FROM 受注台帳 LEFT JOIN (工事台帳 LEFT JOIN 工事台帳明細 ON 工事台帳.ID = 工事台帳明細.工事台帳_ID) ON 受注台帳.ID = 工事台帳.受注台帳_ID
ORDER BY 工事台帳明細.行番号;
結果は、添付図のようです。つまり、不必要だということです。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) accessでのフォームの連携について 2 2022/06/14 00:45
- その他(データベース) accessについて 2 2022/05/31 16:58
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
- 財務・会計・経理 1、製造指図書…の製造のため、材料A50000円を出庫し、外出先の工場に加工を依頼した。 なお当工場 4 2022/06/18 10:46
- gooメール クーポンコードは存在しません 1 2022/06/09 10:54
- 建設業・製造業 半導体の仕事がない 4 2022/06/29 14:57
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- 分譲マンション 皆さんの管理組合では)共用部分の修繕工事業者の選定は→どう選定されておられますか? ①管理会社へ丸投 3 2022/10/06 22:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessフォーム全レコードをPDF...
-
Accessの帳票フォームで重複デ...
-
ACCESSでの重複箇所
-
アクセスのテーブルを分ける理...
-
Access2003 フォームの合計の...
-
あるフィールドの最大値を条件...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
Accessでテーブル名やクエリ名...
-
異なるサーバのDBデータ同士を...
-
INSERT INTO ステートメントに...
-
エクセルグラフの凡例スペース
-
Accessファイルを作成者以外は...
-
Access テキスト型に対する指定...
-
テーブルの存在チェックについて
-
db2でisnumericは使えないので...
-
Oracle 2つのDate型の値の差を...
-
Accessのクエリでデータの入力...
-
ACCESSでの改行コード
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessの帳票フォームで重複デ...
-
アクセスのテーブルを分ける理...
-
MS ACCESS 商品価格変更時の該...
-
あるフィールドの最大値を条件...
-
usingの意味がわからないのですが
-
Accessフォーム全レコードをPDF...
-
Accessでクエリの作成、多対1対...
-
ACCESS VBA クエリを開く
-
フィールド名が取得したい
-
Access2021 「ISNULL関数には引...
-
SQL Server 2005 Expressで営業...
-
Accessについて(DLOOKUP関数、...
-
集計結果を別テーブルに更新ク...
-
【Accessクエリ】存在しないデ...
-
FileMakerのUniqueKeyについて
-
SQLコマンドのorder by句
-
Accessでのリレーションシップなど
-
学生 科目 課題のリレーション
-
accessについて
-
受注明細テーブルについて
おすすめ情報