图4.12公寓资产添加效果图
4. 6. 2 界面制作与实现方法
日期的设置同上面一样,只读属性。公寓名称与寝室名称要人工输入,没有选择,这是因为考虑到它不会像卫生记录那样每天要添加一次,每次要添加很多,所以为了减少系统进程,它没有使用combo,没有在窗体中进行加载。窗体中的数量与单价在填写之后会自动把总价格计算出来,类似于上图中的得分一样。部分代码如下:
If Text5.Text = “” Or Text2.Text = “” Or Text3.Text = “” Then
MsgBox “请输入详细信息!”, , “提示”
Else
With Adodc1
.Recordset.AddNew
.Recordset.Fields(0).Value = Text1.Text
.Recordset.Fields(1).Value = Text8.Text
.Recordset.Fields(2).Value = Text2.Text
.Recordset.Fields(3).Value = Text3.Text
.Recordset.Fields(4).Value = Text4.Text
.Recordset.Fields(5).Value = Text5.Text
.Recordset.Fields(6).Value = Text6.Text
.Recordset.Fields(7).Value = Text7.Text
.Recordset.Update
End With
Set main.DataGrid1.datasource = Adodc1
main.DataGrid1.Refresh
Text2.Text = “”
Text3.Text = “”
Text4.Text = “”
Text5.Text = “”
Text6.Text = “”
Text7.Text = “”
End If
4.7记录查看
记录查看可以让你对已录入的记录进行各种符合条件的查找,显示符合条件的记录。这里主要包括四个方面的查看:卫生查看、请假查看、违规查看、资产查看。下面分别介绍。
4.7.1 卫生查看
①界面效果图
图4.13卫生查看效果图
②界面制作与实现方法
这是一个比较简单的窗体操作。看起来精简、小巧。它主要的功能是对已经录入的卫生记录进行符合条件的查询。在查询类别中选择可以选择全部查看以及按日期查看。查看全部即显示所有记录,选择按日期查看后在下面的列表框中选择所要查看的日期,点击确定后即可以看到该日期的记录。
在进行查询前,要对所操作的表进行绑定,代码如下:
Dim s 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 = "weigui"
.Refresh
End With
日期后面的下拉列表框中可以显示出所有已经录入记录的日期,它是通过对当前表进行分类查询后得到的结果,然后将其添加在combo中,实现代码如下:
s = "select distinct 日期 from weisheng"
With Adodc2
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdText
.RecordSource = s
.Refresh
End With
For I = 1 To Adodc2.Recordset.RecordCount
Combo1.AddItem (Adodc2.Recordset.Fields("日期"))
Adodc2.Recordset.MoveNext
Next
查看全部,即把当前表中的记录全部赋给当前用来显示的表格,按日期查看,则是在表中先进行查询,然后对结果进行重绑定,在赋值。它们的判断主要是通过单选框的选取来完成的,实现方法如下:
s = Combo1.Text
If Option1.Value = True Then
Set main.DataGrid1.datasource = Adodc1
main.DataGrid1.Refresh
ElseIf Option2.Value = True Then
sql = "select * from weisheng where 日期='" & Trim(s) & "'"
With Adodc3
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdText
.RecordSource = sql
.Refresh
End With
Set main.DataGrid1.datasource = Adodc3
main.DataGrid1.Refresh
End If
Unload Me
4.7.2其它记录查看
在记录查看中还有其它三项查看方式,分别是请假、违规、资产三项记录查看。它们的实现方法与窗体与上面的卫生查看基本相同。
①请假查看
图4.14请假查看效果图
用它可以对当前所有记录以及有效日期内的记录进行查看。
代码如下:
Dim sql As String
Dim s As String
s = Combo1.Text
If Option1.Value = True Then
Set main.DataGrid1.datasource = Adodc1
main.DataGrid1.Refresh
ElseIf Option2.Value = True Then
sql = "select * from qingjia where 日期='" & Trim(s) & "'"
With Adodc3
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdText
.RecordSource = sql
.Refresh
End With
Set main.DataGrid1.datasource = Adodc3
main.DataGrid1.Refresh
End If
Unload Me
在窗体的load中要设置已经添加的日期,需要对表进行条件查询,代码如下:
s = "select distinct 日期 from qingjia"
With Adodc2
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdText
.RecordSource = s
.Refresh
End With
For I = 1 To Adodc2.Recordset.RecordCount
Combo1.AddItem (Adodc2.Recordset.Fields("日期"))
Adodc2.Recordset.MoveNext
Next
②违规查看
图4.15违规查看效果图
目前此类功能还不是十分理想,有些查看方式会在以后的程序中进行升级。
在Load事件设置了窗体运行时所有需要的东西。
代码如下:
Option1.Value = True
Dim s 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 = "weigui"
.Refresh
End With
s = "select distinct 日期 from weigui"
With Adodc2
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdText
.RecordSource = s
.Refresh
End With
For I = 1 To Adodc2.Recordset.RecordCount
Combo1.AddItem (Adodc2.Recordset.Fields("日期"))
Adodc2.Recordset.MoveNext
Next
查看部分的源代码如下:
Dim sql As String
Dim s As String
s = Combo1.Text
If Option1.Value = True Then
Set main.DataGrid1.datasource = Adodc1
main.DataGrid1.Refresh
ElseIf Option2.Value = True Then
sql = "select * from weigui where 日期='" & Trim(s) & "'"
With Adodc3
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdText
.RecordSource = sql
.Refresh
End With
Set main.DataGrid1.datasource = Adodc3
main.DataGrid1.Refresh
End If
Unload Me
③资产查看
图4.16资产查看效果图
在Load事件设置了窗体运行时所有需要的东西。
代码如下:
On Error Resume Next
Option1.Value = True
Dim s 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 = "zichan"
.Refresh
End With
s = "select distinct 日期 from zichan"
With Adodc3
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdText
.RecordSource = s
.Refresh
End With
For I = 1 To Adodc3.Recordset.RecordCount
Combo1.AddItem (Adodc3.Recordset.Fields("日期"))
Adodc3.Recordset.MoveNext
Next
查看部分代码如下所示:
On Error Resume Next
Dim sql As String
Dim s As String
s = Combo1.Text
If Option1.Value = True Then
Set main.DataGrid1.datasource = Adodc1
main.DataGrid1.Refresh
ElseIf Option2.Value = True Then
sql = "select * from zichan where 日期='" & Trim(s) & "'"
With Adodc2
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdText
.RecordSource = sql
.Refresh
End With
Set main.DataGrid1.datasource = Adodc2
main.DataGrid1.Refresh
End If
Call dx1
Unload Me
4.8记录删除
删除是一个数据库软件中最基本的操作之一。在本软件的工具栏中也有一个删除按钮,其功能也是将所找到的记录删除,但是它每次只能删除一条记录,且此删除记录的前提是在右侧的显示中容易找出,即记录不多的情况下使用。如果一旦数据记录很多,一条条查找比较不方便时,即可以使用此窗体进行删除。这里的删除也有四个窗体,分别为卫生删除、请假删除、违规删除、资产删除。下面分别介绍。
4.8.1 卫生删除
①效果图
图4.17卫生删除效果图
②界面制作与实现方法
这个界面总体来说各个控件比较简单,但是作为一个删除操作,它已经连接到了数据库,与数据库的表相联。且有三种删除记录方式可以选择。
默认为单条删除,选择此项后需要在日期中选择所删除记录的添加日期,以及所在的公寓与寝室,当这三条全部符合要求后,在表中进行查找,找到后确认删除。选择批量删除后,在下面只有一个日期可以选择,这样将会把所选日期内的所有记录都将删除掉,所以称其为批量删除。全部即是把当前表清空,全部删除掉,建议使用此操作前对当前数据库进行备份处理,否则数据将不会恢复。首先要进行数据库连接,如上面例子所示,这里就不在介绍,接下来要对本窗体中的日期进行加载,如下所示:
s = "select distinct 日期 from weisheng"
With Adodc2
.Mode = adModeReadWrite
.ConnectionString = provider & ";" & datasource
.CommandType = adCmdText
.RecordSource = s
.Refresh
End With
For I = 1 To Adodc2.Recordset.RecordCount
Combo1.AddItem (Adodc2.Recordset.Fields("日期"))
Combo2.AddItem (Adodc2.Recordset.Fields("日期"))
Adodc2.Recordset.MoveNext
Next
Option1.Value = True
Frame3.Visible = True
Frame5.Visible = False
Frame6.Visible = False
在单条删除前要确定所有条件符合要求,单条删除操作的代码主要部分如下:
If (MsgBox("你真的想删除日期为 " & Combo1.Text & " 公寓为 " & Text1.Text & " 寝室为 " & Text2.Text & " 的记录吗?", vbOKCancel, "系统提示")) = vbOK Then
Adodc1.Refresh
Adodc1.Recordset.ActiveConnection.Execute "delete from weisheng where 日期='" &
Trim(s) & "'and 公寓='" & Trim(Text1.Text) & "'and 寝室='" & Trim(Text2.Text) & "'" ', , adExecuteNoRecords
Adodc1.Recordset.Update
Combo1.Text = ""
Text1.Text = ""
Text2.Text = ""
MsgBox "删除成功", , "系统提示"
End If
Unload Me
当选择某一日期后进行批量删除代码如下:
If (MsgBox("你真的想删除日期为 " & Combo2.Text & " 的记录吗?", vbOKCancel, "系统提示")) = vbOK Then
Adodc1.Refresh
Adodc1.Recordset.ActiveConnection.Execute "delete from weisheng where 日期='" & Trim(Combo2.Text) & "'"
Combo2.Text = ""
MsgBox "删除成功", , "系统提示"
End If
Unload Me
清空数据表代码为:
If (MsgBox("你真的想删除所有的记录吗?一旦删除即不可恢复", vbOKCancel, "系统提示")) = vbOK Then
For I = 1 To Adodc1.Recordset.RecordCount
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
Next I
End If
MsgBox "删除成功", , "系统提示"
Unload Me
4.8.2请假记录
①效果图
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
VB+Access学生公寓管理系统 第9页下载如图片无法显示或论文不完整,请联系qq752018766