不需要建数据库只需代码
时间: 2023-10-15 07:03:57 浏览: 45
好的,以下是一个基于Excel的简单图书管理系统的代码示例,包含登录窗口和数据查询窗口:
```VBA
Option Explicit
Private Sub LoginButton_Click()
'登录按钮点击事件
Dim username As String
Dim password As String
Dim userType As String
username = Me.UsernameTextBox.Value
password = Me.PasswordTextBox.Value
userType = Me.UserTypeComboBox.Value
'根据用户类型判断登录是否成功
If userType = "普通用户" Then
If CheckUser(username, password) Then
'登录成功,显示数据查询窗口
DataQueryForm.Show
Me.Hide
Else
'登录失败,弹出消息框提示用户
MsgBox "用户名或密码错误!", vbCritical, "登录失败"
End If
ElseIf userType = "系统管理员" Then
If CheckAdmin(username, password) Then
'登录成功,显示数据查询窗口
DataQueryForm.Show
Me.Hide
Else
'登录失败,弹出消息框提示用户
MsgBox "用户名或密码错误!", vbCritical, "登录失败"
End If
End If
End Sub
Private Function CheckUser(username As String, password As String) As Boolean
'检查普通用户登录是否成功
Dim userTable As Worksheet
Dim found As Boolean
Set userTable = ThisWorkbook.Worksheets("userTable")
found = False
'遍历用户表格,查找匹配的用户名和密码
For i = 2 To userTable.Range("A" & Rows.Count).End(xlUp).Row
If userTable.Range("A" & i).Value = username And userTable.Range("B" & i).Value = password Then
found = True
Exit For
End If
Next i
CheckUser = found
End Function
Private Function CheckAdmin(username As String, password As String) As Boolean
'检查系统管理员登录是否成功
Dim adminTable As Worksheet
Dim found As Boolean
Set adminTable = ThisWorkbook.Worksheets("adminTable")
found = False
'遍历管理员表格,查找匹配的用户名和密码
For i = 2 To adminTable.Range("A" & Rows.Count).End(xlUp).Row
If adminTable.Range("A" & i).Value = username And adminTable.Range("B" & i).Value = password Then
found = True
Exit For
End If
Next i
CheckAdmin = found
End Function
```
这是一个简单的登录窗口,包含用户名、密码和用户类型三个输入框。用户输入完毕后,点击登录按钮会执行LoginButton_Click()事件,根据用户类型判断登录是否成功。如果登录成功,则显示数据查询窗口,否则弹出消息框提示用户。
数据查询窗口的代码如下:
```VBA
Option Explicit
Private Sub SearchButton_Click()
'查询按钮点击事件
Dim keyword As String
Dim resultTable As Worksheet
Dim resultCount As Integer
keyword = Me.KeywordTextBox.Value
'获取结果表格
Set resultTable = ThisWorkbook.Worksheets("bookInformation")
'清空结果列表
Me.ResultListBox.Clear
'遍历图书信息表格,查找包含关键字的图书并显示在结果列表中
For i = 2 To resultTable.Range("A" & Rows.Count).End(xlUp).Row
If InStr(1, resultTable.Range("B" & i).Value, keyword, vbTextCompare) > 0 Then
Me.ResultListBox.AddItem resultTable.Range("A" & i).Value & " " & resultTable.Range("B" & i).Value
resultCount = resultCount + 1
End If
Next i
'如果没有找到匹配的图书,弹出消息框提示用户
If resultCount = 0 Then
MsgBox "没有找到匹配的图书!", vbInformation, "查询结果"
End If
End Sub
```
这是一个简单的数据查询窗口,包含一个关键字输入框和一个结果列表框。用户输入关键字后,点击查询按钮会执行SearchButton_Click()事件,遍历图书信息表格,查找包含关键字的图书并显示在结果列表中。如果没有找到匹配的图书,则弹出消息框提示用户。
以上代码仅供参考,你可以根据自己的需求进行修改和完善。