- ベストアンサー
Access 単価変更
Accessで仕入管理を作成しています。 部品テーブルに登録してある単価を変更しても、過去のデーターは単価変更しないように設定にしたいのですが… 現在は、部品テーブルの部品番号と仕入テーブルの部品番号をリレーションシップの設定をしているので、過去のデーターも最新単価に変更されます。 どのような構成にしたら良いのか見当もつかなく困っています。 Access初心者なので、分かりやすく教えて頂けると助かります。 よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- chayamati
- ベストアンサー率41% (260/624)
補足を精査しました。ほぼ完璧ですが以下は確認事項です 1.T仕入明細の発注番号は注文書番号の入力ミス 2.M仕入先、M担当者を追加しました 3.品名、仕入先名、担当者名は重複なしですか またふりがなプロパティで文字列を入力すると自動で生成 ※インデックスプロパティのなしは設定なしことで、重複なしとします 4.T仕入明細の品番にT商品マスタをルックアップ定義 T仕入の仕入先コードにM仕入先をルックアップ定義 T仕入の仕入担当者コードにM担当者をルックアップ定義 5.添付のように全て1:∞の完全整合性です ※∞側から1側のレコードが出来、発注番号から仕入先名を参照出来る 6.各テーブルに規定値を【date()】を追加 ※履歴になる 7.以上ですが、フォーム作成でもお伝えしたい事があります この添付のようなリレーションシップを添付したQをお待ちします
補足
細かく説明頂きありがとうございます。 送って頂いたリレーションシップを基にクエリを作成しました。 Q仕入 T仕入 注文書番号 T仕入 発注日 T仕入 仕入先コード M仕入先 担当者コード M担当者 担当者名 Q仕入明細 T仕入明細 注文書番号 T仕入明細 仕入明細番号 T仕入明細 品番 T部品マスター 品名 T仕入明細 数量 T部品マスター 単価 金額
- chayamati
- ベストアンサー率41% (260/624)
★補足有難うございます >過去のデーターも最新単価に変更されます。 ★T_仕入明細に仕入単価を追加し、仕入れ情報登録時に単価をVBAでコピーします --------------------------------------- Private Sub 氏名_Exit(Cancel As Integer) If 仕入単価 = 0 Then 仕入単価 = 単価 End Sub -------------------------------------- >Access初心者なので、分かりやすく教えて頂けると助かります。 他に確認したいことがありますのでしばらく締めないでください
補足
VBAの知識がないので、理解ができません。 どのように設定すれば良いのですか?
- chayamati
- ベストアンサー率41% (260/624)
次を補足願います 1.部品テーブルの項目名 2.仕入テーブルの項目名
補足
>1.部品テーブルの項目名 T部品マスター 品番(主キー) 品名 単価 >2.仕入テーブルの項目名 T仕入 注文書番号(主キー) 発注日 仕入先コード 仕入担当者コード T仕入明細 仕入明細番号 発注番号 品番 数量 ※現在は、T部品マスターの品番とT仕入明細の品番でリレーションシップを設定してます
- ken-nosuke
- ベストアンサー率36% (56/154)
手元にACCESSが無いため下記サイトを参考にしてください。 「Access 作成したデータが元データが変わっても変化しないようにする方法」 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1114434321
お礼
送って頂いたURLのサンプルが見れなかったのですが、参照用のフォームと 新規追加用のフォームを 別に用意しましたとありますが、テーブルはどのような設定になっているのでしょうか? イメージが湧きませんでした。
お礼
chayamatiさん分かりやすく教えて頂きましてありがとうございました。 マスターの単価変更しても旧単価が反映されました。 VBAが出来ないと限界がありますね。少しずつ勉強します。