VB_解决方案总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“vb解决方案总结”。
VB解决方案总结
方案1:控件与窗体同名的限制(同一窗体中)
在同一个窗体中,如果该窗体控件名称和窗体名称一致,那么不管在本窗体或者其他窗体来调用这个窗体的Show方法或其他控件都不行
解决:同一窗体所有控件名称不要与窗体名称一致,才能使用“窗体.Show”、“窗体.*.Text”、“窗体.Hide”等
方案2:解决控件的动态显示或不显示
窗体上有一个command按钮 command.Visible = False '按钮不可视 command.Visible = True '按钮可视 可通过IF语句控制器显示或不显示
方案3:unload和hide区别
Unload Me是将所在窗体本身从内存中移除,Me.Hide是将窗体隐藏,但是它实际上仍然在内存中。
方案4:关于where后单双引号的问题
如果acce数据库某字段的类型为数字,则vb中的where筛选中只用双引号 例如:Adodc.RecordSource = “select * from 采购单
where 采购编号 = ” &采购编号.Text & “ ” 如果acce数据库某字段的类型为文本,则vb中的where筛选中单双引号共用
例如:Adodc.RecordSource = “select * from 采购单
where 物品名称 = '” &物品名称.Text & “'”
方案5:程序异常退出处理
On Error GoTo err 你实际要执行的代码...err:
If err.Number> 0 Then'假如出错怎样再次捕获异常? 如果异常,则写出你要进行的处理代码...end if
方案6:区分大小写 Option Explicit Option Compare Binary
'区分大小写 'Option Compare Text
'不区分大小写 Private Sub Command1_Click()
Dim s1, s2
s1 = “A”
s2 = “a”
If s1 = s2 Then MsgBox “相等”
Else MsgBox “不等”
End If End Sub 分别注释掉上面的一条 Option Compare语句试一下,可以得到不同的结果 作用:可用于区分用户登录时用户名的大小写区分 例子:
Option Explicit Option Compare Binary
'区分大小写 'Option Compare Text
'不区分大小写 Dim s1, s2 Adodc1.RecordSource = “select * from 用户管理 where 用户名称='” &txtUserName.Text& “'” Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then
s1 = Adodc1.Recordset.Fields(“用户名称”)
s2 = txtUserName.Text
'区分大小写
If s1 s2 Then MsgBox “您可能开启了键盘大写,请区分大小写!”, vbExclamation + vbOKOnly, “错误提醒-www.daodoc.com”
Exit Sub
Else 用户名正确,写判断密码的代码
End if Else MsgBox “用户不存在,请重新输入正确的用户名”, vbExclamation + vbOKOnly, “错误”
Exit Sub End If 注:分别注释掉上面的一条 Option Compare语句试一下,可以区分或不区分大小写
方案7:四舍五入保留两位小数
(1)、Text1.Text = Format(3.125, “0.00”)'结果是3.13(2)、Text2.Text = Round(3.125, 2)
'结果是3.12 注:Round 不是四舍五入,而是“就近舍入”。返回最接近参数的整数。如果参数为两个整数的中值(7.5),这两个整数一个为偶数(8),另一个为奇数(7),则返回偶数(8)。此方法的行为遵循“IEEE 标准”754 的第 4 节。这种舍入有时称为就近舍入或银行家舍入。
方案8:combox的使用,添加项
1、Combo1.AddItem “客户”
2、Combo1.List(0)= “产品型号” additem是在末尾添加,list(index)是在指定位置添加的 异常:处理异常
If Adodc1.Recordset.BOF then
......end if If Adodc1.Recordset.EOF then
......end if BOF、EOF 属性:
BOF 指示当前记录位置位于Recordset对象的第一个记录之前。EOF 指示当前记录位置位于Recordset对象的最后一个记录之后 返回值:
BOF 和 EOF 属性返回布尔型值。说明:
使用 BOF 和 EOF 属性可确定Recordset对象是否包含记录,或者从一个记录移动到另一个记录时是否超出Recordset对象的限制。
如果当前记录位于第一个记录之前,BOF 属性将返回 True(-1),如果当前记录为第一个记录或位于其后则将返回 False(0)。
如果当前记录位于Recordset对象的最后一个记录之后, EOF 属性将返回 True,而当前记录为Recordset对象的最后一个记录或位于其前,则将返回 False。如果 BOF 或 EOF 属性为 True,则没有当前记录
方案9:回车键相当于按钮
把要回车代替的按钮的default属性值设为true Private Sub Form_KeyPre(KeyAscii As Integer)If KeyAscii = 13 Then 确定_Click
‘回车代替确定按钮,并执行Click的代码 End If End Sub
方案10:VB字符串连接符有 + 和 & 区别是 + 号的两个目都必须为字符串,例如 A+B,A、B必须都是字符中变量,否则产生一个Exctption。而&则可直接把变更的内容用tostring方法转换,例如“aString” & 1234,结果就变成aString1234
举个例子:
Dim A as string, B as integer,C as string '定义了三个变量
'
一、字符串连接的方法: A=“ABCD” & “DCBA” '结果是“ABCDDCBA” '
二、字符串变量的连接: A=“ABCD” C= A & “DCBA” '结果是“ABCDDCBA” A=“ABCD” C=“DCBA” C= C & A '结果是“DCBAABCD” '
三、字符串和数字的连接: A=“ABCD” B=125 C= STR(B)& A '结果是C=“ 125ABCD” C= A &STR(B)'结果是C=“ABCD 125” C= A &CSTR(B)'结果是C=“ABCD125” 看出区别了吗 方案11:EOF或BOF错误
约束的记录集为空时会弹出此错误