科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道VB Access设计图书管理系统

VB Access设计图书管理系统

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本实例根据上面的设计规划出的实体有图书登记实体、图书借阅实体、图书赔偿实体、查询输出实体、值班管理实体、投诉管理实体。

作者:佚名 来源:csdn 2007年10月14日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共5页)

(7) 值班管理子窗体代码

  值班管理子窗体的作用是把值班人员的时间安排形成列表。运行的值班管理子窗体如图44所示。

  

  图44 运行的值班管理子窗体

  先定义连接数据库的变量:

  Option Explicit

  Dim rs_zhiban As New ADODB.Recordset

  然后列出窗体部分的代码。

  Private Sub cmdadd_Click()

  On Error GoTo adderror

  If cmdadd.Caption = "新增记录" Then ' 当此按钮的状态为为“增加记录”时

  cmdadd.Caption = "确定" ' 按钮名称改“确定”

  cmddel.Enabled = False

  DataGrid1.AllowAddNew = True

  DataGrid1.AllowUpdate = True ' 设定DataGrid可以增加记录

  Else

  If Not IsNull(DataGrid1.Bookmark) Then

  If Not IsDate(Trim(DataGrid1.Columns("值班开始日期").CellText(DataGrid1.Bookmark))) Then

  MsgBox "请按照格式yyyy-mm-dd输入值班开始日期", vbOKOnly + vbExclamation, ""

  Exit Sub

  End If

  If Not IsDate(Trim(DataGrid1.Columns("值班开始时间").CellText(DataGrid1.Bookmark))) Then

  MsgBox "请按照格式hh-mm输入值班开始时间", vbOKOnly + vbExclamation, ""

  Exit Sub

  End If

  If Not IsDate(Trim(DataGrid1.Columns("值班截止日期").CellText(DataGrid1.Bookmark))) Then

  MsgBox "请按照格式yyyy-mm-dd输入值班截止日期", vbOKOnly + vbExclamation, ""

  Exit Sub

  End If

  If Not IsDate(Trim(DataGrid1.Columns("值班截止时间").CellText(DataGrid1.Bookmark))) Then

  MsgBox "请按照格式hh-mm输入值班截止时间", vbOKOnly + vbExclamation, ""

  Exit Sub

  End If

  If Trim(DataGrid1.Columns("值班人").CellText(DataGrid1.Bookmark)) = "" Then

  MsgBox "值班人不能为空!", vbOKOnly + vbExclamation, ""

  Exit Sub

  End If

  rs_zhiban.Update

  MsgBox "添加信息成功!", vbOKOnly + vbExclamation, ""

  DataGrid1.AllowAddNew = False

  DataGrid1.AllowUpdate = False

  Else

  MsgBox "没有添加信息!", vbOKOnly + vbExclamation, ""

  End If

  cmdadd.Caption = "新增记录"

  cmddel.Enabled = True

  End If

  adderror:

  If Err.Number <> 0 Then

  MsgBox Err.Description

  End If

  End Sub

  Private Sub cmdcancel_Click()

  Unload Me

  MDIForm1.Show

  End Sub

  Private Sub cmddel_Click()

  Dim answer As String

  On Error GoTo delerror

  answer = MsgBox("确定要删除吗?", vbYesNo, "")

  If answer = vbYes Then

  DataGrid1.AllowDelete = True

  rs_zhiban.Delete

  rs_zhiban.Update

  DataGrid1.Refresh

  MsgBox "成功删除!", vbOKOnly + vbExclamation, ""

  DataGrid1.AllowDelete = False

  Else

  Exit Sub

  End If

  delerror:

  If Err.Number <> 0 Then

  MsgBox Err.Description

  End If

  End Sub

  Private Sub Form_Load()

  Dim sql As String

  On Error GoTo loaderror

  sql = "select * from 值班管理"

  rs_zhiban.CursorLocation = adUseClient

  rs_zhiban.Open sql, conn, adOpenKeyset, adLockPessimistic ' 打开数据库

  ' 设定DataGrid控件属性

  DataGrid1.AllowAddNew = False ' 不可增加

  DataGrid1.AllowDelete = False ' 不可删除

  DataGrid1.AllowUpdate = False

  Set DataGrid1.DataSource = rs_zhiban

  Exit Sub

  loaderror:

  MsgBox Err.Description

  End Sub

  Private Sub Form_Unload(Cancel As Integer)

  Set DataGrid1.DataSource = Nothing

  rs_zhiban.Close

  End Sub

  (8) 投诉管理子窗体代码

  投诉管理子窗体是为了对人员进行更好的管理而设置的,可以向其添加投诉的对象、时间和内容等。投诉管理运行后的子窗体如图45所示。

  

  图45 运行的投诉管理子窗体

  以下为窗体的代码:

  Private Sub Command1_Click()

  On Error GoTo adderr

  Text1.SetFocus

  Adodc1.Recordset.AddNew

  Exit Sub

  adderr:

  MsgBox Err.Description

  End Sub

  Private Sub Command2_Click()

  On Error GoTo deleteerr

  With Adodc1.Recordset

  If Not .EOF And Not .BOF Then

  If MsgBox("删除当前记录吗?", vbYesNo + vbQuestion) = vbYes Then

  .Delete

  .MoveNext

  If .EOF Then .MoveLast

  End If

  End If

  End With

  Exit Sub

  deleteerr:

  MsgBox Err.Description

  End Sub

  Private Sub Command3_Click()

  Adodc1.Recordset.MovePrevious

  If Adodc1.Recordset.BOF Then

  MsgBox "这是第一条记录", vbOKCancel + vbQuestion

  Adodc1.Recordset.MoveFirst

  End If

  End Sub

  Private Sub Command4_Click()

  Adodc1.Recordset.MoveNext

  If Adodc1.Recordset.EOF Then

  MsgBox "这是最后一条记录", vbOKCancel + vbQuestion

  Adodc1.Recordset.MoveLast

  End If

  End Sub

  Private Sub Command5_Click()

  If Adodc1.Recordset.EOF Then

  MsgBox "记录空", vbOKCancel + vbQuestion

  End

  Else

  Adodc1.Recordset.MoveFirst

  End If

  Exit Sub

  End Sub

  Private Sub Command6_Click()

  If Adodc1.Recordset.RecordCount = 0 Then

  MsgBox "空记录", vbOKCancel + vbQuestion

  End

  Else

  Adodc1.Recordset.MoveLast

  End If

  End Sub

  Private Sub Command7_Click()

  MDIForm1.Show

  frmtousu.Hide

  End Sub

  到这里,各个窗体的界面和代码都介绍完了。发布后可以作为一个实际的项目应用。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章