アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access2000で質問です。

「顧客テーブル」を作ります。
顧客テーブルには以下のフィールドを設けます。

顧客ID(主キー)
名前
TEL
住所
変更住所

顧客IDから住所まではすでにデータが入っています。
「変更住所」に新しくデータを入れていきます。
その際に、フォームを利用したいと思っていますが、
新規フォーム(何もデータが入っていない)に顧客IDを入れたら、すでに顧客テーブルに入力されている名前、TEL、住所がパッと表示され、変更住所だけが空欄で表示されるようなフォームを作りたいと思います。
どのような方法がありますでしょうか?
ぜひお知恵を貸してください。よろしくお願いいたします。

A 回答 (2件)

AccessVBAを使用すれば簡単ですが馴れていないのなら参考にして下さい。


初めに非連結の住所変更フォームを作成します。
テキストボックスは、顧客ID・名前・TEL・住所・変更住所を作成し、顧客IDのイベントの更新後処理にコードビルダを起動し下記をコピー貼り付けして下さい。

Me!名前 = Null: Me!TEL = Null: Me!住所 = Null: Me!変更住所 = Null
Dim db As Database, trm As Recordset, tyuusitu As String
Set db = CurrentDb
Set trm = db.OpenRecordset("顧客テーブル", dbOpenDynaset)
tyuusitu = "顧客ID='" & Me![顧客ID] & "'"
trm.FindFirst tyuusitu
DoCmd.GoToControl "変更住所"
If IsNull(Me![顧客ID]) Then Me![顧客ID] = 0
DoCmd.FindRecord Me!顧客ID, acEntire, True, , True, , True
If Me!顧客ID <> trm!顧客ID Then MsgBox "No." & Me!顧客ID & " の納品票が見つかりません。@ 納品票番号を確認して下さい。@", vbCritical, "検索顧客IDエラー": Me!顧客ID = Null: Me!名前 = Null: Me!TEL = Null: Me!住所 = Null: DoCmd.GoToControl "顧客ID": Exit Sub
Me![名前] = trm![名前]: Me![TEL] = trm![TEL]: Me![住所] = trm![住所]
trm.Close

次に変更住所のイベントの更新後処理にコードビルダを起動し下記をコピー貼り付けして下さい。

Dim db As Database, trm As Recordset, tyuusitu As String
Set db = CurrentDb
Set trm = db.OpenRecordset("顧客テーブル", dbOpenDynaset)
tyuusitu = "顧客ID='" & Me![顧客ID] & "'"
trm.FindFirst tyuusitu
trm.Edit
trm![変更住所] = Me![変更住所]
trm.Update: trm.Close
    • good
    • 0

すいません。

顧客IDの更新後の[イベント プロシージャ]が
間違っていましたので訂正いたします。

Me!名前 = Null: Me!TEL = Null: Me!住所 = Null: Me!変更住所 = Null
Dim db As Database, trm As Recordset, tyuusitu As String
Set db = CurrentDb
Set trm = db.OpenRecordset("顧客テーブル", dbOpenDynaset)
tyuusitu = "顧客ID='" & Me![顧客ID] & "'"
trm.FindFirst tyuusitu
DoCmd.GoToControl "変更住所"
If IsNull(Me![顧客ID]) Then Me![顧客ID] = 0
DoCmd.FindRecord Me!顧客ID, acEntire, True, , True, , True
If Me!顧客ID <> trm!顧客ID Then MsgBox "No." & Me!顧客ID & " の顧客ID が見つかりません。@ 顧客IDを確認して下さい。@", vbCritical, "検索顧客IDエラー": Me!顧客ID = Null: Me!名前 = Null: Me!TEL = Null: Me!住所 = Null: DoCmd.GoToControl "顧客ID": Exit Sub
Me![名前] = trm![名前]: Me![TEL] = trm![TEL]: Me![住所] = trm![住所]
trm.Close
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す