Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|产品中心下载什么是软件架构
您现在的位置: 天极网 > 开发频道 > VB+Access设计图书管理系统
全文

VB+Access设计图书管理系统

2006-09-02 08:00 作者: 出处: csdn 责任编辑:方舟
  (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

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




共5页。 9 7 1 2 3 4 5
网友关注
最新上市
编辑推荐
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml