いつもお世話になっております。
access2010で伝票管理システムを作成している者です。
##質問内容
今回は顧客マスタを例に挙げます。
顧客の入力フォームと入力したデータを一覧表示する顧客マスタがあります。
入力フォームの入力内容は
顧客番号、顧客名、住所
です。
そして、顧客マスタで表示する内容は
顧客番号、顧客名、住所、追加日、更新日
とその横にレコードの編集・削除ボタン
を設けてあります。
追加日は新規に追加した日付を表示、更新日には既存のデータを編集した日付を表示させたいのです。
##概要
入力フォームの参照しているテーブル
<T_WCustomer>
フィールド名 | データ型 | 備考 |
---|---|---|
F_CustomerCode | テキスト型 | 顧客コード |
F_CustomerName | テキスト型 | 顧客名 |
F_Address | テキスト型 | 顧客住所 |
顧客マスタ(サブフォーム)に参照しているテーブル
<T_Customer>
フィールド名 | データ型 | 備考 |
---|---|---|
F_CustomerCode | テキスト型 | 顧客コード |
F_CustomerName | テキスト型 | 顧客名 |
F_Address | テキスト型 | 顧客住所 |
F_AddDate | 日付/時刻型 | 追加日 |
F_UpdateDate | 日付/時刻型 | 更新日 |
※追加・編集の時のSQL文を一応書いときます。
・追加
VBA
1'---------------------------- 2'追加処理 3'---------------------------- 4Private Sub add_tables() 5 Dim SQL As String 6 7 SQL = "INSERT INTO T_Customer" & "(F_CustomerCode,F_CustomerName,F_Address)" _ 8 & "SELECT F_CustomerCode,F_CustomerName,F_Address FROM T_WCustomer" 9 10 With Application.CurrentDb 11 .Execute SQL 12 End With 13 Me.Requery 14End Sub
・編集(以前教えてくださったものです)
VBA
1'---------------------------- 2'編集処理 3'---------------------------- 4Private Sub edit_tables() 5 Dim SQL As String 6 7 SQL = "UPDATE T_Customer INNER JOIN T_WCustomer " & _ 8 "ON T_Customer.F_CustomerCode = T_WCustomer.F_CustomerCode " & _ 9 "SET T_Customer.F_CustomerName = T_WCustomer.F_CustomerName,T_Customer.F_Address = T_WCustomer.F_Address" 10 11 With Application.CurrentDb 12 .Execute SQL 13 End With 14 Me.Requery 15End Sub
不明な点があればコメントください
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/06/05 02:43