List 7-203 FormBillDetailフォームのRefreshDataプロシージャ
1: Private Sub RefreshData()
2: ' データグリッドに表示されているデータを最新の情報に更新する
3: Dim objBill As Business.Bill
4: Dim crow As Long
5: Dim objRec As ADODB.Recordset
6:
7: ' データベースに接続して最新の情報を取得し,
8: ' データグリッドに表示する
9: On Error GoTo ErrHandle
10:
11: Set objBill = CreateObject("Business.Bill")
12:
13: Set objRec = objBill.GetBillDetails(BillID)
14:
15: ' 6列,0行に設定
16: FLXGrid_SlipDetail.Cols = 6
17: FLXGrid_SlipDetail.Rows = 0
18: FLXGrid_SlipDetail.FixedCols = 0
19: FLXGrid_SlipDetail.FixedRows = 0
20:
21: ' 内容をすべて消去
22: FLXGrid_SlipDetail.Clear
23:
24: If Not objRec.EOF Then
25: ' 日付順に並び替える
26: objRec.Sort = "LASTDATE"
27: objRec.MoveFirst
28: End If
29:
30: ' 列見出しを入れる
31: FLXGrid_SlipDetail.AddItem "日付" & vbTab & "製品名" & vbTab & _
"数量" & vbTab & "単価" & vbTab & _
"価格" & vbTab & "摘要"
32:
33: FLXGrid_SlipDetail.ColAlignment(0) = flexAlignRightCenter
34: FLXGrid_SlipDetail.ColAlignment(1) = flexAlignLeftCenter
35: FLXGrid_SlipDetail.ColAlignment(2) = flexAlignRightCenter
36: FLXGrid_SlipDetail.ColAlignment(3) = flexAlignRightCenter
37: FLXGrid_SlipDetail.ColAlignment(4) = flexAlignRightCenter
38: FLXGrid_SlipDetail.ColAlignment(5) = flexAlignLeftCenter
39:
40: ' 各列を入れる
41: crow = 1
42: While Not objRec.EOF
43: FLXGrid_SlipDetail.AddItem Format(objRec.Fields("LASTDATE").Value, "m/d") & vbTab & _
objRec.Fields("PRODUCTNAME").Value & vbTab & _
Format(objRec.Fields("NUMBER").Value, "#,##0") & vbTab & _
Format(objRec.Fields("UNITPRICE").Value, """\""#,##0") & vbTab & _
Format(objRec.Fields("PRICE").Value, """\""#,##0") & vbTab & _
44: objRec.Fields("MEMO").Value & vbTab
45: If objRec.Fields("DELETEDFLAG").Value Then
46: ' 削除ずみのときには,取り消し線を表示する
47: FLXGrid_SlipDetail.col = 0
48: FLXGrid_SlipDetail.row = crow
49: FLXGrid_SlipDetail.ColSel = 5
50: FLXGrid_SlipDetail.RowSel = crow
51: FLXGrid_SlipDetail.FillStyle = flexFillRepeat
52: FLXGrid_SlipDetail.CellFontStrikeThrough = True
53: End If
54: objRec.MoveNext
55: crow = crow + 1
56: Wend
57: Set objRec = Nothing
58:
59: ' 小計,消費税,合計を格納する
60: FLXGrid_SlipDetail.AddItem vbTab & vbTab & "小計" & vbTab & _
Format(g_SUBTOTAL, """\""#,##0")
61: FLXGrid_SlipDetail.AddItem vbTab & vbTab & "消費税" & vbTab & _
Format(g_TAX, """\""#,##0")
62: FLXGrid_SlipDetail.AddItem vbTab & vbTab & "合計" & vbTab & _
Format(g_TOTAL, """\""#,##0")
63:
64: ' 列見出しを固定する
65: FLXGrid_SlipDetail.FixedRows = 1
66:
67: Set objBill = Nothing
68:
69: Exit Sub
70: ErrHandle:
71: ' エラーハンドラ
72: MsgBox Err.Description, vbOKOnly, "サーバーとの接続に失敗"
73: Set objBill = Nothing
74: Set objRec = Nothing
75: End Sub