前言
刚开始敲机房的时候很是忐忑,这么多窗口无从下手,不明白各个窗体是怎么联系的,要实现什么功能。直到开始了才知道并不是自己想象中那么难,中间也有被卡的住的,但是通过去看,去问,问题一点点的就解决了。
感受:
1.没有把原机房都点点就开始做自己的机房了,遇见了很多问。所以开始的时候要先点一遍原机房
2.刚开始敲到窗体时候,经常不知道用哪个表,必须每次都运行原机房看看哪几个表发生了变化,所以开始机房之前应该要先看各个表里的字段名称都有什么,屡清楚思路,画出流程图。分析用到哪几个表, 不要急于先去敲代码。
3.要细心认真,好多错误都是自己少写了字母,或者多加少加空格,这种小问题,最低级的错误如果不注意,可能调错的时候会卡上好长的时间。
4.遇见不知道怎么写的代码不要慌,有计算的和选中列表框的代码感觉难一些,当然有一些以前没有用到的,经过百度的查找解决了,然后在理解,就学会成自己的了。
5.,在机房的过程中好多时间都没有抓紧,都白白浪费了,在以后的学习中一定要抓紧时间,提高执行力。
常用的代码
导出execel表:
首先需要我们添加一个引用,如图所示
Dim xlsapp As Excel.Application '声明excel对象
Dim xlsbook As Excel.Workbook '声明工作薄
Dim xlssheet As Excel.Worksheet '声明工作表
Dim i As Long
Dim j As Long
Set xlsapp = CreateObject("Excel.Application ") '创建应用程序
Set xlsbook = xlsapp.Workbooks.Add
创建新的空白工作薄
Set xlssheet = xlsbook.Worksheets(1) '设置应用表
xlsapp.Rows(1).Font.Bold = True '设置字体
'将MSFlexgrid1的内容导入到电子表格中
For i = 0 To MSFlexGrid1.Rows '通过
For j = 0 To MSFlexGrid1.Cols '由于第一行是表头所以添加数据从第二行开始
xlssheet.Cells(i + 1, j + 1) = "'" & MSFlexGrid1.TextMatrix(i, j) '因为表从第一行第一列开始,而 msflexgird控件从第0行0列
Next j
Next i
xlsapp.Visible = True '显示excel表
选择字段(组合查询):
Public Function filed(a As String) As String
Select Case a
Case "卡号"
filed = "cardno"
Case "学号"
filed = "studentno"
Case "姓名"
filed = "studentname"
Case "性别"
filed = "sex"
Case "系别"
filed = "department"
Case "年级"
filed = "grade"
Case "班级"
filed = "class"
Case "与"
filed = "and"
Case "或"
filed = "or"
End Select
End Function
快速清除textbox,combobox, MSFlexGrid1控件中的内容:
Dim ct1 As Control '定义一个变量,把控件装载到里面
For Each ct1 In Controls
'删除所有tetx文本框内容
If TypeOf ct1 Is TextBox Then ct1.Text = ""
Next ct1
'删除所有combobox文本框内容
For Each ct1 In Controls
If TypeOf ct1 Is ComboBox Then ct1.Text = ""
Next ct1
MSFlexGrid1.Clear
MSFlexGrid1控件:
1.MSFlexGrid1的TextMatrix对齐方式:
设置单元格居中对齐的写法:
MSFlexGrid1.CellAlignment =flexAlignCenterCenter
设置整个列居中对齐的方法:
MSHFlexGrid1.ColAlignment(1) =flexAlignCenterCenter
同样可以设置为:flexAlignRightCenter和flexAlignLeftCenter,意思是设置为右对齐、左对齐。
2.选中删除MSFlexGrid1控件中一行
txtsql = "select * from online_info where cardno = '" & Trim(MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 0)) & "'"
Set mrc = ExecuteSQL(txtsql, msgtext)
.RemoveItem .RowSel '移除选中的这一行
mrc.Delete
textbox控件中换行显示信息(如图充值表):
要在TextBox控件中换行,需先将MultiLine属性设置为 True。
txtExplain.Text = "充值卡号:" & txtCardNo.Text & vbCrLf & _
"上次卡内余额 :" & a & vbCrLf & _
"现在卡内的余额:" & mrc.Fields(7) & vbCrLf & _
"充值日期:" & mrc1.Fields(4) & vbCrLf & _
"充值时间:" & mrc1.Fields(5) & vbCrLf & _
"充值老师:" & mrc1.Fields(6)
扩展:
总结
机房最重要有个全局观,想出大致的轮廓,先化繁为简,理解大程序是干什么用的,在做的当中在深入理解,注意各个表中的逻辑,画个流程图,最重要的是不要畏惧困难,要不断探索,每次都会有不同的收获,每次遇见困难的时候,都是在走上坡路,都是在成长的时候。