List 7-147 FormSlipDetailフォームのInitDataプロシージャ
1: Private SlipID As Long
2: Private g_SlipStatus As SlipStatus
3:
4: Public Sub InitData(ID As Long)
5: ' 指定された伝票番号をもつ伝票の詳細を表示するよう初期化する
6: Dim CustomerID As Variant, SUBTOTAL As Variant
7: Dim TAX As Variant, TOTAL As Variant
8: Dim MADEDATE As Variant, MADEUSER As Variant
9: Dim LASTDATE As Variant, LASTUSER As Variant
10: Dim DIVISION As Variant, PERSON As Variant
11: Dim DELIVERDATE As Variant, SENT_ADDR As Variant
12: Dim SENT_TEL As Variant, MEMO As Variant
13: Dim CUSTOMERNAME As Variant, YOMIGANA As Variant
14: Dim ZIP As Variant, ADDRESS As Variant
15: Dim TELEPHONE As Variant, FAX As Variant
16: Dim BILLDAY As Variant
17: Dim objSlip As Business.Slip
18: Dim objCustomer As Business.Customer
19: Dim Status As SlipStatus
20:
21: SlipID = ID
22:
23: ' 各テキストボックスの内容を記述する
24: On Error GoTo ErrHandle
25:
26: Set objSlip = CreateObject("Business.Slip")
27: Set objCustomer = CreateObject("Business.Customer")
28:
29: objSlip.GetSlip SlipID, CustomerID, SUBTOTAL, TAX, TOTAL, _
MADEDATE, MADEUSER, LASTDATE, LASTUSER
30:
31: objCustomer.GetCustomer CustomerID, CUSTOMERNAME, YOMIGANA, ZIP, ADDRESS, _
TELEPHONE, FAX, BILLDAY, MEMO, _
MADEUSER, MADEDATE, LASTUSER, LASTDATE
32:
33: objSlip.GetSlip_Detail SlipID, DIVISION, PERSON, DELIVERDATE, _
SENT_ADDR, SENT_TEL, MEMO, _
MADEDATE, MADEUSER, LASTDATE, LASTUSER
34:
35: g_SlipStatus = objSlip.GetSlip_Status(SlipID)
36:
37: LABEL_ID.Caption = SlipID
38: LABEL_CUSTOMERNAME.Caption = CUSTOMERNAME
39: If Not IsNull(DIVISION) Then
40: LABEL_DIVISION.Caption = DIVISION
41: Else
42: LABEL_DIVISION.Caption = ""
43: End If
44: If Not IsNull(PERSON) Then
45: LABEL_PERSON.Caption = PERSON & "様"
46: Else
47: LABEL_PERSON.Caption = ""
48: End If
49: If Not IsNull(DELIVERDATE) Then
50: LABEL_DELIVERDATE.Caption = DELIVERDATE
51: Else
52: LABEL_DELIVERDATE.Caption = ""
53: End If
54: If Not IsNull(SENT_ADDR) Then
55: TXT_SENTADDR.Text = SENT_ADDR
56: Else
57: TXT_SENTADDR.Text = ""
58: End If
59:
60: If Not IsNull(SENT_TEL) Then
61: TXT_SENTADDR.Text = TXT_SENTADDR.Text & vbCrLf & "TEL:" & SENT_TEL
62: End If
63: If Not IsNull(MEMO) Then
64: TXT_MEMO.Text = MEMO
65: Else
66: TXT_MEMO.Text = ""
67: End If
68: LABEL_MADEUSER.Caption = MADEUSER
69: LABEL_MADEDATE.Caption = MADEDATE
70:
71: ' 作成中か却下中でなければ編集作業はできない
72: If (g_SlipStatus = Creating) Or (g_SlipStatus = Rejected) Then
73: BTN_NEW.Enabled = True
74: BTN_EDIT.Enabled = True
75: BTN_DELETE.Enabled = True
76: Else
77: BTN_NEW.Enabled = False
78: BTN_EDIT.Enabled = False
79: BTN_DELETE.Enabled = False
80: End If
81:
82: FRAME_NAVI.Enabled = True
83: FRAME_SLIP.Enabled = True
84:
85: ' データグリッドの内容を更新する
86: RefreshData
87:
88: Set objCustomer = Nothing
89: Set objSlip = Nothing
90:
91: Exit Sub
92:
93: ErrHandle:
94: ' エラーハンドラ
95: MsgBox Err.Description, vbOKOnly, "伝票明細の初期化エラー"
96: Set objSlip = Nothing
97: Set objCustomer = Nothing
98: End Sub