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