まず、宣言セクションでSqlServer用のデータ・オブジェクトを使用できるよう“System.Data.SqlClient”を取り込んでおきます。
Imports System.Data.SqlClient
次に、2つの構造体(ユーザー定義型)を定義しておきます。
- 顧客情報の構造体 -
ユーザーの入力したお客様IDから取得された、顧客の氏名や住所などを保持する構造体です。
各メンバはテーブル「顧客_mr」のフィールドと対応します。今回のサンプルでは一時的なテーブル「売上ヘッダ」に日付とお客様IDを記録するだけなので、この構造体の保持する氏名や住所は利用しません。
Structure strucMemberInfo
Dim strDate As String -------- 伝票日付(処理日付)
Dim strName As String -------- 顧客の氏名
Dim strZip As String --------- 郵便番号
Dim strAddr1 As String ------- 住所1
Dim strAddr2 As String ------- 住所2
Dim strPhone As String ------- 電話番号
End Structure
- 売上伝票1件分の構造体 -
顧客が注文した商品1件分の情報を保持する構造体です。
各メンバはテーブル「売上明細」の各フィールドに対応します。この構造体は、次回紹介する販売情報の入力処理で利用します。
Structure strucSlipData
Dim strItemName As String -------- 品名
Dim intItemValue As Integer ------ 販売単価
Dim intNumItems As Integer ------- 数量
Dim lngTotalValue As Long -------- 合計(単価×数量)
End Structure
- グローバル変数の宣言 -
先に定義した構造体の型を持つグローバル変数を宣言します。これらは、モジュール内の複数のプロシージャから参照されます。
Dim Customer As strucMemberInfo ---- 顧客情報を保持
Dim SlipData As strucSlipData ------ 売上伝票1件分を保持
伝票番号は「売上ヘッダ」の1件のレコード(日付と顧客情報)と「売上明細」の複数のレコード(1件の売上ヘッダに対応する、複数の商品の売上情報)をつなぐ重要なデータです。これもグローバル変数として、複数のプロシージャから参照できるようにしておきます。
Dim strSlipNumber As String ---- 伝票番号(文字列)を保持
|
|
|