您的位置:寻梦网首页编程乐园VB 编程乐园VB问题全功略

VB问题全功略(10)

上一页(10)下一页

46、程序启动时,如何自动判断 Access 资料库是否损毁并自动修复?
47、如何让程序在 Windows 启动时自动执行?
48、如何让程序在新 User Login 时自动执行?
49、已将 TextBox 的 Alignment 属性设为「1-靠右对」(1-RightJustify),但文字却未向右靠?
50、在 TextBox 中如何限制只能输入数字?

46、程序启动时,如何自动判断 Access 资料库是否损毁并自动修复?

若程序使用 Access 资料库开发,当 Access 资料库损毁时,一进入程序,便会出现以下讯息:

Can't open database 'name'. It may not be a database that your application recognizes, or the file may be corrupt. (Error 3049)

若是程序中未加入错误判断,程序便会中断跳出,这会给予使用者极不好的印象,要避免这种情形,甚至不让使用者发现资料库损毁,便要加入以下之程序码加以判断:

Private Sub Form_Load()
Dim db As Database
On Error GoTo error1
Set db = OpenDatabase("c:\test.mdb")
On Error GoTo 0
: '正常程序开始
:
Exit Sub

error1:
If Err = 3049 Then '资料库损毁
DBEngine.RepairDatabase "C:\test.mdb"
Resume
Else
MsgBox Err & Error(Err)
End If

47、如何让程序在 Windows 启动时自动执行?

有以下二个方法:

方法1: 直接将快捷方式放到启动群组中。

方法2:
在注册档 HKEY_LOCAL_MACHINE 中找到以下机码
\Software\Microsoft\Windows\CurrentVersion\Run
新增一个字串值,包括二个部份
1. 名称部份:自己取名,可设定为 AP 名称。
2. 资料部份:则是包含 '全路径档案名称' 及 '执行参数'

例如:
Value Name = Notepad
Value Data = c:\windows\notepad.exe

48、如何让程序在新 User Login 时自动执行?

在注册表中 HKEY_CURRENT_USER 找到以下代码
\Software\Microsoft\Windows\CurrentVersion\Run

新增一个字串值,包括二个部份
1. 名称部份:自己取名,可设定为 AP 名称。
2. 资料部份:则是包含 '全路径档案名称' 及 '执行参数'

例如:
Value Name = Notepad
Value Data = c:\windows\notepad.exe

49、已将 TextBox 的 Alignment 属性设为「1-靠右对」(1-RightJustify),但文字却未向右靠?

欲将 TextBox 内的文字向右靠,除了将 Alignment 属性设为「1-靠右对 」之外,亦 将 MultiLine 属性设为 True。

但是若您希望只有单行,不要多行,则必须判断 User 是否按了 Enter Key,那只好在 TextBox 的 KeyPress 中加入以下程序码,以去除 Enter 的作用:

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
KeyAscii = 0
End If

50、在 TextBox 中如何限制只能输入数字?

参考下列程序:
Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If
End Sub

上一页(10)下一页