伝票データ登録ボタン [VB]

Visual Basic ADO.NET [Community Express]

伝票データ登録ボタンクリック処理

受注登録ボタンクリック処理を実装します。

サンプルプログラム

受注エントリー画面

【受注データ登録ボタンクリック処理】

[登録ボタン]をクリックして、入力データにエラーがなければ、受注ヘッダー表と受注ディテール表に受注データを追加します。追加が正常なら、「受注伝票を登録しました」とメッセージを表示し、画面を初期化します。エラーがあれば、例外がスローされるので、フォームクラスで例外をキャッチしてエラー処理をします。

  • 受注ヘッダー表の空データを生成し、受注日・受注番号・得意先コードをセットする
  • この受注ヘッダーデータと受注明細行リストを引数に指定して、受注伝票クラスのインスタンスを生成する
  • そして、受注伝票クラスのInsertRecordメソッドを呼び出して、受注ヘッダー表と受注ディテール表に受注データを追加する。

ソースリストの枠内をクリックすると全選択できます。

    '*******************************************************
    '  受注登録ボタンクリック処理
    '*******************************************************

    Private Sub BtnTouroku_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles BtnTouroku.Click

        Try
            ' 受注ヘッダー表の空データを生成
            Dim dr As DataRow
            dr = ClsHeaderBase.CreateDataRow()
            ' 入力した受注ヘッダーデータをセット
            dr("受注日") = LblJuchuBi.Text
            dr("受注番号") = TxtJuchuBango.Text
            dr("得意先コード") = TxtTokuisakiCode.Text
            ' 受注伝票インスタンス生成
            Dim denpyo As New ClsJuchuDenpyo(dr, meisaiList)
            ' 受注ヘッダー表と受注ディテール表にレコード追加
            denpyo.InsertRecord()
            ' 正常にレコード追加のメッセージ表示
            MessageBox.Show("受注伝票を登録しました", "受注エントリー")
            ' 画面ヘッダー部初期化
            InitialHeader()
            ' 画面ディテール部初期化
            InitialDetail()
        Catch ex As JuchuBangoException
            ' 受注番号例外が発生した時の処理
            MessageBox.Show(ex.Message, "受注番号エラー")
            ' 受注番号にフォーカス
            TxtJuchuBango.Focus()
        Catch ex As TokuisakiCodeException
            ' 得意先コードエラー処理
            MessageBox.Show(ex.Message, "得意先コードエラー")
            ' 得意先コードにフォーカス
            TxtTokuisakiCode.Focus()
        Catch ex As ShohinCodeException
            ' 商品コードエラー処理
            MessageBox.Show(ex.Message, "商品コードエラー")
            ' 商品コードにフォーカス
            TxtShohinCode.Focus()
        Catch ex As DBIOException
             MessageBox.Show(ex.ToString, "DBIO例外発生")
        Catch ex As Exception
            MessageBox.Show(ex.ToString, "例外発生")
        End Try

    End Sub

登録ボタン処理では、ClsJuchuDenpyoクラスのInsertRecordを呼び出すだけです。したがって、フォームクラスのプログラマーは、データベースの実装をする必要がありません。

これでほとんど完成です。