![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
受注DBを作成しています。
テーブル1:受注テーブル
(受注日,受注訂正日,得意先名・・)
テーブル2:受注テーブル履歴テーブル
(受注日,受注訂正日,得意先名・・)
フォーム :受注入力フォーム
があります。
受注を受けたら受注入力フォームへ入力します。
受注が変更になった場合、受注訂正日に入力後、
最初に入力したデータを受注テーブル履歴テーブル
へ自動的にバックアップをとりたいと考えています。
更新後処理で、「値の代入」で処理するのでしょうか?イベントプロシージャーで入力するのでしょうか?
バックアップは、初回受注入力フォームへ入力した
データをすべてバックアップしておきたいと
考えております。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
>受注訂正日に値があれば代入しておいた最初のレコードをテーブル2へ保存する記述を追加
別テーブルへの保存はADOを使ってやります。
受注日・受注訂正日・得意先名に該当する非連結のコントロールがText1・Text2・Text3とすると
Dim rs As New ADODB.Recordset
rs.Open "テーブル2", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With rs
.AddNew
![受注日] = Me![Text1]
![受注訂正日] = Me![Text2]
![得意先名] = Me![Text3]
.Update
End With
rs.Close
Set rs = Nothing
これで保存できます。
これを保存ボタンのイベントに追加すればテーブル2に保存できます。
後は受注訂正日に値がないかあるかでIf IsNull([受注訂正日]) Then で処理を分岐させその中に上記のテーブル2への保存を組み込めば良いと思います。
何度も丁寧にありがとうございました!!
できました。
最初は、受注訂正日の更新後処理に上記を書こうと
思っていましたが、保存ボタンの方が確かに合理的
と思い上記通りにさせていただきました。
こうしたい!と思ってから解決するまで
VBAは難しいですが、楽しさもちょびっとわかりつつ
ある気がしています。
ありがとうございました!
No.3
- 回答日時:
>受注が変更になった場合、受注訂正日に入力後最初に入力したデータを受注テーブル履歴テーブルへ自動的にバックアップをとりたい
受注訂正日の更新後処理でテーブル2へ書き込むのは入力処理などレスポンスも合わせてイマイチだと思いますが。
受注訂正日の更新後処理で非連結のコントロールでも用意しておいて受注訂正日に値が入力されたら最初のデータを各フィールド用の非連結コントロールに代入しておいて訂正が終わり新しいレコードをテーブル1に保存する際に受注訂正日に値があれば非連結の各コントロールに代入しておいた最初のレコードをテーブル2へ保存するようにすれば良いと思います。(非連結のコントロールは非可視にしておけば見えないし。)
これはテーブル1へのレコードの保存のプロシージャに受注訂正日に値があれば代入しておいた最初のレコードをテーブル2へ保存する記述を追加するだけで済みます。
#2の方がテーブル2に枝番が入るように思うとありますが受注のレコードなので受注番号等のキーがあると思いますがそのキーに枝番を付けて保存した方が良いという事ですよね。まァしなくてもオートナンバー型のフィールドを1つ追加しておけば済む問題なのでどちらでもかまわないと思います。枝番に+1した枝番を振るロジック組むよりオートナンバー型フィールドを追加する方が簡単ですけど。ただ#2の方のいうように同一日に複数の訂正があった場合の判定に必要ではあります。
ご回答ありがとうございました。
非連結コントロールに値を代入するのはできました。
「テーブル1へのレコードの保存のプロシージャに受注訂正日に値があれば代入しておいた最初のレコードをテーブル2へ保存する記述を追加」
とありましたが、ちょっとこの記述がわかりません・・。もしよければ教えていただけますでしょうか・・。
No.2
- 回答日時:
追記で要らぬお世話かもしれませんが。
。>データをすべてバックアップしておきたいと
テーブル2に枝番(SEQ)が入るように思います。
同一のデータを、同じ日に2回訂正したら
履歴データが2件できますよね?
そしたら
どちらが先に編集したデータか不明になりませんでしょうか?
どちらかといえば、
同一テーブルでKEY(受注日、受注訂正日、枝番)にして
管理したほうがわかりやすいと思いますが。。。
ご回答ありがとうございました!
確かに、同じ日の訂正があったらどっちが先に
訂正したかわからなくなりますね。
バックアップテーブルにオートNo.のキーを設定して
逃げました・・。
ありがとうございました!
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?e8efa67)
No.1
- 回答日時:
ACCESSでよろしいでしょうか?
新規注文があった際、データは受注入力フォームへ入力し受注テーブルに格納される。
注文に変更があった際は、受注テーブルにあるデータ自体を変更する。 同時に変更履歴を受注テーブルに履歴を記録する。
このような前提で注文の変更をどのように行うか、という問題でしたら
1.非連結フォームを作成し、該当データを表示させる。
2.変更内容を入力し、コマンドボタンにて変更処理を行う。 この際に、更新クエリを一つと追加クエリを一つ動かせば、ご希望の動きはすると思います。
受注変更管理をされたいのなら取り消しフラッグを作って新規に受注を一旦取り消し、新規で受注を入力したほうが良いような気がするのですが。 素人の考えることで、業務に当てはまらなかったら申し訳ありません。
お礼がおそくなりすみませんでした。
ご回答ありがとうございました!
非連結フォームを作って該当データを表示させ、
フォーム保存ボタンで非連結フォームを履歴テーブル
へと格納する方法にしました。
いろいろなやり方があるので、勉強あるのみ、ですね!!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) accessでのフォームの連携について 2 2022/06/14 00:45
- その他(データベース) accessについて 2 2022/05/31 16:58
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Visual Basic(VBA) Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。 6 2023/03/21 16:12
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) VBAで同フォルダ内の別ブックを開かず参照して条件の一致する行の指定セルを抽出するには? 1 2022/07/21 19:29
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- gooメール クーポンコードは存在しません 1 2022/06/09 10:54
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「直需」の意味を教えてください
-
作番ってどういう意味でしょうか?
-
ACCESSで、DMax関数の条件の書き方
-
受注受付期間とはなんですか?...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Accessでコードを入れると名前...
-
Accessでテーブルの値をテキス...
-
Access テキスト型に対する指定...
-
VBAで複数の数式セルを最終行ま...
-
Oracle 2つのDate型の値の差を...
-
Accessでテーブル名やクエリ名...
-
INSERT INTO ステートメントに...
-
セルの右クリックで出る項目を...
-
空白をそのままインポートする...
-
Oracleのビュー作成時に「指定...
-
accessのレポートで元になるテ...
-
Accessクエリでの、LIKE条件
-
エクセルグラフの凡例スペース
-
ACCESS検索★ある文字を複数のフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「直需」の意味を教えてください
-
作番ってどういう意味でしょうか?
-
「失注」の意味を教えてくださ...
-
ACCESSで、DMax関数の条件の書き方
-
Access:サブフォームのレコー...
-
アクセスで営業日を計算させる...
-
ACCESS 選択した値を別...
-
アクセスのクエリで、前回に入...
-
マクロ転記で指定した列の最終...
-
受注受付期間とはなんですか?...
-
Accessの受注発注について
-
フォーム入力、更新後処理で指...
-
会社 ファイルの収納
-
データシート形式のサブフォー...
-
EXCEL 最終行に入力するマクロ
-
通販サイトの運用の問題点は?
-
VBA でvlookup エラーなどは削...
-
エクセル・スプレッドシートで...
-
更新クエリの日付抽出方法について
-
ACCESS 受注数の集計について
おすすめ情報