本站首页 计算机论文 会计审计论文 工科论文 理科论文 法律论文 经济学论文 文化类论文 财务论文 文学论文
  管理论文 教育学论文 证券金融论文 医学论文 农业论文 哲学论文 艺术学论文 社会学论文 免费论文 论文翻译
  论文分类 | 写作指南 | 付款方式 | 交费确认 | 论文代写 | 服务指南 | 招贤纳士
论文搜索:
  滚动新闻:
当前位置: 博景源论文网 >> 免费论文 >> 免费计算机论文 >> 正文
  学生公寓管理    5星级
学生公寓管理
[ 作者:Admin     来源:博景源     点击数:     更新时间:2008-6-10   ]

图4.7数据备份效果图
② 功能实现
    界面制作相对程序来说比较简单,用到的是coolbar控件,点击按钮可以选择备份路径。然后点击数据备份即可。
窗体初始化部分代码如下:
Dim cnn1 As ADODB.Connection
Dim rstschema As ADODB.Recordset
Dim strcnn As String
Set cnn1 = New ADODB.Connection
strcnn = "provider=Microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "\db.mdb"
cnn1.Open strcnn
Set rstschema = cnn1.OpenSchema(adSchemaTables)
Do Until rstschema.EOF
temp = rstschema!Table_Name
If Left(temp, 1) <> "M" Then
End If
rstschema.MoveNext
Loop
cnn1.Close
On Error GoTo err
PathName = App.Path & "\db.MDB"
dbasize = FileLen(PathName)
err:
Exit Sub
数据备份部分在本程序中用到了一个模块,在模块中有一个方法,dobackup。点击备份按钮后开始备份,代码如下:
If txtDestination <> "" Then
DoBackup PathName, txtDestination
MsgBox "备份成功!", , "提示"
ElseIf txtDestination = "" Then
MsgBox "You must specify a distination for the backup", vbCritical
其中DoBackup为模块中已定义的方法,在这里进行调用。
Dobackup实现方法代码如下所示:
Dim lFileOp  As Long
Dim lresult  As Long
Dim lFlags   As Long
Dim SHFileOp As SHFILEOPSTRUCT
Dim strSourceDir As String
Dim strDestinationDir As String
Screen.MousePointer = vbHourglass
BackupFolderName = strDestinationPath
MkDir BackupFolderName & "\Backup - " & Format(Date, "yyyy.mm.dd")
lFileOp = FO_COPY
lFlags = lFlags And Not FOF_SILENT
lFlags = lFlags Or FOF_NOCONFIRMATION
lFlags = lFlags Or FOF_NOCONFIRMMKDIR
lFlags = lFlags Or FOF_FILESONLY
With SHFileOp
    .wFunc = lFileOp
    .pFrom = strSourcePath & vbNullChar
    .pTo = strDestinationPath & "\Backup - " & Format(Date, "yyyy.mm.dd") & vbNullChar
    .fFlags = lFlags
End With
lresult = SHFileOperation(SHFileOp)
Screen.MousePointer = vbDefault
frmBackupDba.lblStatus = "Backup Complete"
在备份分前先要选择一个备份路径,点击…那个按钮开始进行选择,实现方法如下:
Dim strTemp As String
strTemp = fBrowseForFolder(Me.hwnd, "Select backup path")
If strTemp <> "" Then
    txtDestination = strTemp
End If
数据恢复界面同上,它的功能主要是在当前数据库遭到破坏后,可以利用它来进行数据恢复,在数据恢复前要选择所要恢复的数据库路径,如下:
Dim strTemp As String
strTemp = fBrowseForFolder(Me.hwnd, "Restore From")
If strTemp <> "" Then
    txtSource = strTemp
    dbasize2 = FileLen(txtSource & "\db.MDB")
    lblSelectedDba = "Selected Backup Database is : " & Format((dbasize2 / 1024) / 1024, "standard") & "MB."
    cmdRestore.Enabled = True
End If
Erro:
    Select Case err.Number
       Case 53 'File Not Found
          lblSelectedDba = "No Backup at this location"
          Toolbar2.Enabled = False
    End Select
它主要是查看数据库是否存在,如果所恢复的数据不存在,则会提示错误。
数据恢复也用到了一个方法,在模块中也已经定义了该方法DoRestore。数据恢复代码如下:
If MsgBox("Restoring database from location " & txtSource & " will replace existing database files.Do you want to Contunue", vbYesNo) = vbYes Then
DoRestore txtSource.Text, App.Path
If NoDba = True Then
 MsgBox "Database Restored Click Ok to Exit Program"
 frmRestoreDba.Hide
 Unload frmRestoreDba
End If
Else
 lblStatus.Caption = "Database Restore Canceled"
End If
其中DoRestore实现的功能源码如下所示:
DEFSOURCE = "PROVIDER=Microsoft.jet.oledb.4.0;Persist Security Info=False;Data Source="
DBName = "\db.MDB;Jet OLEDB:Database Password=matrix-se;"
Set Db = New ADODB.Connection
  Db.Open DEFSOURCE & App.Path & DBName
Dim lFileOp  As Long
Dim lresult  As Long
Dim lFlags   As Long
Dim SHFileOp As SHFILEOPSTRUCT
Dim strSourceDir As String
Dim strDestinationDir As String
Db.Close
Screen.MousePointer = vbHourglass
BackupFolderName = strDestinationPath
lFileOp = FO_COPY
lFlags = lFlags And Not FOF_SILENT
lFlags = lFlags Or FOF_NOCONFIRMATION
lFlags = lFlags Or FOF_NOCONFIRMMKDIR
lFlags = lFlags Or FOF_FILESONLY
With SHFileOp
    .wFunc = lFileOp
    .pFrom = strSourcePath & "\db.MDB" & vbNullChar
    .pTo = strDestinationPath & vbNullChar
    .fFlags = lFlags
End With
lresult = SHFileOperation(SHFileOp)
Set Db = New ADODB.Connection
Db.Open DEFSOURCE & App.Path & DBName
Screen.MousePointer = vbDefault
frmRestoreDba.lblStatus = "Restore Complete"
说明:本程序中此部分内容参考了网上的同类型代码,对其进行修改后得到此成型作品,从功能上来讲,它已经实现了它所要完成的工作,经过测试已经没有问题,但是实现的源代码,也只有部分掌握。这实属本人精力与能力有限所置。
4.3.4 数据转换
这个功能可以把当前列表框中的任何一个表转换成excel形式,转换后你可以看到表中的内容,也可以对表进行操作,保存,修改,打印等。
①界面效果图
 
图4.8数据转换效果图
②实现方法
在这里用到了一个显示gif图片的控件。选择左面list中的一个表后,点击导出后即可完成,进度条中显示当前转换进度程度。
首先要在list中加载各表名。以便进行选择转换。添加表名部分在load进行加载,其中的导出与取消按钮是由coolbar制作而成。
Form的load事件处理内容如下:
TMaxAni1.FileName = App.Path & "\icon\find.gif"
TMaxAni1.ShowGif
Dim cnn1 As ADODB.Connection
Dim rstschema As ADODB.Recordset
Dim strcnn As String
Set cnn1 = New ADODB.Connection
strcnn = "provider=Microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "\db.mdb"
cnn1.Open strcnn
Set rstschema = cnn1.OpenSchema(adSchemaTables)
Do Until rstschema.EOF
temp = rstschema!Table_Name
If Left(temp, 1) <> "M" Then
List2.AddItem temp
End If
rstschema.MoveNext
Loop
cnn1.Close
List2.ListIndex = 0
On Error GoTo err
PathName = App.Path & "\db.MDB"
dbasize = FileLen(PathName)
数据转换成excel用到了一个部件,在引用中用到了Microsoft Excel9.0 Object library。转换代码如下:
Select Case Button.Index
Case 1
 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 = List2.Text
.Refresh
End With
ProgressBar1.Max = Adodc1.Recordset.RecordCount
ProgressBar1.Min = 0
'开始转换
Dim Irow, Icol As Integer
  Dim Irowcount, Icolcount As Integer
  Dim Fieldlen()
  Dim xlApp As Excel.Application
  Dim xlBook As Excel.Workbook
  Dim xlSheet As Excel.Worksheet
  Set xlApp = CreateObject("Excel.Application")
  Set xlBook = xlApp.Workbooks.add
  Set xlSheet = xlBook.Worksheets(1)
With Adodc1.Recordset
  .MoveLast
  If .RecordCount < 1 Then
    MsgBox ("Error!")
    Exit Sub
  End If
  Irowcount = .RecordCount
  Icolcount = .Fields.Count
  ReDim Fieldlen(Icolcount)
  .MoveFirst
  For Irow = 1 To Irowcount + 1
   For Icol = 1 To Icolcount
  Select Case Irow
  Case 1
  xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1).Name
  Case 2
  If IsNull(.Fields(Icol - 1)) = True Then
    Fieldlen(Icol) = LenB(.Fields(Icol - 1).Name)
  Else
    Fieldlen(Icol) = LenB(.Fields(Icol - 1))
  End If
  xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)
  xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)
  Case Else
  Fieldlen1 = LenB(.Fields(Icol - 1))
  If Fieldlen(Icol) < Fieldlen1 Then
  xlSheet.Columns(Icol).ColumnWidth = Fieldlen1
  Fieldlen(Icol) = Fieldlen1
  Else
   xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)
  End If
  xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)
  End Select
  Next
  If Irow <> 1 Then
  If Not .EOF Then .MoveNext
  ProgressBar1.Value = ProgressBar1.Value + 1
  End If
  Next
          With xlSheet
          .Range(.Cells(1, 1), .Cells(1, Icol - 1)).Font.Name = "黑体"
          .Range(.Cells(1, 1), .Cells(1, Icol - 1)).Font.Bold = True
          .Range(.Cells(1, 1), .Cells(Irow, Icol - 1)).Borders.LineStyle = xlContinuous
          End With
            xlApp.Visible = True
           ' xlBook.Save
            'xlBook.Close
           Set xlApp = Nothing
  Adodc1.Recordset.ActiveConnection = Nothing
End With
Toolbar4.Buttons(1).Enabled = False
Case 2
Unload Me
End Select
4.4公寓管理
4.4.1学生请假
   学生请假与违规在一个公寓管理中是最常见的问题了,所以在此软件中加上了这两项功能。用它们可以随时记录请假记录。
①学生请假记录图片显示
 
图4.9学生请假效果图
② 界面制作与实现
    此界面主要是对学生请假记录做一个添加。利用它可以把学生的基本的请假资料保存起来。其中的日期是系统当前的日期,它是不可以进行更改的,然后在其它文本框中输入其它详细资料即可以。这里的添加操作用的是Adodc控件,所有的文本框在初始的时候没有同Adodc绑定,而是在代码中与数据库中表的字段进行的绑定,然后进行添加操作。这样做在使用的时候有很大的方便之处。第一是窗体在初始化时不会显示任何记录,不用设置文本框为空等一系列的操作。第二是当进行记录输入时,发现问题不用输入时,不按添加按钮记录就不会进行添加。注意的是,在添加前要确定所有的文本框都要进行详细填写,否则会提示输入详细信息。添加主要代码如下:
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Then
 MsgBox "请输入详细信息!", , "系统提示"
Else
With Adodc1
.Recordset.AddNew
.Recordset.Fields(0).Value = Text1.Text
.Recordset.Fields(1).Value = Text2.Text
.Recordset.Fields(2).Value = Text3.Text
.Recordset.Fields(3).Value = Text4.Text
.Recordset.Fields(4).Value = Text5.Text
.Recordset.Fields(5).Value = Text6.Text
.Recordset.Fields(6).Value = Text7.Text
.Recordset.Fields(7).Value = Text8.Text
.Recordset.Fields(8).Value = Text9.Text
.Recordset.Update
End With
Set main.DataGrid1.datasource = Adodc1
main.DataGrid1.Refresh
End If
4.4.2学生违规
①学生违规记录图片显示
 
图4.10学生违规效果图
此界面与上面的请假记录差不多。它主要是对学生的违规记录做一个添加。其中的日期也是系统当前的日期,它是不可以进行更改的,然后在其它文本框中输入其它详细资料即可以这里的违规操作用的也是Adodc控件,所有的文本框在初始的时候也没有同Adodc绑定,它也是在代码中与数据库中表的字段进行的绑定,然后进行添加操作。其它操作同上面基本是一致的,对于违规在主界面的左侧并没有快速显示操作,只可以用记录查看里面的违规查看进行选择查看。在这里所添写的记录也要全面一些,主要是为了以后查找更为方便,如果不全,系统会提示的!
②违规部分代码如下:
在load事件里对数据库链接的处理,以及日期文本框的设置,代码如下:
provider = "provider=Microsoft.jet.oledb.4.0"
datasource = "data source=" & App.Path & "\DB.mdb"
With Adodc1
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdTable
.RecordSource = "qingjia"
.Refresh
End With
Text1.Text = Date
Text1.Enabled = False
确定无误后,进行添加,代码如下:
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Then
 MsgBox "请输入详细信息!", , "系统提示"
Else
With Adodc1
.Recordset.AddNew
.Recordset.Fields(0).Value = Text1.Text
.Recordset.Fields(1).Value = Text2.Text
.Recordset.Fields(2).Value = Text3.Text
.Recordset.Fields(3).Value = Text4.Text
.Recordset.Fields(4).Value = Text5.Text
.Recordset.Fields(5).Value = Text6.Text
.Recordset.Fields(6).Value = Text7.Text
.Recordset.Fields(7).Value = Text8.Text
.Recordset.Fields(8).Value = Text9.Text
.Recordset.Update
End With
Set main.DataGrid1.datasource = Adodc1
main.DataGrid1.Refresh
4.5卫生检查
公寓卫生可以说是一个公寓管理中最常见到的问题了。公寓卫生每天要清扫,寝室卫生每天要检查,但是如果这些都用纸来进行填写,一定会十分麻烦,且保存也不是十分方便,在一些评比中也会忙的很遭。所以在这个软件中编写了此功能。
4.5.1 公寓卫生添加效果图
 
图4.11公寓卫生添加效果图
①在这个界面中主要用到了文本框以及起到美观作用的frame控件。
日期已经设置成只读属性,检查记录的日期是不能随便改写的。公寓名称可以在下拉列表框中进行选择,如果在下拉列表框中没有发现,可以人工输入,但是要确定公寓名称的正确性。寝室名称需要自己输入。这里的卫生标准一共有五项可以填写,在每一项里已经基本设置了所不全标准的记录,你可以在下拉列表框中进行选择即可,但是如果没有你想输入的记录的话,你也可以自己输入。输入完成后,在减分后面的文本框中输入一共要对此寝室减掉的分数,单击得分后面的文本框会自动算出应该得到的分数。然后跟据得分的分数,你要选择该寝室的卫生等级,卫生等级为必选值且为固定值,正确的选择此项可以在主界面的左侧中快速对卫生等级进行查看。
②公寓选择栏中代码的实现:
Combo3.Clear
Dim I As Integer
I = 1
If Adodc1.Recordset.RecordCount <> 0 Then
Do While I < Adodc1.Recordset.RecordCount
    Combo3.AddItem (Adodc1.Recordset.Fields("公寓名称"))
    Adodc1.Recordset.MoveNext
    I = I + 1
Loop
End If
卫生选择栏中的代码实现基本同上,它也是一个表中的字段值!
Dim J As Integer
J = 1
If Adodc4.Recordset.RecordCount <> 0 Then
Do While J < Adodc4.Recordset.RecordCount
    Combo2.AddItem (Adodc4.Recordset.Fields("等级"))
    Adodc4.Recordset.MoveNext
    J = J + 1
Loop
End If
Combo2.Text = "优秀"
不合标准的卫生记录填写情况如下:
Combo4.AddItem ("门窗不干净")
Combo4.AddItem ("地面不干净")
Combo4.AddItem ("阳台不干净")
Combo4.AddItem ("床铺不整齐")
Combo4.AddItem ("不叠被")
Combo4.AddItem ("桌面不整齐")
Combo4.AddItem ("书柜摆放不整齐")
由于此窗体中涉及到公寓与寝室,在填写时要确定其名称的正确,所以在添加记录前要对它们进行检查,如发现不存在的记录,则显示提示。检查记录时用的是adodc中的find命令。类似于用户登录时的判断,同样记录的输入也要详细。代码如下:
Adodc1.Refresh
Adodc1.Recordset.Find "公寓名称='" & Combo3.Text & "'"
If Adodc1.Recordset.EOF = True Then
MsgBox "查无此公寓", , "提示"
Adodc1.Recordset.MoveFirst
Exit Sub
End If
Adodc3.Refresh
Adodc3.Recordset.Find "寝室='" & Text5.Text & "'"
If Adodc3.Recordset.EOF = True Then
MsgBox "查无此寝室", , "提示"
Adodc3.Recordset.MoveFirst
Exit Sub
End If
If Combo3.Text = "" Or Combo2.Text = "" Or Text5.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then
 MsgBox "请输入详细信息!", , "系统提示"
Else
确认一切无误后,开始对所填写记录进行添加并显示:
With Adodc2
.Recordset.AddNew
.Recordset.Fields(0).Value = Combo3.Text
.Recordset.Fields(1).Value = Text5.Text
.Recordset.Fields(2).Value = Combo4.Text
.Recordset.Fields(3).Value = Combo5.Text
.Recordset.Fields(4).Value = Combo6.Text
.Recordset.Fields(5).Value = Combo7.Text
.Recordset.Fields(6).Value = Combo8.Text
.Recordset.Fields(7).Value = Text2.Text
.Recordset.Fields(8).Value = Text3.Text
.Recordset.Fields(9).Value = Combo2.Text
.Recordset.Fields(10).Value = Text4.Text
.Recordset.Fields(11).Value = Text1.Text
.Recordset.Update
End With
Set main.DataGrid1.datasource = Adodc2
main.DataGrid1.Refresh
4.6 公寓资产
    公寓资产可以及时对公寓里进出财务进行统计,以免遗忘,造成不必要的损失或不必要的麻烦,它的实现方法基本同上面的卫生记录的添加,相对比来说比上面的简单一些。不足的是目前只做出了入库管理,对于出库记录还没有实现。
4.6.1公寓资产添加设置效果图

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]  下一页

论文编号:  价格:  是否有源码:无 【字体: 字体颜色
  • 上一篇文章: VB试题管理系统

  • 下一篇文章: VB+SQL物流管理系统
  • 发表评论  打印此文  收藏此页  关闭窗口  返回顶部
     最新热点文章
    企业工资管理系统的开发
    计算机专业毕业论文
    论跨国公司的发展历程及其规律
    VB、VF论文题目列表
    PB、JSP论文题目列表
    单片机温度控制系统
     
     最新推荐文章
    学生信息档案管理系统
    从激光原理看六脉神剑的产生机制
    中国文化外交初探
    利用Internet重新构造科研管理系统
    基于Web的库存管理系统
    应用于视频编码的块匹配运动估计算法设
     
     相 关 文 章

      网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    版权声明 | 联系我们 | 刊登广告| 关于博景源 | 加入收藏 | 设为首页
    版权所有:博景源科技有限公司 © 24小时客服电话:0451-81986565 客服邮箱:service-86qb@163.com
    Copyright© 1998 - 2008 www.86qb.com All Rights Reserved

    地址:哈尔滨市道里区新阳路恒祥大厦F901

    黑ICP备 06008746号