List 7-124 FormSlipフォームのEditSlipプロシージャ


  1: Public Sub EditSlip(ID As Long)
  2:     ' 既存の伝票を編集する
  3:     Dim objSlip As Business.Slip
  4:     Dim CustomerID As Variant, SUBTOTAL As Variant
  5:     Dim TAX As Variant, TOTAL As Variant
  6:     Dim MADEDATE As Variant, MADEUSER As Variant
  7:     Dim LASTDATE As Variant, LASTUSER As Variant
  8:     Dim BILLID As Variant, BILLDATE As Variant
  9:     Dim ONEBILLFLAG 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:     
 14:     SlipID = ID
 15:     
 16:     ' 伝票情報の最新情報(その時点の情報)を得る
 17:     On Error GoTo ErrHandle
 18:     
 19:     Set objSlip = CreateObject("Business.Slip")
 20:     
 21:     TXT_ID.Text = SlipID
 22:     
 23:     objSlip.GetSlip SlipID, CustomerID, SUBTOTAL, TAX, TOTAL, _
                         MADEDATE, MADEUSER, LASTDATE, LASTUSER
 24:                     
 25:     objSlip.GetSlip_Bill SlipID, BILLID, BILLDATE, ONEBILLFLAG
 26:     
 27:     objSlip.GetSlip_Detail SlipID, DIVISION, PERSON, DELIVERDATE, _
                                SENT_ADDR, SENT_TEL, MEMO, _
                                MADEDATE, MADEUSER, LASTDATE, LASTUSER
 28:                            
 29:     ' COMBO_CUSTOMERコンボボックスのなかから該当する顧客を捜して
 30:     ' それを選択した状態にする
 31:     FillCombo CLng(CustomerID)
 32:     
 33:     ' その他のテキスト情報を設定
 34:     If ONEBILLFLAG Then
 35:         ' [独立した請求書を作る]をチェック状態にする
 36:         CHK_ONEBILL.Value = 1
 37:     Else
 38:         CHK_ONEBILL.Value = 0
 39:     End If
 40:     
 41:     If Not IsNull(DIVISION) Then
 42:         TXT_DIVISION.Text = DIVISION
 43:     Else
 44:         TXT_DIVISION.Text = ""
 45:     End If
 46:     
 47:     If Not IsNull(PERSON) Then
 48:         TXT_PERSON.Text = PERSON
 49:     Else
 50:         TXT_PERSON.Text = ""
 51:     End If
 52:     
 53:     If Not IsNull(DELIVERDATE) Then
 54:         TXT_DELIVERDATE.Text = DELIVERDATE
 55:     Else
 56:         TXT_DELIVERDATE.Text = ""
 57:     End If
 58:     
 59:     If Not IsNull(SENT_ADDR) Then
 60:         TXT_SENTADDR.Text = SENT_ADDR
 61:     Else
 62:         TXT_SENTADDR.Text = ""
 63:     End If
 64:     
 65:     If Not IsNull(SENT_TEL) Then
 66:         TXT_SENTTEL.Text = SENT_TEL
 67:     Else
 68:         TXT_SENTTEL.Text = ""
 69:     End If
 70:     
 71:     If Not IsNull(MEMO) Then
 72:         TXT_MEMO.Text = MEMO
 73:     Else
 74:         TXT_MEMO.Text = ""
 75:     End If
 76:     
 77:     TXT_MADEUSER.Text = MADEUSER
 78:     TXT_MADEDATE.Text = MADEDATE
 79:     TXT_LASTUSER.Text = LASTUSER
 80:     TXT_LASTDATE.Text = LASTDATE
 81:     
 82:     BTN_CALC.Enabled = True
 83:     
 84:     Set objSlip = Nothing
 85:     Exit Sub
 86: ErrHandle:
 87:     ' エラーハンドラ
 88:     MsgBox Err.Description, vbOKOnly, "伝票情報の編集エラー"
 89:     Set objSlip = Nothing
 90: End Sub