タイトル [マスター保守]

Visual Basic 2010/2008 やさしいADO.NET DBプログラム

   タイトル

得意先マスターファイル更新プログラムのフォームロード処理、得意先検索ボタンクリック処理、住所検索ボタンクリック処理を実装します。

検索ボタンクリック処理 [更新画面クラス]

得意先マスター更新


得意先マスター表
Key 列名 データ型 NULLを許容
得意先コード nchar(5) しない
郵便番号 nchar(7) しない
得意先名称 nvarchar(40) しない
得意先住所 nvarchar(50) しない
郵便番号マスター表
Key 列名 データ型 NULLを許容
郵便番号 nchar(7) しない
都道府県名 nvarchar(4) しない
市区町村名 nvarchar(10) しない
町域名 nvarchar(20) しない

【フォームロード処理】
  • コントロールの有効・無効設定
    有効:得意先コード・得意先検索ボタン
    無効:得意先名称・住所検索ボタン・郵便番号・都道府県・市区町村・住所詳細・得意先更新ボタン・全項目クリアボタン
【得意先検索ボタンクリック処理】
  • 入力された得意先コードを引数に指定して、得意先データ管理クラスのインスタンスを生成
  • 得意先コードをキーにして得意先マスター表を検索し、得意先名称・郵便番号・都道府県・住所を、各コントロールのTextプロパティにセット
  • 得意先コードと得意先検索ボタンを無効に設定
  • 得意先名称・住所検索ボタン・郵便番号・都道府県・市区町村・住所詳細・得意先更新ボタン・全項目クリアボタンを有効に設定
  • 入力した得意先コードにエラーがあれば、得意先コード例外が、データベースでエラーが発生すれば、データベースIO例外がスローされるので、それぞれの例外に応じたエラー処理を実装
【住所検索ボタンクリック処理】
  • 入力された郵便番号を引数に指定し、郵便番号データ管理クラスのインスタンスを生成
  • 都道府県名、市区町村名、町域名を取得し、各コントロールのTextプロパティにセット。市区町村名と町域名は連結して、住所詳細のTextプロパティにセット
  • 入力した郵便番号にエラーがあれば、郵便番号例外がスローされ、データベースでエラーが発生すれば、データベースIO例外をスローされるので、それぞれの例外に応じたエラー処理を実装

'////////// 得意先マスター更新画面クラス //////////
Public Class FormTokuisakiKoshin

    '*******************************************************
    ' フォームロード処理
    '*******************************************************
    Private Sub FormTokuisakiKoshin_Load(sender As System.Object,
        e As System.EventArgs) Handles MyBase.Load

        ' コントロールの有効・無効設定
        TxtTokuisakiCode.Enabled = True
        BtnTokuisakiKensaku.Enabled = True
        TxtTokuisakiMei.Enabled = False
        BtnJushoKensaku.Enabled = False
        TxtYubinBango.Enabled = False
        CmbTodofukenMei.Enabled = False
        TxtShikuchosonMei.Enabled = False
        TxtJusho.Enabled = False
        BtnKoshin.Enabled = False
        BtnClear.Enabled = False

    End Sub

    '*******************************************************
    ' 得意先マスター検索ボタンクリック処理
    '*******************************************************
    Private Sub BtnTokuisakiKensaku_Click(sender As System.Object,
        e As System.EventArgs) Handles BtnTokuisakiKensaku.Click

        Try
            ' 郵便番号・県名・市町村名・町域名を取得し画面に表示
            Dim tokuisaki As New ClsTokuisaki(TxtTokuisakiCode.Text)
            TxtTokuisakiMeisho.Text = tokuisaki.TokuisakiMeisho
TxtYubinBango.Text = tokuisaki.YubinBango
' 都道府県と市区町村と住所詳細は","で区切って住所に保存してある Dim Jusho() As String Jusho = tokuisaki.TokuisakiJusho.Split(","c) CmbTodofuken.Text = Jusho(0) TxtShikuchosonMei.Text = Jusho(1) TxtJusho.Text = Jusho(2) ' コントロールの有効・無効設定 TxtTokuisakiCode.Enabled = True BtnTokuisakiKensaku.Enabled = True TxtTokuisakiMei.Enabled = False BtnJushoKensaku.Enabled = False TxtYubinBango.Enabled = False CmbTodofukenMei.Enabled = False TxtShikuchosonMei.Enabled = False TxtJusho.Enabled = False BtnKoshin.Enabled = False BtnClear.Enabled = False Catch ex As TokuisakiCodeException ' 得意先コードエラー処理 MessageBox.Show(ex.Message, "得意先コードエラー") ' 得意先コードにフォーカス TxtTokuisakiCode.Focus() Catch ex As DBIOException MessageBox.Show(ex.Message, "DBIO例外発生") Catch ex As Exception ' その他例外発生時 MessageBox.Show(ex.ToString, "例外発生") End Try End Sub '******************************************************* ' 住所検索ボタンクリック処理 '******************************************************* Private Sub BtnJushoKensaku_Click(sender As System.Object, e As System.EventArgs) Handles BtnJushoKensaku.Click Try ' 県名・市町村名・町域名を取得し画面に表示 Dim yubinBango As New ClsYubinBango(TxtYubinBango.Text) CmbTodofukenMei.Text = yubinBango.TodofukenMei ' 市町村名と町域名を連結して表示 TxtShikuchosonMei.Text = _ yubinBango.ShikuchosonMei & yubinBango.ChoikiMei TxtJusho.Text = Nothing ' 住所にフォーカス TxtJusho.Focus() Catch ex As YubinBangoException ' 郵便番号エラー処理 MessageBox.Show(ex.Message, "郵便番号入力エラー") ' 郵便番号にフォーカス TxtYubinBango.Focus() Catch ex As DBIOException MessageBox.Show(ex.Message, "DBIO例外発生") Catch ex As Exception ' その他例外発生時 MessageBox.Show(ex.ToString, "例外発生") End Try End Sub ' 得意先更新ボタンクリック・フォーム初期設定・全項目クリアボタンクリック End Class


Copyright© やさしいVB2010/2008 ADO.NET. All rights reserved.