レコードを登録するコード

まさかコードの完成に3ヶ月以上もかかった訳もなく、ここのところ色々な誘惑に負けっぱなしです。
誘惑の例:地デジのPCでの録画環境構築、iPod touchの購入とか

とりあえず前回書いたコードを進化させて、新規登録と更新登録を1つに纏めました。

 Private Sub RecordUpdate()
    If tbコード.Text.Length = 0 Then Exit Sub

    Dim sbSqlCommand As New System.Text.StringBuilder("")
    Dim SqlCommand As New OleDb.OleDbCommand()

    If lblID.Text.Length = 0 Then
       '新規登録
       sbSqlCommand.Append("INSERT INTO 住所マスター")
       sbSqlCommand.Append(" (コード, 会社名, フリガナ, 部署担当, 郵便番号, 住所1, 住所2, TEL, EMail)")
       sbSqlCommand.Append(" VALUES (@コード, @会社名, @フリガナ, @部署担当, @郵便番号, @住所1, @住所2, @TEL, @EMail);")

       SqlCommand.CommandText = sbSqlCommand.ToString
       SqlCommand.Parameters.Add("@コード", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@コード").Value = tbコード.Text
       SqlCommand.Parameters.Add("@会社名", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@会社名").Value = tb会社名.Text
       SqlCommand.Parameters.Add("@フリガナ", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@フリガナ").Value = tbフリガナ.Text
       SqlCommand.Parameters.Add("@部署担当", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@部署担当").Value = tb部署担当.Text
       SqlCommand.Parameters.Add("@郵便番号", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@郵便番号").Value = tb郵便番号.Text
       SqlCommand.Parameters.Add("@住所1", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@住所1").Value = tb住所1.Text
       SqlCommand.Parameters.Add("@住所2", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@住所2").Value = tb住所2.Text
       SqlCommand.Parameters.Add("@TEL", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@TEL").Value = tbTEL.Text
       SqlCommand.Parameters.Add("@EMail", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@EMail").Value = tbEMail.Text
    Else
       '更新登録
       sbSqlCommand.Append("UPDATE 住所マスター")
       sbSqlCommand.Append(" SET コード = @コード, 会社名 = @会社名, フリガナ = @フリガナ, 部署担当 = @部署担当, 郵便番号 = @郵便番号,")
       sbSqlCommand.Append(" 住所1 = @住所1, 住所2 = @住所2, TEL = @TEL, EMail= @EMail")
       sbSqlCommand.Append(" WHERE ID = @ID;")

       SqlCommand.CommandText = sbSqlCommand.ToString
       SqlCommand.Parameters.Add("@コード", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@コード").Value = tbコード.Text
       SqlCommand.Parameters.Add("@会社名", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@会社名").Value = tb会社名.Text
       SqlCommand.Parameters.Add("@フリガナ", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@フリガナ").Value = tbフリガナ.Text
       SqlCommand.Parameters.Add("@部署担当", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@部署担当").Value = tb部署担当.Text
       SqlCommand.Parameters.Add("@郵便番号", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@郵便番号").Value = tb郵便番号.Text
       SqlCommand.Parameters.Add("@住所1", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@住所1").Value = tb住所1.Text
       SqlCommand.Parameters.Add("@住所2", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@住所2").Value = tb住所2.Text
       SqlCommand.Parameters.Add("@TEL", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@TEL").Value = tbTEL.Text
       SqlCommand.Parameters.Add("@EMail", OleDb.OleDbType.Char)
       SqlCommand.Parameters("@EMail").Value = tbEMail.Text
       SqlCommand.Parameters.Add("@ID", OleDb.OleDbType.Integer)
       SqlCommand.Parameters("@ID").Value = lblID.Text
    End If

    Dim db As New database.MSAccess.DBAccess

    If db.ExecuteSqlCommandNonQuery(SqlCommand) = 1 Then
       Call FormClear()
       Call dgvFill()
    Else
       Dim ex As Exception = db.SQLException
       MsgBox(ex.Message)
    End If
 End Sub
もう少しだけマスター登録画面を使いやすくする工夫をして完成です。
完成したら出荷伝票の登録画面へ進んでいきます。