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

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

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

マスター追加フォーム

住所検索ボタンをダブルクリックすると、"TokuisakiJusho.aspx.vb" ファイルが開くので、ここに得意先住所検索ボタンクリック処理を実装します。

【得意先住所検索ボタンクリック処理】

入力された郵便番号を引数に指定し、郵便番号データ管理クラスClsYubinBangoのインスタンスを生成します。都道府県名プロパティから都道府県名、市区町村名プロパティから市区町村名、町域名プロパティから町域名を取得し、都道府県名、市区町村名、町域名を連結し住所テキストボックスにセットする。

郵便番号データクラスは、まず基本クラス(基底クラス)ClsYubinBangoBaseに、郵便番号マスター表の選択・更新・削除・追加で共通の定数メンバー、変数メンバー、プロパティ、郵便番号チェックメソッドを抽象クラスとして実装する。

派生クラス(選択・更新・削除処理用)ClsYubinBangoは、コンストラクタと読取専用の郵便番号プロパティを実装する。

Setプロパティは、使わないので省略しました。

  • 郵便番号データ管理基本クラスClsYubinBangoBaseの実装
  • 郵便番号データ管理派生クラスClsYubinBangoの実装

【追加ボタンクリック処理】

入力データにエラーがなければ、得意先マスター表に 1レコードを追加します。正常にレコードが追加されたら、追加正常完了のダイアログボックスを表示し、入力画面を初期化します。

【クリアボタンクリック処理】

フォーム(画面)を初期状態に戻す。

追加フォームfソースリスト:TokuisakiTsuika.aspx.vb

ソースリスト
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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