频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

VB+Access设计图书管理系统

来源:csdn 作者: 出处:巧巧读书 2007-12-09 进入讨论组
上一页 1 2 3 4 5 

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

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

  VB+Access设计图书管理系统(图四十四)


  图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所示。

  VB+Access设计图书管理系统(图四十五)

  图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

  到这里,各个窗体的界面和代码都介绍完了。发布后可以作为一个实际的项目应用。本文:http://www.qqread.com/vb/i206735.html 更多文章 更多内容请看系统优化大全网络管理实用手册系统安全设置专题,或进入讨论组讨论。
更多专题 【深 度 阅 读】 相 关 文 章
    上一页 1 2 3 4 5 
    收藏此文】【 】【打印】【关闭
    相关图文阅读
    频道图文推荐
    健 康 咨 询
    时 尚 咨 询
    巧巧读书宗旨
    相关专题
    讨论组问题推荐
    站内各频道最新更新文档
    站内最新制作专题
    热门关键字导读
    Photoshop教 程照片处理 照片制作 PS快捷键 抠图
    计 算 机 故 障XP系统修复
    艺 术 与 设 计设计 流媒体 设计欣赏 边框
    计 算 机 安 全ARP
    站内频道文章精选
    巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章