Access2000で質問です。
「顧客テーブル」を作ります。
顧客テーブルには以下のフィールドを設けます。
顧客ID(主キー)
名前
TEL
住所
変更住所
顧客IDから住所まではすでにデータが入っています。
「変更住所」に新しくデータを入れていきます。
その際に、フォームを利用したいと思っていますが、
新規フォーム(何もデータが入っていない)に顧客IDを入れたら、すでに顧客テーブルに入力されている名前、TEL、住所がパッと表示され、変更住所だけが空欄で表示されるようなフォームを作りたいと思います。
どのような方法がありますでしょうか?
ぜひお知恵を貸してください。よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
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
No.2
- 回答日時:
すいません。
顧客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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(データベース) accessについて 2 2022/05/31 16:58
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Access(アクセス) 対象月の2桁表示について 1 2023/01/07 05:08
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- その他(ソフトウェア) 現在と過去の顧客名簿、新規・解約・更新など作りたいのですが「やよいの顧客管理」なら簡単に扱えますか? 1 2022/05/18 10:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Excel(エクセル) エクセルデータ。容量を減らすにはどうしたらいい? 11 2022/12/22 09:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access2013VBA 複数のテーブル...
-
テーブル1 2 3 の結合
-
文字化け、記号の含まれるフィ...
-
Accessで名寄せグループの関係...
-
SQLの結果がNULLならタブを出す...
-
ACCESS で マクロの中でフィ...
-
ADOでレコードを閉じるタイミン...
-
ファイルメーカーの集計につい...
-
アクセスクエリの計算
-
Excel 2019 のピボットテーブル...
-
Accessのリンクテーブルのパス...
-
DBのタイプの指定とサイズにつ...
-
IT用語について質問です。 以前...
-
accessでのフォームの連携について
-
「直需」の意味を教えてください
-
APN設定について教えていただけ...
-
BIOSでAHCIに設定したいが、項...
-
ACCESSでテーブルのフィールド...
-
Excelで空白以外の値がある列の...
-
エクセルVBAで5行目からオート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access VBAでクエリーのレコー...
-
Access IF文でテーブルに存在し...
-
データベースの1要素に複数デー...
-
ワードでの単純作業の効率化に...
-
Access フォームのデータがテー...
-
ACCESS で マクロの中でフィ...
-
Accessデータベースで行と列を...
-
ワードで保存するファイル名の...
-
別のDBからテーブルをコピーす...
-
ADOでレコードを閉じるタイミン...
-
Accessで名寄せグループの関係...
-
シングルクォーテーションとダ...
-
Access 縦(行)のデータを横(列)...
-
顧客IDを入力すると顧客名や住...
-
Access クエリ このレコードセ...
-
(ACCESS)連番取得について
-
Access2000 単票フォーム上の...
-
Access 既に開いているフォー...
-
文字化け、記号の含まれるフィ...
-
Access2013VBA 複数のテーブル...
おすすめ情報