Sub Main()
Dim flogin As New frmlogin '实例化flogin窗体
flogin.Show vbModal '使flogin窗体以模式化(批注一)窗体显示
If Not flogin.ok Then '如果登录不成功
End If
Unload flogin '卸flogin窗体
Set fmainform = New frmmain '实例化主窗体
fmainform.Show '显示主窗体
End Sub在这里插入代码片
批注一:模式窗体和非模式窗体:
只有模式和非模式两种,简单点说,当你以模式方式打开一个窗口,你只能在将其关闭以后才能操作另外的窗口.但非模式窗口显示时,你可以同时操作这两个窗口.
Public Function ConnectString() As String 'connectstring 函数主要负责数据库的连接工作
ConnectString = "FileDSN=charge.dsn;UID=sa;PWD=123456" '以DNS方式连接数据源 ,还可以以IP的方式连接数据源
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
sTokens = Split(SQL)
Set cnn = New adodb.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then '非Select语句
cnn.Execute SQL '数据量不大时,可以在连接上,直接执行SQL语句
MsgString = sTokens(0) & " query successful"
'虽然MsgString不是返回值,但传递方式是ByRef,实参地址和这个地址相同
Else 'Select语句
Set rst = New adodb.Recordset
rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic
'得到临时表,游标指向第一条记录
'get RecordCount,
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function