机房收费系统(一)——优化总结

     机房终于敲完了,里面虽然有很多不足,但是看着里面有这么多的东西,还是很开心的。昨天晚上和今天下午让我的同桌老郑给检验了两遍,发现了好多自己没有发现的问题。

1.设置文本框只能输入数字:

<pre name="code" class="vb"><span style="font-size:18px;">If (KeyAscii >= 48 And KeyAscii <= 57) Or (KeyAscii = 8) Then
Else
  MsgBox "卡号只能输入数字!", vbOKOnly + vbExclamation, "警告"
  txtCardNo.Text = ""
  txtCardNo.SetFocus
End If</span>


         
 在程序运行的过程中是没有错误的,但是生成exe之后,如何输入的是汉字,它就会重复出现msgbox要输出的内容。现在我还没有查这种情况出现的原因,但是我换了一种方法: 
 

(1)现在模块中定义一个函数

Public Function Number_Only(ByVal KeyAscii As Integer) As Integer
    Select Case KeyAscii
    Case 8, 9, 13, &H30 To &H39
        Number_Only = KeyAscii
    Case Else
        Number_Only = 0
     End Select
End Function
(2)在需要设置输入的文本框调用该函数

Private Sub txtCardNo_KeyPress(KeyAscii As Integer)
   KeyAscii = Number_Only(KeyAscii)
End Sub
2.导出Excel表格的问题

我设置的是点击查询导出Excel就可用,但是这样就会出现查询没有记录仍可导出Excel表格。

txtSQL = "select * from CancelCard_Info where Date >= '" & DTPicker1.Value & " ' and Date <= '" & DTPicker2.Value & " '"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF Then
MsgBox "没有记录!", vbOKOnly + vbExclamation, "提示"
cmdExcel.Enabled = False                                     '导出Excel不可用
Else
cmdExcel.Enabled = True                                      '导出Excel可用
End If
3.有些窗体中每次点击添加之后,Msflexgrid控件中的不会清除上次查询的内容

4.有些功能不会给用户反馈信息

5.按时间查询没有设置终止时间大于起始时间

总结:

虽然在刚敲机房的时候我画了一张总流程的思维导图,对于整个项目有了一个宏观的把控,但是对于这里面的每一个小的功能,却没有了宏观把控,就直接去敲,遇到那个功能就去实现哪个功能,没有建立他们之间的联系。导致一样的功能在这个窗体中可以实现但是在另外一个窗体中却是问题百出。接下来就要整理一下每个功能的实现流程。




你可能感兴趣的:(机房收费系统(一)——优化总结)