这个过程稍微有点麻烦,还是来回答一下吧
问题的关键在于,如何实现VB与Access之间的链接,这里通过SQL语句来实现
当然了,SQL语句也有很多包括检索(select)、排序检索(order by)、过滤(where)、插入(insert)等等......
这个先不管,先来看看数据库
数据库一看感觉很像excel,我们先新建一个表
有三列,字段名分别是“ID”、“账户”、“密码”,在这里呢字段名可以是字母也可以是汉字(我是为了方便才用的汉字,不要学我)
然后可以在下边添加信息(我这里已经添加了一条了),也可以在表名那右键进入“设计视图”去更改字段的更多信息。这些不是重点,不进行详述。
这样一个简易的数据库就搭建好了,但要注意几点:①保存的时候要另存为保存成“.mdb”文件!原因好像是VB只兼容老版本的数据库格式。②数据库文件和vb的工程要保存在同一个文件夹里
数据库搭建好后,回到VB,首先新建一个工程,接着,按顺序完成以下步骤:
①在“工程”-“引用”勾选“Mircrosoft ActiveX Data Object 2.5 Library”选项。
②在下图位置右键新建一个模块,双击模块进入代码输入窗口
③在代码窗输入以下代码(有地方需改动)
Public gsConStr As String
Public gcnCon As ADODB.Connection
Public dataPath As String
Public curDire As String
Public curFile As String
Public Const MainPassword As String = "000000"
Public sql As String
Public rstemp As ADODB.Recordset
Sub main()
Set gcnCon = New ADODB.Connection
dataPath = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\") & "我的2020.mdb" '修改相应的数据库名称
gsConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dataPath & ";Persist Security Info=False"
gcnCon.ConnectionString = gsConStr
gcnCon.CursorLocation = adUseClient
gcnCon.Open
FrmDenglu.Show '修改相应的登陆窗体名称
End Sub
④在“工程”-“属性”修改启动对象为“Sub Main”
⑤在登陆窗体上放上相应的控件(两文本框一按钮)
⑥进入代码编辑窗,输入以下代码(有地方需改动)
Option Explicit
Dim islogin As Boolean
Private Sub Command1_Click()
Dim x%
sql = "select * from admin where 账户='" & Text1.Text & "' and 密码='" & Text2.Text & "'" 'SQL语句
Set rstemp = gcnCon.Execute(sql) '执行SQL语句
If Not rstemp.EOF Then '查找是否存在该账户及密码,如果存在
islogin = True
Unload Me
FrmMain.Show '修改成相应主窗体,即登陆后想要见到的下一个窗体
Else '如找不到所输入账户和密码
x = MsgBox("用户名或密码错误!", 5, "提示")
If x = 4 Then
Text2.SetFocus
Else
End
End If
End If
rstemp.Close
End Sub
⑦保存,运行启动,查看代码是否有问题
上面讲解的是一般系统登陆的方法,像题主所说的区分管理员和一般用户的方法有很多种,下面给两个解决方案:
①在数据库用户表中新建一个字段,用来存储登陆账户的身份信息,在登陆时拾取人员的身份信息,进行判断之后进入相应窗体。
②在数据库中,管理员和一般用户各一个表,在登陆界面多加两个组合的Option控件,让用户自行选择以什么身份进行登录,进行判断之后进入相应窗体。