データベース千夜一夜第17回

プログラミングとSQL(5)
~販売データの入力処理(後編)
長谷川裕行
有限会社 手國堂

2.数量の入力~txtNumItems_LostFocus

「1.商品の特定」処理で特定された商品の受注数量を入力すると、数量と販売単価を乗算して合計金額を表示します。


- 数量と単価を乗算する -

この段階では、既に商品IDを入力して商品名と販売単価が表示され、購入する商品が特定されています。次に、テキストボックス“txtNumItems”に特定した商品の数量が入力されます。この値は、グローバル変数SlipDataのメンバintNumItemsに保存しておきます。

入力された数量に販売単価(ラベル“lblItemValue”のTextプロパティ)を乗算して、その商品の合計額が求められます。この値を、ラベル“lblTatlValue”に表示すると共に、グローバル変数SlipDataのメンバlngTotalValueにも保存しておきます。

この処理も、テキストボックス“txtNumItems”がフォーカスを失った時点で実行します。


- 型変換と書式化 -

仕組み自体は単純ですが、数量(txtNumItems.Text)と販売単価(lblItemValue.Text)がどちらもString型であり、数量を保存するSlipData.intNumItemsはinteger型、合計額を保存するSlipData.lngTotalValueはLong型なので、代入時に型変換関数を使ってそれぞれの型をキャスト(型変換)しなければなりません。

合計金額を表示するlblTotalValue.Textでは、Format関数を使って3桁ごとのカンマ(,)を挿入するよう書式化しています。

  Private Sub txtNumItems_LostFocus _
   (ByVal sender As Object, ByVal e As System.EventArgs) _
   Handles txtNumItems.LostFocus
    Dim lngTotalValue As Long
    ↓数量と販売単価を乗算する
    lngTotalValue = _
     CLng(txtNumItems.Text) * CLng(lblItemValue.Text)
    ↓書式化して表示
    lblTotalValue.Text = Format(lngTotalValue, "#,##0")
    ↓数量と合計額をグローバル変数に保存
    SlipData.intNumItems = CInt(txtNumItems.Text)
    SlipData.lngTotalValue = lngTotalValue
  End Sub



トップページ
後半部分の概要
1.商品の特定
2.数量の入力~txtNumItems_LostFocus
数量と単価を乗算する
型変換と書式化
3.1件の追加
その他の処理
補足
あとがき
Copyright © MESCIUS inc. All rights reserved.