在做机房收费系统过程中,遇到了几个难点:1,MSHFlexGrid控件,中表格单行的选中和删除;2,上下机窗体消费金额的计算;3,组合查询;4,结账;5,导出Excel;6,报表
先总结两个:
1,在“添加删除用户”窗体中有删除用户这项功能。要求在单击“删除”按钮后,将MSHFlexGrid控件中单击选中的一行删除。
实现单击选中一行的代码;
- <span style="font-size:24px;"><span style="color:#33cc00;">'单击,选中一行</span>
- Private Sub myflexgrid_mousedown(button As Integer, shift As Integer, x As Single, y As Single)
- x = myflexgrid.Row
- For j = 0 To myflexgrid.Rows - 1
- myflexgrid.Row = j
- For i = 0 To myflexgrid.Cols - 1
- myflexgrid.Col = i
- myflexgrid.CellBackColor = vbWhite
- Next i
- Next j
- myflexgrid.Row = x
- If myflexgrid.CellBackColor = vbBlue Then
- For i_Col = 0 To myflexgrid.Cols - 1
- myflexgrid.Col = i_Col
- myflexgrid.CellBackColor = vbWhite
- Next i_Col
- Else
- For i_Col = 0 To myflexgrid.Cols - 1
- myflexgrid.Col = i_Col
- myflexgrid.CellBackColor = vbBlue
- Next i_Col
- End If</span>
- <span style="font-size:24px;">End Sub</span>
然后在“删除”按钮的单击事件中,利用MSHFlexGrid的RemoveItem属性,删除选中行。
2,上、下机窗体,消费时间的计算。
此处用到的函数有:DateDiff()、CDate()
这里一定要注意DateDiff()函数中后面两个参数的数据类型是日期型,所以如果要将数据类型为字符串的文本框文本转换为日期型——用CDate()函数;还要注意上机与下机不在同一天的情况(学校机房可能极少有这种情况,但是我们得考虑)
实现代码:
- <span style="font-size:24px;">txtConsumeTime.Text = DateDiff("n", CDate(txtOnComputerDate.Text), CDate(txtDownComputerDate.Text)) + DateDiff("n", TimeValue(mrc.Fields(7)), TimeValue(txtDownComputerTime.Text))
- </span>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。