'我不是权威,仅参考,不对解释错误负任何责任
Public UserName As String '定义全局变量 用户名
Sub Main() '主过程函数(入口函数)
Dim fLogin As New frmLogin '定义登陆一个窗口
fLogin.Show vbModal '显示窗口
If Not fLogin.OK Then '如果失败
End '则退出本程序
End If
Unload fLogin '御载登陆窗口
Set fMainForm = New frmMain '定义主窗口
fMainForm.Show '显示主窗口
End Sub
Public Function ConnectString() As String '定义函数 无参数返回字符型值
Dim strAppPath As String '定义路径变量
strAppPath = App.Path '赋值 本程序所在目录
If Right(strAppPath, 1) <> "\" Then '如果最右边不"\" 则加上"\"
strAppPath = strAppPath & "\"
End If
strAppPath = strAppPath & "Data\Status.mdb" '变量加上数据库文件名
ConnectString = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & strAppPath & ";PWD=MQ2004"
'驱动为微软的Access数据库模式 密码为"MQ2004"
End Function
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset '定义一个函数 返回记录集
Dim cnn As ADODB.Connection '定义数据库资料变量
Dim rst As ADODB.Recordset '定义记录集变量
Dim sTokens() As String '定义字符型数组变量
On Error GoTo ExecuteSQL_Error
'如果出现异常执行 ExecuteSQL_Error标签后的语句
sTokens = Split(SQL) '将携毕源实参SQL斩开,并赋辩态值给数组
Set cnn = New ADODB.Connection '同上面
cnn.Open ConnectString '打开数据库
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then
'看数组sTokens第一个元素中是否是前个三个词(插入,删除,更新)之一
cnn.Execute SQL '如果是,就数盯执行相应操作
MsgString = sTokens(0) & " query successful" '消息字符串
Else
Set rst = New ADODB.Recordset '上面提及
rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic
'根据要求访问数据库
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & " 条记录 "
'消息字符串
End If
ExecuteSQL_Exit: '异常处理标签
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error: '异常处理标签2
MsgString = "查询错误: " & Err.Description
Resume ExecuteSQL_Exit
End Function
Public Sub EnterToTab(Keyasc As Integer) '接收按键的过程函数
If Keyasc = 13 Then '值这VBKeyReturn 即回车时
SendKeys "{TAB}" '调用函数
End If
End Sub