知识点 机房

 一:val函数将由数字符号(包括正负号、小数点)组成的字符型数据转换成相应的数值型数据。

        mrc.Fields(7) = Val(mrc.Fields(7)) + Val(Text2.Text) 'val函数

二:因为数值类型不同,比较大小出错,更改数据库中值的类型为int

三:所有列都居中:

Private Sub cmdQuery_Click()
    Dim i, iCols As Integer '让所有列都居中显示文字
    iCols = MSHFlexGrid1.Cols
    For i = 0 To iCols - 1
        MSHFlexGrid1.ColAlignment(i) = flexAlignCenterCenter
    Next i

四:钱不能是小数。round()四舍五入防止小数出现

五: 往数据库中输入时间:

  mrc.Fields(7) = Date'日期
  mrc.Fields(8) = Time'时间

六:实时错误‘30015’:不能删除上一个非固定行

表格控件右击鼠标属性——设成1,0(把对应的行改为1,固定行改为0)

七:text自动换行

在属性窗口将Text1的Multiline(多行显示)设为True

八:结账窗体的控件:

SSTab控件,在工程→部件→控件 中勾选“Microsoft Tabbed Dialog Control”控件,点击应用,之后的窗体如下:

九: 实时错误‘94’无效使用null值

只需要在代码的后边加上 & “”就可以了

十:实时错误3021:BOF或EOF中有一个是“真”,或者当前的记录已经被删除,所需的操作要求一个当前的记录

学生时遇到是因为删除到最后没有数据了,就会报错。或者连接数据库出错招不到值。

十一:组合查询中,”或“”与“和其他字段

我们的字段名选择是汉字,要想在数据库中查询字段,根本就不认识,这就需要我将汉字转换为相应的字符串,为了方便简洁,定义一个函数。

十二:从日历中选择日期:

用DTpicker日期控件,

 添加方法:工程——部件——控件——Microsoft Windows Common Controls-2 6.0

如果DTPicker.Format=1(显示小时)这时候,DTPicker.Visible=False不能用,可以把时间写到text文本框中,即可隐藏

             DTPicker1.Visible = True
             DTPicker1.Format = dtpTime
             d = Format(DTPicker1.Value, "hh:mm:ss")
             txtInquiry1.Text = d

十三:下标越界 实时错误381 vb

是在myFlexGrid中溢出问题:

解决方法:

扩大下标范围

选中myFlexGrid,右击属性

我表格是第三列报错,属性只是设置了两列,而一共有5列把2改成所需要的5即可。

十四:len()返回文本串的字符数,可以用来判断是否输入内容。

十五:弹出框提醒最小金额:"金额小于最低余额:" & Trim(mrc1.Fields(5))

十六:组合查询同一个文本框,在卡号只输入数字,在姓名限制特殊字符:

Private Sub txtInquiry1_Change()
Dim i As Integer
Dim s As String
If cboField1.Text = Trim("卡号") Then
 For i = 1 To Len(txtInquiry1.Text)
        s = Mid(txtInquiry1.Text, i, 1)
        If s Like "[!0-9]" Then
            txtInquiry1.Text = Replace(txtInquiry1.Text, s, "")
        End If
    Next i
End If

If cboField1.Text = "消费金额" Or cboOpe1.Text = "余额" Or cboOpe1.Text = "学号" Then
 For i = 1 To Len(txtInquiry1.Text)
        s = Mid(txtInquiry1.Text, i, 1)
        If s Like "[!0-9]" And s Like "[!.]" Then
            txtInquiry1.Text = Replace(txtInquiry1.Text, s, "")
        End If
    Next i
End If
End Sub
'同时也要控制输入长度,当姓名的要求是不能输入特殊字符
Private Sub txtInquiry1_KeyPress(KeyAscii As Integer)
Call IsNumber(KeyAscii)
    If Len(txtInquiry1) >= 8 Then
          txtInquiry1.Text = "" 
             KeyAscii = 0    ’输入字符清零
          Label6.Caption = "最多输入8位!"
        End If
End Sub

模块中:
Public Function IsNumber(KeyAscii As Integer) As Integer '不能输入特殊字符
     Select Case KeyAscii
        Case 48 To 57    '只能输入数字
        Case 65 To 90    '只能输入大写字母
        Case 97 To 122   '只能输入小写字母
        Case 8           '只能输入退格
        Case 13
        Case -20319 To -3652
        Case 32
        Case Else        '否则输入无效
        KeyAscii = 0
    End Select
End Function

 

你可能感兴趣的:(机房,第一次机房收费系统)