With Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "gongyu" .Refresh End With With Adodc3 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "class" .Refresh End With With Adodc4 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "weisheng" .Refresh End With With Adodc5 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource End With With Adodc6 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "dengji" .Refresh End With With Adodc7 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "qinshi" .Refresh End With With Adodc9 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "zichan" .Refresh End With treeview部分树形显示的初始化在这里已经做了几个过程,调用即可。 4.3系统设置 4.3.1用户管理 ①界面效果图 图4.3用户管理 ② 界面制作与实现方法 这个界面总体来说各个控件比较简单,但是作为一个添加删除管理员的操作,它已经连接到了数据库,与数据库的yonghu表相联。各个控件也与数据库中表的字段绑定。 在窗体初始化的时候要判断当前数据库表中是否有记录,如果没有记录那么有些按钮将会被设置成为失效状态,否则会出现错误。设置代码如下: Dim provider As String Dim datasource As String provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "\DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "yonghu" .Refresh End With Option1.Enabled = False Option2.Enabled = False If Adodc1.Recordset.RecordCount = 0 Then Command2.Enabled = False Command3.Enabled = False Command5.Enabled = False Command6.Enabled = False End If Text2.Text = Text3.Text 上一条与下一条的功能一目了然,它们可以对当前表进行上一条记录或下一条记录依次查看。当找到记录后,可以对其进行相对的删除、修改等操作。上一条记录与下一条的记录在查看时有一个判断。当表中记录移到最前面(BOF)或最后面(EOF)时,会把上一条或下一条其中的一个按钮的enable属性设置为true。即不可以前查看或向后查看。 上一条与下一条主要代码如下: Adodc1.Recordset.MovePrevious '移动记录 Command6.Enabled = True If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Command5.Enabled = False End If Adodc1.Recordset.MoveNext '移动记录 Command5.Enabled = True If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Command6.Enabled = False End If 添加用户可以添加使用该管理软件的用户。添加的时候可以选择所添加人物的级别。软件默认为两个级别:管理员、普通用户。管理员拥有对此软件管理操作等一切的权力。普通用户,只有普通的查看、查询、备份、添加等权力。没有对记录删除等权力。在添加用户时你可以选择一个且必须选择一个。然后输入此用户的用户名和密码即可! 添加用户主要代码: If Command1.Caption = "添加" Then Command2.Enabled = False Command5.Enabled = False Command6.Enabled = False Command1.Caption = "确定" Command3.Caption = "取消" Adodc1.Recordset.AddNew Option1.Enabled = True Option2.Enabled = True Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text2.Text = "" ElseIf Text1.Text = "" Then MsgBox "用户名不能为空!", 48, "提示" ElseIf Text2.Text = "" Then MsgBox "密码不能为空!", 48, "提示" ElseIf Text2.Text <> Text3.Text Then MsgBox "密码两次需一致!", 48, "提示" ElseIf Text4.Text = "" Then MsgBox "请选择所建用户类型!", 48, "提示" Else Command2.Enabled = True Command3.Enabled = True Command5.Enabled = True Command6.Enabled = True Command3.Caption = "编辑" Command1.Caption = "添加" Adodc1.Recordset.Update Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Option1.Value = False Option2.Value = False Option1.Enabled = False Option2.Enabled = False End If 删除操作可以把当前记录删除掉。一经删除即不可以在恢复。所以在操作前要想好。 删除操作部分代码: If Adodc1.Recordset.RecordCount = 1 Then Command2.Enabled = False End If If (MsgBox("你真的想删除当前记录吗?", vbOKCancel, "系统提示")) = vbOK Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveFirst Adodc1.Refresh End If 编辑操作可以对当前所选择的用户进行编辑,可以修改其用户名与密码。当当前用户感觉自己用户名称或密码有泄露时,可以进行修改。修改记录即更新表中的某一条记录。 编辑操作主要代码如下: Command2.Enabled = False Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Option1.Enabled = True Option2.Enabled = True Command1.Caption = "确定" ElseIf Command3.Caption = "取消" Then Command3.Caption = "编辑" Command1.Caption = "添加" Command2.Enabled = True Command5.Enabled = True Command6.Enabled = True Text2.Text = Text3.Text Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Option1.Value = False Option2.Value = False Option1.Enabled = False Option2.Enabled = False End If 4.3.2 公寓设置 公寓设置可以说是本程序中一关键部分。因为所有的设置都在此进行。包括公寓添加、修改、删除。寝室的添加、修改、删除以及班级的添加、修改和删除操作。只有正确的对这些设置进行添加修改,才能输入正确的记录。这里主要涉及到的问题是datagrid的显示,以及treeview及时形成新的结构。还有一些就是对表记录的复杂操作。 在点击sstab各版的时候,要在这时重新生成寝室设置中的树型结构, Select Case PreviousTab Case 0 Call startree1 Case 1 Combo1.Clear Dim I As Integer I = 1 If Adodc1.Recordset.RecordCount <> 0 Then Adodc1.Recordset.MoveFirst Do While I < Adodc1.Recordset.RecordCount Combo1.AddItem (Adodc1.Recordset.Fields("公寓名称")) Adodc1.Recordset.MoveNext I = I + 1 Loop End If Call startree1 Case 2 Call startree1 End Select End Sub (1) 公寓设置 ① 公寓设置效果图 图4.4公寓设置 ② 界面制作与实现方法 在这个界面中主要用到了一个Sstab控件与一个显示表中内容的Datagrid控件。以及起到美观作用的Frame控件。 在右下角的文本框中可以输入想要添加的公寓名称。然后点击添加即可完成添加操作。Datagrid中会立即刷新显示更新内容。要修改某条记录时,要先对所要修改的记录进行选择,确认选择后,点击下面的修改按钮,会在下面的文本中显示出所要修改公寓的名称,此时即可输入要修改的名字。然后点击更新就会完成此操作。Datagrid也会即时更新其内容。删除操作更为简单,选择想要删除的公寓名称,点击删除,确认后完成此操作。但是删除后不会影响其它表中的数据。其它表的有关此公寓的信息还会存在。 在进行所有操作前,先要确定数据库已连接。 在添加前要判断所写公寓名称是否正确,即是否输入名称,该记录不能为空,不为空则对数据库表进行查找,判断当前输入记录是否已在表中存在,如果已存在,则会给出提示,不存在,添加成功。 Adodc1.Recordset.Find "公寓名称='" & Text2.Text & "'" If Adodc1.Recordset.EOF = False Then MsgBox "此公寓已存在", , "提示" Adodc1.Recordset.MoveFirst Exit Sub End If Text3.Text = "" If Text2.Text = "" Then MsgBox "输入所要添加公寓的名称", , "提示" Exit Sub End If 添加: Adodc1.Recordset.AddNew Adodc1.Recordset.Fields("公寓名称") = Text2.Text Adodc1.Recordset.Update Adodc1.RecordSource = "gongyu" Text2.Text = "" Set DataGrid2.datasource = Adodc1 DataGrid2.Refresh 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] 下一页 |