


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、代码实现登录界面此界面是由Photoshop制作而成。在做这个登录面的时候想了很多,最后选择了这种, 感觉它看起来干净,整齐。又不失其庄雅。加上本单位最有特色的建筑,会让人一目了然。图4.1登录界面1.2界面制作与实现在这个界面中,主要处理的是判断当前用户输入的信息是否正确。如果正确,那么它属于哪种类型用户。因为此管理软件在登录后不同类型的用户显示的窗体与实现的功能都不是 一样的,它们会有所差别!(1)浮动按钮的实现确定和取消两个按钮在鼠标没有放上去之前看上去只是一个普通的平面字效果,但是当你把鼠标放在这几个字上面后,它会显示凸出的效果, 按下后呈现凹陷的效果。 总体实现立体的感觉。原理主要是
2、在鼠标 mousemove事件与线的颜色变化组合来实现。主要代码如下:在窗体中的鼠标移动过程中,以及在窗体初始化的时候,要把添加的线的.Visible 属性设置为False,只有在鼠标按下的时候在改变其颜色即可。Private Sub Form_MouseMove(Button As In teger, Shift As In teger, x As Si ngle, Y As Sin gle)Li ne1.Visible = FalseLi ne2.Visible = FalseLin e3.Visible = FalseLin e4.Visible = FalseLi ne5.Visibl
3、e = FalseLi ne6.Visible = FalseLi ne7.Visible = FalseLi ne8.Visible = FalseEnd Sub鼠标按下的时候设置线条的颜色如下:Private Sub Label3_MouseDow n(Button As In teger, Shift As In teger, x As Si ngle, YAs Si ngle)Li ne1.BorderColor = & H808080Lin e2.BorderColor = & H808080Lin e3.BorderColor = & HEOEOEOLin
4、e4.BorderColor = & HEOEOEOEnd Sub鼠标移动到标签的时候设置线条的颜色如下:Private Sub Label3_MouseMove(Button As In teger, Shift As In teger, x As Si ngle, YAs Si ngle)Li nel.BorderColor = & HEOEOEOLin e2.BorderColor = & HEOEOEOLin e3.BorderColor = & H8O8O8OLin e4.BorderColor = & H8O8O8OLin el.Visibl
5、e = TrueLi ne2.Visible = TrueLin e3.Visible = TrueLi ne4.Visible = TrueEnd Sub(2)用户类型判断在数据库中建了一人yonghu表。在添加管理人员时有两种默认级别。管理员、普通用户。管理员拥有对数据库操作的一切权限。普通用户只有普通的查看,数据转换等。没有删除等操作功能。前用户成功登录后,会在主窗体的状态栏中显示出当前用户及其用户类型。主要代码如下:设置当前控件连接的数据库Dim provider As Stri ngDim datasource As Stri ngprovider = "provider=
6、Microsoft.jet.oledb.4.O"datasource = "data source=" & App.Path & "DB.mdb"With Adodcl .Mode = adModeReadWrite.Conn ecti on Stri ng = provider & "" & datasource.Comma ndType = adCmdTable.RecordSource = "yon ghu".Refresh.Recordset.MoveFirstEn
7、d With对用户进行判断If Text1.Text = "" The nMsgBox "请输入用户名!", 48," 提示”Exit SubEnd IfAdodc1.Recordset.Fi nd " 用户='"& Text1.Text & "”'Text2.TextIfAdodc1.Recordset.EOF=FalseAndTrim(Adodc1.Recordset.Fields("pass") Thenmain.Text1.Text = Adodc1.Re
8、cordset.Fields("级别")main.Text2.Text = Adodc1.Recordset.Fields("用户")mai n.ShowUn load MeElseText1.Text =""Text2.Text =""MsgBox "登录不成功,请重新登录!", 48," 提示”End If二、程序主界面整个界程序主界面为本软件的显示的核心部分。一切主要操作及显示都通过这里完成。面主要由五部分组成。菜单部分、工具栏、左侧操作栏、右侧显示栏以及状态栏。界面效果图如下:
9、Steiff 丄i囲年刖 卫生检电 二武彊产 记気否FJS环f杀 ffllh页73 _Q _u I v I Q出勺剃卩枚戏出辞缶忖瑯研追止沖厨榕*| 卫生桶.WrE;卞 IHtlYFSi eny "Siy1E¥t27利精&吾>虽&晏血 Weu-e号旨匚-Lj-3- AJ i .7 - - J 1- * - M'MJsvt旳旳旳旳*5?|<=dl?L03>V号盘禹护生为'N丽看短口 01 李飞i*ilrt®F;lf用尸忸忒;卞叩值图4.2程序主界面左侧操作栏和右侧显示栏会在下面的容中做介绍,现在只简单介绍一下工具栏和
10、状态 栏,以及主窗体的各个事件。它的实现方法如下所示:Dim o As AdodcSet o = DataGridl.datasource这里主要是用到了ado对像的方法。用这个方法得到数据源。下面是整个工具栏运行时代码:Select Case Butt on.ln dexCase 1sel.Show 1Case 3add.Show 1Case 5On Error GoTo n ext2Dim s As AdodcSet s = DataGrid1.datasourceIf s.RecordSource = "users" The nedit.Show 1End Ifn e
11、xt2:Case 7On Error Resume NextDim o As AdodcSet o = DataGrid1.datasourceCase 9back.Show 1Case 11With Adodc1.Mode = adModeReadWrite.Conn ecti on Stri ng = provider & "" & datasource.Comma ndType = adCmdTable.RecordSource = "users"'.RefreshEnd WithSet DataGrid1.datasour
12、ce = Adodc1DataGrid1.RefreshCall dxCase 13Un load Me级别")用户")"& Text2.Text"& Text1.TextEnd Selectmain. Text1.Text = Adodc1.Recordset.Fields(" mai n.Text2.Text = Adodc1.Recordset.Fields("StatusBar1.Pa nels(2).Text ="当前用户:StatusBar1.Pa nels(3).Text ="用户模式
13、:StatusBar1.Pa nels (4) .Text = Date & ” ” & Time'设置普通用户模式If Text1.Text ="普通用户 ” Thenyhgl.Visible = Falseg1.Visible = Falsejlsc.Visible = Falsegys z.Visible = FalseToolbarl.Butto ns(6).Visible = FalseToolbarl.Butto ns(7).Visible = FalseToolbarl.Butto ns(8).Visible = FalseEnd IfDataG
14、ridl.Width = mai n. Width - SSTab1.WidthDataGrid1.Height=mai n.Height - StatusBar1.Height - CoolBar1.Height - 750 SSTab1.Height = mai n. Height - StatusBar1.Height - CoolBar1.Height - 750 Frame1.Height = mai n. Height - StatusBar1.Height - CoolBar1.Height - 1200 Frame2.Height = mai n. Height - Statu
15、sBar1.Height - CoolBar1.Height - 1200 Frame3.Height = mai n. Height - StatusBar1.Height - CoolBar1.Height - 1200 TreeView1.Height=mai n.Height - StatusBar1.Height - CoolBar1.Height - 1500 TreeView2.Height=mai n.Height - StatusBar1.Height - CoolBar1.Height - 1500 TreeView3.Height=mai n.Height - Statu
16、sBar1.Height - CoolBar1.Height - 1500 Y = mai n. Widthx = (Y - z) / 4StatusBar1.Pa nels(1).Width = u + xStatusBar1.Pa nels(2).Width = v + xStatusBar1.Pa nels(3).Width = w + x StatusBar1.Pa nels(4).Width = m + x provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=&q
17、uot; & App.Path & "DB.mdb" With Adodc1.Mode = adModeReadWrite.Conn ecti on Stri ng = provider & "" & datasource.Comma ndType = adCmdTable.RecordSource = "users"'.RefreshEnd WithWith Adodc2.Mode = adModeReadWrite.Conn ecti on Stri ng = provider &
18、"" & datasource.Comma ndType = adCmdTable.RecordSource = "go ngyu".RefreshEnd WithWith Adodc3.Mode = adModeReadWrite.Conn ecti on Stri ng = provider & "" & datasource.Comma ndType = adCmdTable.RecordSource = "class".RefreshEnd WithWith Adodc4.Mode
19、= adModeReadWrite.Conn ecti on Stri ng = provider & "" & datasource.Comma ndType = adCmdTable.RecordSource = "weishe ng".RefreshEnd WithWith Adodc5.Mode = adModeReadWrite.Conn ecti on Stri ng = provider & "" & datasourceEnd WithWith Adodc6.Mode = adModeR
20、eadWrite.Conn ecti on Stri ng = provider & "" & datasource.Comma ndType = adCmdTable.RecordSource = "de ngji".RefreshEnd WithWith Adodc7 .Mode = adModeReadWrite.Conn ecti on Stri ng = provider & "" & datasource.RecordSource = "qin shi".RefreshE
21、nd WithWith Adodc9.Mode = adModeReadWrite .Conn ecti on Stri ng = provider & "" & datasource.Comma ndType = adCmdTable.RecordSource = "zicha n".RefreshEnd Withtreeview部分树形显示的初始化在这里已经做了几个过程,调用即可。系统管理3.1用户管理界面效果图图4.3用户管理界面制作与实现方法它已经连这个界面总体来说各个控件比较简单,但是作为一个添加删除管理员的操作,接到了数据库,
22、与数据库的yonghu表相联。各个控件也与数据库中表的字段绑定。在窗体初始化的时候要判断当前数据库表中是否有记录,如果没有记录那么有些按钮 将会被设置成为失效状态,否则会出现错误。设置代码如下:Dim provider As Stri ngDim datasource As Stri ngprovider = "provider=Microsoft.jet.oledb.4.0"datasource = "data source=" & App.Path & "DB.mdb"With Adodcl.Mode = adMo
23、deReadWrite.Conn ecti on Stri ng = provider & "" & datasource.Comma ndType = adCmdTable.RecordSource = "yon ghu".RefreshEnd WithOpti on 1.E nabled = FalseOpti on 2.E nabled = FalseIf Adodc1.Recordset.RecordCou nt = 0 The nComma nd2.E nabled = FalseComma nd3.E nabled = Fal
24、seComma nd5.E nabled = FalseComma nd6.E nabled = FalseEnd IfText2.Text = Text3.Text上一条与下一条的功能一目了然,它们可以对当前表进行上一条记录或下一条记录依次查看。当找到记录后, 可以对其进行相对的删除、修改等操作。上一条记录与下一条的记录在查看时有一个判断。当表中记录移到最前面(BOF)或最后面(EOF时,会把上一条或下一条其中的一个按钮的 enable属性设置为true。即不可以前查看或向后查看。上一条与下一条主要代码如下:Adodc1.Recordset.MovePrevious ' 移动记录Co
25、mma nd6.E nabled = TrueIf Adodc1.Recordset.BOF The nComma nd5.E nabled = FalseEnd IfAdodc1.Recordset.MoveNext ' 移动记录Comma nd5.E nabled = TrueIf Adodc1.Recordset.EOF The nEnd If添加用户可以添加使用该管理软件的用户。添加的时候可以选择所添加人物的级别。软件默认为两个级别:管理员、普通用户。管理员拥有对此软件管理操作等一切的权力。普通用户,只有普通的查看、查询、备份、添加等权力。没有对记录删除等权力。在添加用户时你可
26、以选择一个且必须选择一个。然后输入此用户的用户名和密码即可! 添加用户主要代码:If Comma ndl.Capti on = ”添加"The nComma nd2.E nabled = FalseComma nd5.E nabled = FalseComma nd6.E nabled = FalseCommand1.Caption = ” 确定”Command3.Caption = ” 取消”Opti on 1.E nabled = TrueOpti on 2.E nabled = TrueText1.E nabled = TrueText2.E nabled = TrueText
27、3.E nabled = TrueText2.Text =""ElseIf Text1.Text = "" The nMsgBox "用户名不能为空!", 48," 提示”ElseIf Text2.Text = "" The nMsgBox "密码不能为空! ", 48," 提示”ElseIf Text2.Text <> Text3.Text The nMsgBox "密码两次需一致!", 48," 提示”ElseIf Text4.T
28、ext = "" The nMsgBox "请选择所建用户类型!", 48," 提示”ElseComma nd2.E nabled = TrueComma nd3.E nabled = TrueComma nd5.E nabled = TrueComma nd6.E nabled = TrueCommand3.Caption = ” 编辑”Command1.Caption = ” 添加"Text1.E nabled = FalseText2.E nabled = FalseText3.E nabled = FalseText4.E n
29、abled = FalseOptio nl.Value = FalseOpti on 2.Value = FalseOpti on 1.E nabled = FalseOpti on 2.E nabled = FalseEnd If删除操作可以把当前记录删除掉。一经删除即不可以在恢复。所以在操作前要想好。删除操作部分代码:If Adodc1.Recordset.RecordCou nt = 1 The nComma nd2.E nabled = FalseEnd IfIf (MsgBox(" 你真的想删除当前记录吗? ", vbOKCancel,"系统提示&quo
30、t;)=vbOK ThenAdodc1.RefreshEnd If编辑操作可以对当前所选择的用户进行编辑,可以修改其用户名与密码。当当前用户 感觉自己用户名称或密码有泄露时,可以进行修改。修改记录即更新表中的某一条记录。编辑操作主要代码如下:Comma nd2.E nabled = FalseText1.E nabled = TrueText2.E nabled = TrueText3.E nabled = TrueText4.E nabled = TrueOpti on 1.E nabled = TrueOpti on 2.E nabled = TrueCommand1.Caption =
31、” 确定”ElseIf Command3.Caption = ”取消 ” ThenCommand3.Caption = ” 编辑”Command1.Caption = ” 添加"Comma nd2.E nabled = TrueComma nd6.E nabled = TrueText2.Text = Text3.TextTextl.E nabled = FalseText2.E nabled = FalseText3.E nabled = FalseText4.E nabled = FalseOptio nl.Value = FalseOpti on 2.Value = False
32、Opti on 1.E nabled = FalseOpti on 2.E nabled = FalseEnd If3.2公寓设置公寓设置可以说是本程序中一关键部分。因为所有的设置都在此进行。包括公寓添加、修改、删除。寝室的添加、修改、删除以及班级的添加、修改和删除操作。只有正确的对这 些设置进行添加修改,才能输入正确的记录。这里主要涉及到的问题是datagrid 的显示,以及treeview及时形成新的结构。还有一些就是对表记录的复杂操作。在点击sstab各版的时候,要在这时重新生成寝室设置中的树型结构,Select Case PreviousTabCase 0Call startree1C
33、ase 1Combo1.ClearDim I As In tegerI = 1If Adodc1.Recordset.RecordCou nt <> 0 The nDo While I < Adodc1.Recordset.RecordCou nt(”公寓名称")I = I + 1LoopEnd IfCall startree1Case 2Call startree1End Select诩入層要粛加的公寓客称退岀End Sub(1)公寓设置公寓设置效果图宦空谟章'班袒資卜七号去瘤囚号公富三号公取五号公妄三号曇亩图4.4公寓设置界面制作与实现方法在这个界面中主
34、要用到了一个Sstab控件与一个显示表中容的 Datagrid控件。以及起到美观作用的Frame控件。在右下角的文本框中可以输入想要添加的公寓名称。然后点击添加即可完成添加操作。Datagrid中会立即刷新显示更新容。要修改某条记录时,要先对所要修改的记录进行选择, 确认选择后,点击下面的修改按钮,会在下面的文本中显示出所要修改公寓的名称,此时即可输入要修改的名字。然后点击更新就会完成此操作。Datagrid 也会即时更新其容。删除操作更为简单,选择想要删除的公寓名称,点击删除,确认后完成此操作。但是删除后不会影响其它表中的数据。其它表的有关此公寓的信息还会存在。在进行所有操作前,先要确定数据
35、库已连接。在添加前要判断所写公寓名称是否正确,即是否输入名称,该记录不能为空,不为空则对数据库表进行查找,判断当前输入记录是否已在表中存在,如果已存在,则会给出提示, 不存在,添加成功。Adodc1.Recordset.Find " 公寓名称='"& Text2.Text & "”If Adodc1.Recordset.EOF = False The nMsgBox "此公寓已存在"," 提示”Exit SubEnd IfText3.Text =""If Text2.Text = "
36、;" The nMsgBox "输入所要添加公寓的名称"," 提示”Exit SubEnd If添加:(”公寓名称")=Text2.TextAdodc1.RecordSource = "go ngyu"Text2.Text =""Set DataGrid2.datasource = Adodc1DataGrid2.Refresh修改公寓名称:If Text3.Text = "" The nMsgBox "选择要修改的公寓"," 提示”Exit SubEnd
37、 IfIf Comma nd12.Capti on = ” 修改 ” The nText2.Text = Text3.TextLabel6.Caption ="输入想要修改的公寓名称 ”Command12.Caption = ” 更新”Comma nd3.E nabled = FalseComma nd7.E nabled = FalseElseIf Command12.Caption =" 更新"ThenComma nd3.E nabled = TrueComma nd7.E nabled = TrueLabel6.Caption ="输入想要添加的公
38、寓名称 ”Adodc1.Recordset.Fields("公寓名称")=Text2.Text公寓名称='"&Adodc2.Recordset.ActiveC onnection .Execute"update qin shisetText2.Text & "' where公寓名称='"& Trim(Text3.Text) & "”Command12.Caption = ” 修改”End IfSet DataGrid2.datasource = AdodclDataGr
39、id2.RefreshSet main .DataGrid1.datasource = Adodc5删除公寓名称If Text3.Text = "" The nMsgBox "选择所要删除公寓的名称"," 提示”Exit SubEnd IfIf (MsgBox(" 你真的想删除公寓名称为” & Text3.Text & ”"系统提示")=vbOK ThenEnd IfText3.Text =""Set DataGrid2.datasource = Adodc1的记录吗? &quo
40、t;, vbOKCa ncel.DataGrid2.Refresh(2)寝室设置寝室设置效果图公禹设置公窗设晝 _丫 珈怨设豊-I曰仝働窩101 1G2 bJ七号益寓fin? f片号公离:-60160C6UJ604四号必寓 “三号仝康 五号公寓 R二号呪寓形询删记 云埔屮鑒可前 堤在面择点即当101图4.5寝室设置界面制作与实现方法此界面实现相对比公寓设置来说相对复杂一些。用到的控件主要是 Sstab与Treeview。但是在程序方面比较复杂。在添加一个寝室前先要选择所要添加寝室所在的公寓。这个公寓可以点击下面的树中的节点,也可以在列表框中选择。树中的节点在点击后会把父节点显示在选择公寓后面的
41、列表 框中,而选中的节点会出现在寝室名称里。你也可以自己进行添写,确认公寓后即可添加完成了。添加后会把 Treeview重新刷新一下。以显示更新后的记录。添加源码:AdodcI.RefreshAdodc1.Recordset.Fi nd "公寓名称="'& Combol.Text & ""'If Adodc1.Recordset.EOF = True The nMsgBox "此公寓不存在"," 提示”Exit SubEnd IfIf Combo1.Text = "" Or
42、 Text1.Text = "" The nMsgBox "请输入所要添加的寝室及其所属公寓"," 提示”Exit SubEnd IfWith Adodc2.Recordset.AddNew.Recordset.Fields(0).Value = Combo1.Text.Recordset.Fields(1).Value = Text1.Text.Recordset.UpdateEnd WithCombo1.Text =""Text1.Text =""Call startree1修改操作可以把当前选中的寝
43、室进行名称修改与其所属公寓进行修改。当要对名称进行修改时,先要选择所要修改的寝室名,选择后会在寝室名称里显示出来,把当前寝室名称改成要修改的寝室名称,然后点击修改即完成名称修改操作。当要对当前寝室的所属公寓进行修改时,需要先选择所要修改的寝室,然后在上面的公寓名称后填写所要修改的寝室名称。 点击修改后完成此操作。但是这种操作不是常见。修改源码:Adodc1.RefreshAdodc1.Recordset.Fi nd "公寓名称="'& Combol.Text & ""'If Adodc1.Recordset.EOF = T
44、rue The nMsgBox "此公寓不存在"," 提示”Exit SubEnd IfDim sql As Stri ngOn Error Resume NextIf Combo1.Text = "" Or Text1.Text = "" The nMsgBox "请在下面选择所要修改的寝室"," 提示”Exit SubEnd If'sql = "select * form qin shi where公寓名称="'& Trim(Combol.Text
45、) & "' and寝室='"& Trim(Textl.Text) & "”'Adodc2.Recordset.ActiveConnection.Execute"update qinshi set 寝室='"& Textl.Text& "',公寓名称='"& Trim(Combol.Text) & "'where 寝室='"& Trim(Text6.Text) & &qu
46、ot;'and公寓名称='"& Trim(Text7.Text) & “"Combol.Text =""Textl.Text =""Call startreel删除操作可以删除掉当前树型显示中的任何一个子节点,也就是这个树型节点中的寝室名称,注意的是,删除后这个记录只在qin shi表中删除,其相关记录不会被删除掉的,如果想删除,还需要人工操作。实现的方法主要是对qin shi表操作,先对其进行查询,查询当前想要被删除的表是否存在,如果不存在,则给出提示,如果存在这条记录,则在表中把它删除掉,删除后调用
47、生成树过程,把当前寝室设置中的树型结构重新生成,更新记录。实现的部分代码如下所示:If Combol.Text = "" Or Textl.Text = "" Or Combol.Text ="公寓管理系统"ThenMsgBox "选择所要删除的寝室"," 提示”Exit SubEnd IfIf (MsgBox(" 你真的想删除 ” & Combol.Text & "” & ” 寝室为 ” & Textl.Text & ”的记录吗? "
48、, vbOKCancel,"系统提示")=vbOK ThenAdodc2.RefreshAdodc2.Recordset.ActiveConnection.Execute"delete from qinshi where 公寓名称='" &Trim(Combol.Text) & "' and 寝室='"& Trim(Text1.Text) & “"End IfCombo1.Text =""Text1.Text =""Call st
49、artree1在treeview点击的时候,上面的文本框中会显示相应的记录,这主要是对treeview进行了设置,代码如下:Private Sub TreeView1_NodeClick(ByVal Node As MSComctILib.Node)On Error Resume NextCombo1.Text = TreeView1.Selectedltem.Pare ntText7.Text = TreeView1.SelectedItem.Pare ntEnd Sub(3)班级设置班级设置效果图界面制作与实现方法此界面制作与公寓设置基本一致。在这个界面中主要用到了一个Sstab控件与一个
50、显示表中容的Datagrid控件。以及起到美观作用的 Frame控件。在右下角的文本框中可以输入想要添加的班级名称。然后点击添加即可完成添加操作。 Datagrid中会立即刷新显示更新容。要修改某条记录时,要先对所要修改的记录进行选择, 确认选择后,点击下面的修改按钮,会在下面的文本中显示出所要修改班级的名称,此时即可输入要修改的名字。然后点击更新就会完成此操作。Datagrid 也会即时更新其容。删除操作更为简单,选择想要删除的班级名称,点击删除,确认后完成此操作。添加班级源码:Adodc3.Recordset.Fi nd "class="' & Text
51、4.Text & ""'If Adodc3.Recordset.EOF = False The nMsgBox "此班级已存在”," 提示”Exit SubEnd IfText5.Text =""If Text4.Text = "" The nMsgBox "输入所要添加班级的名称 "," 提示”Exit SubEnd IfAdodc3.Recordset.Fields("class") = Text4.TextAdodc3.RecordSource
52、 = "class"Text4.Text =""Set DataGrid3.datasource = Adodc3DataGrid3.Refresh修改班级源码:If Comma nd10.Capti on = ”修改 ” The nText4.Text = Text5.TextLabel6.Caption ="输入想要修改的班级名称”Command10.Caption = ” 更新”Comma nd6.E nabled = FalseComma nd9.E nabled = FalseElseIf Command10.Caption =&qu
53、ot; 更新"ThenComma nd9.E nabled = TrueComma nd6.E nabled = TrueLabel6.Caption ="输入想要添加的班级名称”Adodc3.Recordset.Fields("class") = Text4.TextCommand10.Caption = ” 修改”End If删除班级源码:If Text5.Text = "" The nMsgBox "选择所要删除班级的名称 "," 提示”Exit SubEnd IfIf (MsgBox("
54、你真的想删除班级名称为” & Text5.Text & ” 的记录吗? ", vbOKCancel,"系统提示")=vbOK ThenEnd IfText5.Text =""Set DataGrid3.datasource = Adodc3DataGrid3.RefreshEnd Sub3.3数据备份数据备份是一个数据库软件必不可少的一部分,利用它可以把当前数据库表进行全面的备份,以备以后使用。因为在操作中可能会导致数据遭到破坏,或者是系统的原因使数据库损坏,或者是一些其它的人为原因,这样你可以用此功能把数据恢复到最后一次备份的
55、状态,使损失做到最少,经常备份,操作起来更有安全感。数据备份效果图图4.7数据备份效果图功能实现界面制作相对程序来说比较简单,用到的是coolbar控件,点击按钮可以选择备份路径。然后点击数据备份即可。窗体初始化部分代码如下:Dimnl As ADODB.Co nn ectio nDim rstschema As ADODB.RecordsetDim strc nn As StringSet n1 = New ADODB.Co nn ectio nstrcnn= "provider=Microsoft.jet.oledb.4.0;"& "data sour
56、ce=" & App.Path &"db.mdb"cnn 1.Ope n strc nnSet rstschema =n 1.Ope nSchema(adSchemaTables)Do Un til rstschema.EOFtemp = rstschema!Table_NameIf Left(temp, 1) <> "M" ThenEnd Ifrstschema.MoveNextLoopcnn 1.CloseOn Error GoTo errPathName = App.Path & "db.MD
57、B"dbasize = FileLe n( PathName)err:Exit Sub数据备份部分在本程序中用到了一个模块,在模块中有一个方法,dobackup。点击备份按钮后开始备份,代码如下:If txtDestination <> "" ThenDoBackup PathName, txtDest in ati onMsgBox "备份成功!"," 提示”ElseIf txtDest in ation = "" The nMsgBox "You must specify a distin
58、ation for the backup", vbCritical其中DoBackup为模块中已定义的方法,在这里进行调用。Dobackup实现方法代码如下所示:Dim lFileOp As LongDim lresult As LongDim lFlags As LongDim SHFileOp As SHFILEOPSTRUCTDim strSourceDir As Stri ngDim strDesti nati on Dir As StringScree n.M ousePo in ter = vbHourglassBackupFolderName = strDestinat
59、ion PathMkDir BackupFolderName & "Backup - " & Format(Date, "yyyy.mm.dd")lFileOp = FO_COPYlFlags = lFlags And Not FOF_SILENTlFlags = lFlags Or FOF_NOCONFIRMATIONlFlags = lFlags Or FOF_NOCONFIRMMKDIRlFlags = lFlags Or FOF_FILESONLYWith SHFileOp.wF unc = lFileOp.pFrom = str
60、SourcePath & vbNullChar.pTo = strDestinationPath& "'Backup - " & Format(Date, "yyyy.mm.dd") &vbNullChar.fFlags = lFlagsEnd Withlresult = SHFileOperatio n(SHFileOp)Scree n.M ousePo in ter = vbDefaultfrmBackupDba.lblStatus = "Backup Complete"在备份分前先要选择一
61、个备份路径,点击那个按钮开始进行选择,实现方法如下:Dim strTemp As Stri ngstrTemp = fBrowseForFolder(Me.hw nd, "Select backup path")If strTemp <> "" The ntxtDesti natio n = strTempEnd If数据恢复界面同上,它的功能主要是在当前数据库遭到破坏后,可以利用它来进行数据恢复,在数据恢复前要选择所要恢复的数据库路径,如下:Dim strTemp As Stri ngstrTemp = fBrowseForFolder(Me.hw nd, "Restore From")If strTemp <> "" The ntxtSource = strTemp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园数学实践活动试题及答案
- 旅游地产项目可持续发展与旅游服务质量提升报告
- 医学影像技术在精准诊断中的价值与伦理责任
- 小学教师教学设计改进试题及答案
- 家具行业的品牌影响力与消费者信任度研究分析试题及答案
- 关键点解析土木考试试题及答案
- 大学物理基础认识题及答案2025
- 生态补偿机制在生态补偿区域治理中的应用研究报告2025
- 基于课标分析试题及答案
- 家具行业设计对用户与环境的相互影响试题及答案
- 人教版小学二年级数学下册 第6单元 练习十五 课件
- 北京2025年市场监管总局直属单位第一批招聘210人笔试历年参考题库附带答案详解
- 【+初中语文++】第23课蛟龙探海课件+统编版语文七年级下册
- 2025年3月29日全国事业单位联考A类《职测》真题及答案
- 八年级劳动教育测试题目及答案
- 球团焙烧工(高级)技能鉴定备考试题库-上(单选、多选题)
- 知识宝库中的宝藏知识产权的投资潜力和实践路径探索
- 基于深度学习的图像修复算法研究
- 隐私与保密信息管理制度
- 《隧道防火保护板系统技术规程》
- 2025年安徽黄山旅游集团招聘笔试参考题库含答案解析
评论
0/150
提交评论