一: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