マスター追加画面クラス:ボタンクリック処理
マスター追加ページの「住所検索」ボタンクリック処理、「追加」ボタンクリック処理と、「クリア」ボタンクリック処理を実装します。

住所検索ボタンをダブルクリックすると、"TokuisakiJusho.aspx.vb" ファイルが開くので、ここに得意先住所検索ボタンクリック処理を実装します。
【得意先住所検索ボタンクリック処理】
入力された郵便番号を引数に指定し、郵便番号データ管理クラスClsYubinBangoのインスタンスを生成します。都道府県名プロパティから都道府県名、市区町村名プロパティから市区町村名、町域名プロパティから町域名を取得し、都道府県名、市区町村名、町域名を連結し住所テキストボックスにセットする。
郵便番号データクラスは、まず基本クラス(基底クラス)ClsYubinBangoBaseに、郵便番号マスター表の選択・更新・削除・追加で共通の定数メンバー、変数メンバー、プロパティ、郵便番号チェックメソッドを抽象クラスとして実装する。
派生クラス(選択・更新・削除処理用)ClsYubinBangoは、コンストラクタと読取専用の郵便番号プロパティを実装する。
Setプロパティは、使わないので省略しました。
- 郵便番号データ管理基本クラスClsYubinBangoBaseの実装
- 郵便番号データ管理派生クラスClsYubinBangoの実装
【追加ボタンクリック処理】
入力データにエラーがなければ、得意先マスター表に 1レコードを追加します。正常にレコードが追加されたら、追加正常完了のダイアログボックスを表示し、入力画面を初期化します。
【クリアボタンクリック処理】
フォーム(画面)を初期状態に戻す。
追加フォームfソースリスト:TokuisakiTsuika.aspx.vb
Partial Class TokuisakiTsuika
Inherits System.Web.UI.Page
'*******************************************************
' 住所検索ボタンクリック処理 【116号掲載済み】
'*******************************************************
Protected Sub BtnKensaku_Click(sender As Object, e As EventArgs) _
Handles BtnKensaku.Click
Try
' 県名・市町村名・町域名を取得し画面に表示
Dim yubinBango As New ClsYubinBango(TxtYubinBango.Text)
TxtTokuisakiJusho.Text = yubinBango.TodofukenMei &
yubinBango.ShikuchosonMei & yubinBango.ChoikiMei
' 住所にフォーカス
TxtTokuisakiJusho.Focus()
Catch ex As YubinBangoException
' 郵便番号エラー処理
LblMessage.Text = ex.Message
' 郵便番号にフォーカス
LblMessage.Text = ex.Message
Catch ex As DBIOException
LblMessage.Text = ex.Message
Catch ex As Exception
' その他例外発生時
LblMessage.Text = ex.ToString
End Try
End Sub
'*******************************************************
' 追加ボタンクリック処理
'*******************************************************
Protected Sub BtnTsuika_Click(sender As Object, e As EventArgs) _
Handles BtnTsuika.Click
Try
' 画面からの入力データのセット
Dim tokuisakiData As TokuisakiData
tokuisakiData.tCode = TxtTokuisakiCode.Text
tokuisakiData.tName = TxtTokuisakiMei.Text
tokuisakiData.tYuBango = TxtTokuisakiYubinBango.Text
tokuisakiData.tJusho = TxtTokuisakiJusho.Text
' 得意先マスター表に1レコードを追加
Dim insertTokuisaki As New ClsTokuisakiTableIO()
insertTokuisaki.InsertRecord(tokuisakiData)
' フォーム初期化
ClearForm()
' 正常終了メッセージ
LblMessage.Text = "正常にレコードが追加されました"
TxtTokuisakiCode.Focus()
Catch ex As TokuisakiCodeException
' 得意先コードエラー
LblMessage.Text = ex.Message
TxtTokuisakiCode.Focus()
Catch ex As TokuisakiMeiException
' 得意先名エラー
LblMessage.Text = ex.Message
TxtTokuisakiMei.Focus()
Catch ex As YubinBangoException
' 郵便番号エラー
LblMessage.Text = ex.Message
TxtTokuisakiYubinBango.Focus()
Catch ex As DBIOException
' DBアクセスクラス独自例外発生時
LblMessage.Text = ex.Message
Catch ex As Exception
' その他例外発生時
LblMessage.Text = ex.ToString
End Try
End Sub
'*******************************************************
' クリアボタンクリック処理
'*******************************************************
Protected Sub BtnClear_Click(sender As Object, e As EventArgs) _
Handles BtnClear.Click
' フォーム初期化
ClearForm()
End Sub
'*******************************************************
' フォーム初期設定処理
'*******************************************************
Private Sub ClearForm()
TxtTokuisakiCode.Text = Nothing
TxtTokuisakiCode.Focus()
TxtTokuisakiMei.Text = Nothing
TxtTokuisakiYubinBango.Text = Nothing
TxtTokuisakiJusho.Text = Nothing
LblMessage.Text = Nothing
End Sub
End Class