
お世話になります。
Accessにて顧客管理システムを作成しています。掲題について、連結サブフォームでの入力項目の郵便番号には入力支援として住所の自動入力は設定しています。
ただ、その郵便番号入力後 住所を入力者が変えた時、郵便番号と異なる場合のチェックを保存処理のボタンを押したタイミングでDBに予め用意したフラグフィールドに付けたいです。
このチェック方法をVbaのコードで示して頂けると助かります。どうかよろしくお願いいたします。
※住所から郵便番号を自動入力で変えるということは考えてません。郵便番号と住所、どちらが正しい情報なのか区別するため、ただ一致しないという判別をつけるだけであとで入力者本人に確認する運用にします。
No.3ベストアンサー
- 回答日時:
【訂正】[住所X_控え]は不要!
添付図通りに[住所1_控え]、[住所2_控え]を用意し、もって比較し[住所不一致]を更新するコードを書いてみました。そして、実際に試した場合、一旦、別のレコードに移動した場合に[住所1_控え]、[住所2_控え]を再現する必要があることに気付きました。そうしないと、新たな[住所1]、[住所2]との正しい比較が出来ないからです。
Private Sub Form_Current()
If Me.NewRecord Then
Me.住所1_控え = ""
Me.住所2_控え = ""
Else
Me.住所1_控え = ZipConv(Me.郵便番号, zcKen)
Me.住所2_控え = ZipConv(Me.郵便番号, zcCty1) & ZipConv(Me.郵便番号, zcCty2)
End If
End Sub
そこで、某サイトのZipConv()を利用して[住所1_控え]、[住所2_控え]を再現。でも、そんなことをする位ならば・・・
Public Sub 住所不一致_Update()
Dim isNotAgree As Boolean
If Len(Me.郵便番号 & "") Then
isNotAgree = CBool(Me.住所1 <> ZipConv(Me.郵便番号, zcKen))
isNotAgree = isNotAgree + CBool(Me.住所2 <> ZipConv(Me.郵便番号, zcCty1) & ZipConv(Me.郵便番号, zcCty2))
Me.住所不一致 = isNotAgree
End If
End Sub
と、ZipConv()をもって比較すれば済む話。そういうことで、コメントアウトしている行は不要。つまり、[住所1_控え]、[住所2_控え]は不要。そういうことになるようです。
Option Compare Database
Option Explicit
Private Sub Form_Current()
'If Me.NewRecord Then
' Me.住所1_控え = ""
' Me.住所2_控え = ""
'Else
' Me.住所1_控え = ZipConv(Me.郵便番号, zcKen)
' Me.住所2_控え = ZipConv(Me.郵便番号, zcCty1) & ZipConv(Me.郵便番号, zcCty2)
'End If
End Sub
Private Sub 住所1_AfterUpdate()
住所不一致_Update
End Sub
Private Sub 住所2_AfterUpdate()
住所不一致_Update
End Sub
Private Sub 郵便番号_AfterUpdate()
Me.住所不一致 = False
End Sub
Public Sub 住所不一致_Update()
'Me.住所不一致 = CBool((Me.住所1 <> Me.住所1_控え) + (Me.住所2 <> Me.住所2_控え))
Dim isNotAgree As Boolean
If Len(Me.郵便番号 & "") Then
isNotAgree = CBool(Me.住所1 <> ZipConv(Me.郵便番号, zcKen))
isNotAgree = isNotAgree + CBool(Me.住所2 <> ZipConv(Me.郵便番号, zcCty1) & ZipConv(Me.郵便番号, zcCty2))
Me.住所不一致 = isNotAgree
End If
End Sub
さてさて、問題は、[住所1]と[住所2]とを変更すべき事態の発生頻度です。事実上はゼロではないでしょうか?いずれにしろ、私の当初アイデアには致命的な問題点があったので撤回します。

試したところ動きました。意図した処理も難なくできました。
本当にありがとうございます。
実際の処理説明を記載いただきました、回答3にベストアンサーを付けさせていただきます。
No.4
- 回答日時:
なお、テーブルに列[住所不一致]列がなくても、クエリにて回答3と同じ方法で不一致レコードは抜き出せます。
それが、最適解かも知れませんね。この回答への補足
試したところ動きました。意図した処理も難なくできました。
本当にありがとうございます。
実際の処理説明を記載いただきました、回答3にベストアンサーを付けさせていただきます。
案、ありがとうございます。親身に考えてくださっているのが伝わり感動しています。
最適解のクエリにしても、コーディングにしても以下のサイトにあるような
ZipConvをまず標準モジュールに設定することが前提ですね?
APIの呼び出しに明るくないので、ACCESS2010-2013での動作確認からになってしまいますが
試してみます。
http://www.f3.dion.ne.jp/~element/msaccess/AcTip …
No.1
- 回答日時:
まず、アイデアの確認が必要です。
1、郵便番号を入力する。
2、非表示のテキストボックスに住所を代入する。
3、入力用の非表示のテキストボックスにも住所を代入する。
4、で、非表示と入力用との違いをチェックする。
5、ただし、住所1、住所2、住所3、ビル等とし変更は不要とする。
こういう風にするのか?
>保存処理のボタンを押したタイミングで・・・
非連結フォームの場合、保存処理のボタンは必要ないかと・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アイドル・グラビアアイドル ジャニーズショップでログインしてもグッズが買えないです。 購入画面になって、個人情報を入力する画面で 2 2022/04/04 17:12
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Access(アクセス) 【至急・画像あり】建物or住所から電話番号を出す方法を教えてください 3 2023/02/17 11:58
- Amazon Amazonの配送先住所入力の自動入力機能が作動しなくなりました。 2 2022/10/06 08:58
- Yahoo!メール Yahooメールにログインできません 2 2022/12/12 07:46
- Excel(エクセル) エクセルの住所から郵便番号を表示するには 2 2022/09/01 16:18
- その他(ネットショッピング・通販・ECサイト) 住所 3 2022/12/02 10:36
- Amazon 【至急!】 米Amazonのアカウント作成をしたので住所を登録しようと思ったのですが郵便番号の欄が入 3 2023/08/19 09:36
- 郵便・宅配 郵送の仕方を教えてください 3 2022/09/26 21:45
- 郵便・宅配 専用郵便番号なので住所なしで届くという場合 7 2022/04/14 14:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ドコモの補償サービスを使いま...
-
好きな人の住所って知りたくな...
-
キャバクラ嬢が教える住所について
-
バイトから渡された検便の封筒...
-
このドイツ語の意味は。。。?
-
ネット閲覧で住所がバレる!?
-
個人情報記入について
-
Accessで半角→全角に変更したい
-
エクセルで作成した住所録から...
-
オランダ、デルフトかハーグ
-
筆まめVer.29はwindows11で動作...
-
薬屋の壬氏様は入れ替えがなか...
-
筆まめが消えた
-
筆自慢の住所録データを、エク...
-
筆ぐるめの住所録が消えてしま...
-
ワードで宛名印刷、番地部分が...
-
はがきスタジオの「住所録.hsa...
-
筆ぐるめで保存している宛先を...
-
筆ぐるめファイルが開けません
-
筆まめダイレクトへのログイン方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelやAccessで住所と番地を分...
-
好きな人の住所って知りたくな...
-
エクセルで、半角文字列を抽出...
-
エクセルで作成した住所録から...
-
キャバクラ嬢が教える住所について
-
差し込み印刷で住所が途中で切...
-
このドイツ語の意味は。。。?
-
住所から市町村名を取り出す
-
バイトから渡された検便の封筒...
-
ハイパーリンクを使用してエク...
-
住所録のエクスポートファイル...
-
住所を揃えるにはどうしたらい...
-
カーナビで名称登録をしても検...
-
ネット閲覧で住所がバレる!?
-
Accessで半角→全角に変更したい
-
Excelで作った2つの住所録の結...
-
ユニバーサルスタジオJAPA...
-
郵便局留めは受取人の住所を書...
-
合わせ名人について。エクセル...
-
Word2002の差し込み印刷、住所...
おすすめ情報