追加画面ボタンクリック VB Web

マスター追加画面クラス:ボタンクリック処理

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

マスター追加フォーム

住所検索ボタンをダブルクリックすると、"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