资源描述
用VB编写一个简单的图书管理系统
Srl2011009 (学号) 石二辽(姓名) 指导教师 徐哲鑫
【摘 要】 笔者采用 Visual Basic 6.0 为开发工具, 设计一款具备友好的图形用户界面、 简便操作的图书管理系统。
充分利用计算机功能实现读者管理、书籍管理、借还书籍管理等信息的自动化控制,将使图书管理员从繁杂、重复的劳 作中解放出来。
【关键词】 图书;面向对象;软件工程
1 概述
1.1 开发背景
用计算机管理图书馆里一切信息是一种计算机应用技术的创新 , 在计算机还未普及之前图书管理都
是由图书管理人员手工记帐的方式来操作的 . 现在一般的图书馆都是采用计算机作为工具,使用实用的
图书管理程序来帮助图书馆管理员进行更有效的图书管理。
1.2 图书管理系统产生的背景
图书管理系统是典型的信息管理系统 , 其开发主要包括后台数据库的建立和维护以及前端应用程序
的开发两个方面。对于台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。
而对于前端应用程序则要求应用程序具备功能完备、友好的图形用户界面、便捷使用等特点 [1] 。
1.3 系统功能要求的分析
开发本系统的总体任务是实现图书管理系统的系统化和自动化, 帮助图书管理员更好更高效地完成
图书管理工作,本系统要完成的功能主要有 :
书籍管理部分 : 图书类别管理和图书信息管理。其中,书籍类别管理包括添加书籍类别、修改书籍
类别、删除书籍类别等;书籍信息管理包括书籍信息的添加、修改、查询、删除等。
读者管理部分 : 读者类别管理和读者信息管理,读者类别管理包括读者类别添加、修改、删除等;
读者信息包括读者添加读者信息、修改读者信息、查询读者信息、删除读者信息等。
借阅管理部分 : 借书信息管理和还书信息管理, 借书信息管理、 还书信息管理均包括其信息的添加、
修改、查询等。
系统管理部分 : 添加管理员 , 修改密码 , 退出系统。
2 开发环境及实现技术介绍
2.1 开发软件介绍
由于我的工作单位是一所中心小学, 有大量的书籍,读者有学生、 老师,于是本人想设计一款实用 的图书管理系统,方便学校图书管理员工作,增强图书借阅力度,良好地管理书籍及其借阅信息。
2. 2 模块设计 [2]
书籍管理部分实现对书籍类别、书籍信息的添加、修改、删除等操作。
读者管理部分实现对读者类别、读者信息的添加、修改、删除等操作。
借阅管理部分实现对借书信息、还书信息的添加、修改、查询等操作。
系统管理部分实现超级用户对普通用户的用户名和密码对注册、修改等操作。
2. 3 程序预览
运行本系统程序,首先出现登录界面(图 2 ),输入正确用户名及密码后进入主窗体(图 3 ),主 窗体上的主菜单栏有:书籍管理、读者管理、借阅管理、系统设置及帮助。
8
图2
图3
2.3.1书籍管理功能
“书籍管理”菜单下有两个一级菜单:
1 . “书籍类别管理”下有三个子菜单: 开“新增书籍类别”窗体(图 4)。单击 5)。
“书籍信息管理”和“书籍类别管理”。具体操作如下:
“新增”、“修改”、“删除”。单击“新增”菜单,打
“修改”或“删除”,都会打开“书籍类别信息管理”窗体(图
图4
2. “书籍信息管理”下有四个子菜单:
图5
“新增图书”、“修改书籍信息”、“删除书籍信息”、
“查询书籍信息”。单击“新增图书”菜单,打开“新增书籍”窗体(图6)。单击“修改”或“删除”,
都会打开“书籍信息管理”窗体(图 7)。单击“查询书籍信息”菜单,打开“查询图书”窗体(图 8)
图6
图7
图8
2.3.2 读者管理功能
“读者管理”菜单下有两个一级菜单:“读者类别管理”和“读者信息管理”。
1. “读者类别管理”下有3个子菜单:“添加读者类别”、“修改读者类别”、“删除读者类别” 单击“添加读者类别”菜单,打开“添加读者类别”窗体(图 9);单击“修改读者类别”和“删除读 者类别”菜单,都会打开“读者类别管理”窗体(图 10)。
图9
图10
2. “读者信息管理”菜单下有 4个子菜单:“添加读者信息”、“修改读者信息”、 信息”和“查询读者信息”。单击“添加读者信息”菜单,打开“添加读者信息”窗体(图 击“修改读者信息”和“删除读者信息”菜单,都会打开“读者信息管理”窗体(图
“删除读者
11),单
12),单击“查
询读者信息”菜单,打开“查询读者信息”窗体(图
13)。
图11
图12
图13
2.3.3 图书借阅管理功能
“借阅管理”菜单下有 2个一级菜单:“借书管理”和“还书管理”。
1. “借书管理”菜单下有 2个子菜单:“添加借书信息”和“查询借书信息”。单击“添加借书 信息”先打开的是“查tU图书"窗体(图 8),找到需要借阅的图书后,单击“借这本书按钮”,打开 “借书”窗体(图14);单击“查询借书信息”菜单,打开“查询借书信息”窗体(图 15)。
图14
图15
2.单击“还书管理”,打开“还书”窗体(图 16)。
图16
2.3.4 系统管理功能
“系统管理”菜单下有 3个子菜单,分别是“添加管理员”、“修改密钥”和“退出系统”。单击
“添加管理员”子菜单,打开“添加管理员”窗体(图 17),单击“修改密钥”子菜单,打开“修改
密码”窗体(图18),单击“退出系统”,备份数据并退出本系统。
图17
2.3.5帮助菜单
单击“帮助”菜单,打开系统信息窗体(图 1)
返回主窗体。
图18
,点击系统信息窗体任何一处,关闭该信息窗体,
学号 SH20110D9
指导宓师僚哲喜
福建师范大学
图归管理系统S
开发工具VB6. 0
版本1.0.0
版权归石二辽所有
警告 未维我公司批惟,任何人不得以商业为目的,销售本系学充
2.4数据库设计
数据库名为sj.mdb,在库中设计六张表,它们分别为 dzlb(读者类别表)、dzxx(读者信息表)、
jyxx(借阅信息表)、sjxx(书籍信息表)、sjlb(书籍类别表)、sys(系统管理表)。
读者借书数量、借书期限及有限期限, 设置“读
2.4.1 读者类别表,表名为dzlb,字段名称有读者类别名称、 者类别名称”为主键,是必填字段,不允许空值。
的=,据库2PD2 - 200;
・ ds Lb =
手段:多称
读者坐Sil名称1
文本
读著惜书翱星
数字
出黄期限
数字
有限期限
数字
I
必填字段,不允许空值
2.4.2 读者信息表:设置“读者编号”为主键,“读者编号”、“读者姓名”为
国一,钺型库Serf 2002 - 2003文件格式]
・ d.XJ£j£ :表
手威名称
数据类型
诙者编号1
文本
读者姓名
空温
性别
文本
俵者类别
文本
工作单位
变上
春庭地址
文本
联系方式
文本
登记日期
日期/时间
巳暗节数理
数手
2.4.3借阅信息表
“图书编号”、“书籍名称”为必填字段,不允许空值。
Klblixl
2.4.6系统管理表
旧Sj :数据库(Access 2002 - 2003文件格式)
字段名称
数据类型
Unane
Ui& Bi
本本本
文文文
竽辕名称
数据类型
借阅编号]
自动编号
读者编号
文本
读者姓名
在
书箝编号
文本
书籍名称
文本
借出日期
日期/时间
还书日期
日斯/时间
jyxx :套
2.4.4书籍信息表:设置“图书编号”为主键,
■■■ .
S;表
-> > > —
字葭名称
数据类型
i卜
图书编号
文本
书铸名称
莫本
类别
莫本
作者
更本
出版社
文本
出版日期
日期/时同
登记日期
日期/时间
是否被惜出
是/否
2.4.5图书类别表
2.4.7数据库连接方式选择
Visual basic6.0连接数据库的主要方式有以下几种方式:一是用 data控件进行数据库链接,二是 利用adodc (ADO Data Control)进行数据库链接 。三是:利用DataEnvironment进行数据库链接,四
是利用 ADO(ActiveX Data Objects) 进行编程。
利用DAO寸数据库进行操纵[3]:
在visual basic中提供了两种与jet数据引擎接口的方法:data控件与数据访问对象(DAO)DAO^ database object的英文缩写,要访问数据库一方面数据库要提供访问接口 ,另一方面要在编程环境中有
对数据库的支持.
DAO模型是设计关系数据库系统结构的对象类的集合 .他们提供了管理关系型数据库系统所需要
的全部操作属性和方法,这其中包括建立数据库,定义表,字段和建立表间关系,定位和查询数据库等.
关系数据库介绍[4]:
关系数据库是目前各类数据库中最重要、 最流行的数据库, 他应用数学方法来处理数据库数据, 是
目前使用最广泛的数据库系统。 20 世纪 70 年代以后开发的数据库管理系统产品几乎都是基于关系的。
在数据库发展的历史上,最重要的成就就是关系模型。
关系数据库系统与非关系数据库系统的区别是:关系系统只有“表“这一种数据结构;而非关系数
据库系统还有其他数据结构,对这些数据结构有其他的操作。
结构化查询语言 SQL(Structured Query Language )是一种介于关系代数与关系演算之间的语言,
其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。目前已成
为关系数据库的标准语言。
Microsoft Access 介绍 :
使用 Microsoft Access ,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可
以将自己的数据分别保存在各自独立的存储空间中, 这些空间称作表; 可以使用联机窗体来查看、 添加 及更新表中的数据; 使用查询来查找并检索所要的数据; 也可以使用报表以特定的版面布置来分析及打
印数据。
如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将
数据合并在一起,就要定义各个表之间的关系。
如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也
可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。
如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,
Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所
创建的版面布局,将窗体显示在屏幕上。
如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分
组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。
2. 5 系统代码 [5]
2.5.1 主界面代码 :
2.5.1.1 添加管理员菜单
Private Sub addadmin_Click() addadminf.Show
End Sub
2.5.1.2 添加读者类别菜单
Private Sub adddzlb_Click()
Adddzlbf.Show
End Sub
2.5.1.3 添加读者信息菜单
Private Sub adddzxxf_Click()
Adddzxxf.Show
End Sub
2.5.1.4 添加还书信息菜单
Private Sub addhs_Click()
hsf.Show
End Sub
2.5.1.5 添加借书信息菜单
Private Sub addjs_Click()
Jsf.Show
End Sub
2.5.1.6 添加图书类别菜单
Private Sub addlb_Click() addtslb.Show
End Sub
2.5.1.7 查询读者信息菜单
Private Sub cxdzxx_Click() cxdzxxf.Show
End Sub
2.5.1.8 查询借书信息菜单
Private Sub cxjs_Click() cxjsxxf.Show
End Sub
2.5.1.9 查询书籍信息菜单
Private Sub cxsj_Click() cxsjf.Show
End Sub
2.5.1.10 删除读者类别菜单
Private Sub Deldzlb_Click() dzlbxxf.Show
End Sub
2.5.1.11 删除读者信息菜单
Private Sub Deldzxx_Click() dzxxglf.Show
End Sub
2.5.1.12 删除书籍类别菜单
Private Sub dellb_Click() sjlbxxf.Show
End Sub
2.5.1.13 帮助菜单
Private Sub hlep_Click() frmSplash.Show
End Sub
2.5.1.14 退出系统菜单
Private Sub Unload_Click() end
End Sub
2.5.1.15 修改读者类别菜单
Private Sub Xgdzlb_Click() dzlbxxf.Show
End Sub
2.5.1.16 修改读者信息菜单
Private Sub xgdzxx_Click() dzxxglf.Show
End Sub
2.5.1.17 修改书籍类别菜单
Private Sub xglb_Click() sjlbxxf.Show
End Sub
2.5.1.18 修改用户密码菜单
Private Sub xgmm_Click()
xgmmf.Show
End Sub
Private Sub xgts_Click() sjxxf.Show
End Sub
2.5.1.20 新增图书信息菜单
Private Sub xzts_Click() addtsf.Show
End Sub
2.5.2 添加图书类别
添加图书类别代码 :
Private Sub Command1_Click()
Dim Sq1 As String
Dim rs_add As New ADODB.Recordset
Sql = "select * from sjlb where 类别名称 ='" & Text1.Text & "'"
rs_add.Open Sql, Sjk, adOpenKeyset, adLockPessimistic
If Trim(Text1.Text) = "" Then
MsgBox " 图书类别不能为空 ", vbOKOnly + vbExclamation, " 注意 "
Text1.SetFocus
Exit Sub
End If
If Trim(Text2.Text) = "" Then
MsgBox " 图书编号不能为空 ", vbOKOnly + vbExclamation, " 注意 "
Text2.SetFocus
Exit Sub
End If
If rs_add.EOF = True Then
rs_add.AddNew
rs_add.Fields(0) = Trim(Text2.Text)
rs_add.Fields(1) = Trim(Text1.Text) rs_add.Update
MsgBox " 成功地添加 " & Text1.Text & " 这一图书类别 ", vbOKOnly, " 恭喜 " rs_add.Close
Else
图书
MsgBox " " & Text1.Text & " 这一图书类别已存在 ", vbOKOnly + vbExclamation,
类别不能重复 "
rs_add.Close
End If
Text1.SetFocus
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
2.5.3 修改图书类别 :
修改图书类别代码 :
Option Explicit
Dim Myjl As New ADODB.Recordset
Private Sub Form_Load()
Dim Sq1 As String
On Error GoTo loaderror
Sq1 = "select * from sjlb "
Myjl.CursorLocation = adUseClient
Myjl.Open Sq1, Sjk, adOpenKeyset, adLockPessimistic
Cmdcancel.Enabled = False
Cmdupdate.Enabled = False
Dg.AllowAddNew = False
Dg.AllowDelete = False
Dg.AllowUpdate = False
Set Dg.DataSource = Myjl
Exit Sub
loaderror:
MsgBox Err.Description
End Sub
Private Sub Cmdadd_Click()
Dg.AllowAddNew = True
Dg.AllowUpdate = True
Cmdadd.Enabled = False
Cmdupdate.Enabled = True
End Sub
Private Sub Cmdadd_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Cmdadd.Caption = " 点击此处也可以添加 "
Cmdadd.Width = 3000
End Sub
Private Sub Cmdcancel_Click()
Myjl.CancelUpdate
Dg.Refresh
Dg.AllowAddNew = False
Dg.AllowUpdate = False
Cmdxg.Enabled = True
Cmddel.Enabled = True
Cmdcancel.Enabled = False
Cmdupdate.Enabled = False End Sub
Private Sub Cmddel_Click()
Dim Srl As String
On Error GoTo delerror
Srl = MsgBox(" 确定要删除吗? ", vbYesNo)
If Srl = vbYes Then
Dg.AllowDelete = True
Myjl.Delete
Myjl.Update
Dg.Refresh
Else
Exit Sub
End If
delerror:
MsgBox Err.Description
End Sub
Private Sub Cmdupdate_Click()
If Not IsNull(Dg.Bookmark) Then
Myjl.Update
Cmddel.Enabled = True
Cmdxg.Enabled = True
Cmdcancel.Enabled = False
Cmdupdate.Enabled = False
Dg.AllowUpdate = False
MsgBox " 修改成功 ", vbOKOnly + vbExclamation, " 恭喜成功 "
End If
Cmdadd.Width = 1550
Cmdadd.Caption = " 高级 "
Cmdadd.Enabled = True
End Sub
Private Sub Cmdxg_Click()
Dim Srl As String
On Error GoTo xg
Cmddel.Enabled = False
Cmdxg.Enabled = False
Cmdupdate.Enabled = True
Cmdcancel.Enabled = True
Dg.AllowUpdate = True
xg:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set Dg.DataSource = Nothing
Myjl.Close
End Sub
2.5.4 添加读者类别界面 :
Private Sub Command1_Click()
Dim Srl As String
Dim Mybook As New ADODB.Recordset
If Trim(Text1.Text) = "" Then
MsgBox " 读者类别名称不能为空 ", vbOKOnly + vbExclamation, " 注意
Text1.SetFocus
Exit Sub
End If
If Trim(Text2.Text) = "" Then
MsgBox " 借书数量不能为空 ", vbOKOnly + vbExclamation, " 注意 "
Text2.SetFocus
Exit Sub
End If
If Trim(Text3.Text) = "" Then
MsgBox " 借书期限不能为空 ", vbOKOnly + vbExclamation, " 注意 "
Text3.SetFocus
Exit Sub
End If
If Trim(Text4.Text) = "" Then
MsgBox " 有效期限不能为空 ", vbOKOnly + vbExclamation, " 注意 "
Text4.SetFocus
Exit Sub
End If
On Error GoTo Cw
Srl = "select * from dzlb where 读者类别名称 ='" & Text1.Text & "'"
Mybook.Open Srl, Sjk, adOpenKeyset, adLockPessimistic
If Mybook.EOF Then
Mybook.AddNew
Mybook.Fields(0) = Trim(Text1.Text)
Mybook.Fields(1) = Trim(Text2.Text)
Mybook.Fields(2) = Trim(Text3.Text)
Mybook.Fields(3) = Trim(Text4.Text)
Mybook.Update
添加成
MsgBox " 您已经成功添加 " & Text1.Text & " 这一读者类别 ", vbOKOnly + vbExclamation, "
功!"
Mybook.Close
Else
MsgBox " 读者类别名称为 " & Text1.Text & " 重复 ", vbOKOnly + vbExclamation, " 注意重复
Text1.SetFocus
Text1.Text = ""
Mybook.Close
Exit Sub
End If
Cw:
MsgBox Err.Description
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim Sq1 As String ' 定义一个字符串变量
Dim Myjl As New ADODB.Recordset ' 定义一个 Recordset 对象变量
End Sub
2.5.5 查询读者信息代码 :
Private Sub Form_Load()
Dim Sq1 As String ' 定义一个字符串变量
Dim Myjl As New ADODB.Recordset ' 定义一个 Recordset 对象变量
Sq1 = "select * from dzlb"
Myjl.Open Sq1, Sjk, adOpenKeyset, adLockPessimistic
Do While Not Myjl.EOF
Combo1.AddItem Myjl.Fields(0)
Myjl.MoveNext
Loop
Combo1.ListIndex = 0
Myjl.Close
End Sub
Private Sub Command1_Click()
Dim Srl As String ' 定义一个字符串变量
Dim Mybook As New ADODB.Recordset ' 定义一个 Recordset 对象变量
If Check1.Value = vbChecked Then
Srl = " 读者编号 ='" & Trim(Text1.Text & "") & "'"
End If
If Check2.Value = vbChecked Then
If Trim(Srl) = "" Then
Srl = " 读者姓名 ='" & Trim(Text2.Text & "") & "'"
Else
Srl = Srl & "and 读者编号 ='" & Trim(Text2.Text & "") & "'"
End If
End If
If Check3.Value = vbChecked Then
If Trim(Srl) = "" Then
Srl = " 读者类别 ='" & Trim(Combo1.Text & "") & "'"
Else
Srl = Srl & "and 读者类别 ='" & Trim(Combo1.Text & "") & "'"
End If
End If
If Srl = "" Then
MsgBox " 请选择一种查询依据 ", vbOKOnly + vbExclamation, " 查询方式
Exit Sub
End If
Srl = "select * from dzxx where " & Srl
Mybook.CursorLocation = adUseClient
Mybook.Open Srl, Sjk, adOpenKeyset, adLockPessimistic
Dg.AllowAddNew = False
Dg.AllowDelete = False
Dg.AllowUpdate = False
Set Dg.DataSource = Mybook
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
2.5.6 图书借阅管理模块代码:
2.5 . 6.1 查询书籍窗体代码
Private Sub Form_Load() ’窗体加载时就书籍类别加载到列表框中。
Dim Sq1 As String ' 定义一个字符串变量
Dim Myjl As New ADODB.Recordset ' 定义一个 Recordset 对象变量
Sq1 = "select * from sjlb"
Myjl.Open Sq1, Sjk, adOpenKeyset, adLockPessimistic
Do While Not Myjl.EOF
Combo1.AddItem Myjl.Fields(1)
Myjl.MoveNext
Loop
Combo1.ListIndex = 0
Myjl.Close
End Sub
Private Sub Command1_Click() ’查询命令按钮代码
Dim Srl As String ' 定义一个字符串变量
Dim Mybook As New ADODB.Recordset ' 定义一个 Recordset 对象变量
If Check1.Value = vbChecked Then
Srl = " 书籍名称 ='" & Trim(Text1.Text & "") & "'" End If
If Check2.Value = vbChecked Then
If Trim(Srl) = "" Then
Srl = " 图书编号 ='" & Trim(Text2.Text & "") & "'"
Else
Srl = Srl & "and 图书编号 ='" & Trim(Text2.Text & "") & "'" End If
End If
If Check3.Value = vbChecked Then
If Trim(Srl) = "" Then
Srl = " 作者 ='" & Trim(Text3.Text & "") & "'"
Else
Srl = Srl & "and 作者 ='" & Trim(Text3.Text & "") & "'"
End If
End If
If Check4.Value = vbChecked Then
If Trim(Srl) = "" Then
Srl = " 出版社 ='" & Trim(Text4.Text & "") & "'"
Else
Srl = Srl & "and 出版社 ='" & Trim(Text4.Text & "") & "'"
End If
End If
If Check5.Value = vbChecked Then
If Trim(Srl) = "" Then
Srl = " 类别 ='" & Trim(Combo1.Text & "") & "'"
Else
Srl = Srl & "and 类别 ='" & Trim(Combo1.Text & "") & "'"
End If
End If
If Srl = "" Then
MsgBox " 请选择一种查询依据 ", vbOKOnly + vbExclamation, " 查询方式
Exit Sub
End If
Srl = "select * from sjxx where " & Srl
Mybook.CursorLocation = adUseClient
Mybook.Open Srl, Sjk, adOpenKeyset, adLockPessimistic
Dg.AllowAddNew = False
Dg.AllowDelete = False
Dg.AllowUpdate = False
Set Dg.DataSource = Mybook
End Sub
为了获取表格某一单元格值,为 DataGrid控件DG添加如下代码:
Private Sub Dg_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
On Error GoTo Cw
Pand = Dg.Columns(7).CellValue(Dg.Bookmark)
Bookunm = Dg.Columns(0).CellValue(Dg.Bookmark) ' Pand 和 Bookunm是公共模块中定义的一个公共 变量,Bookunm用来记录表格中某一书籍的图书编号,便于在借书窗体中再次调用。
Exit Sub
Cw:
MsgBox Err.Description
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click() ’这是“借这本书”命令按钮,如果条件满足,就进入借书窗体了。
If Trim(Bookunm) = "" Then
MsgBox " 请选择要借阅的书籍 ", vbOKOnly + vbExclamation, " 选择书籍 "
Exit Sub
End If
If Trim(Pand) = " 是" Then
MsgBox " 此书已经被借出,请选择其它书籍 ", vbOKOnly + vbExclamation, " 选择书籍 "
Exit Sub
End If
Unload Me
Jsf.Show
End Sub 2.5 . 6.2 借书窗体代码
该读者类别
该读者可借书的期限
该读者已借书的数量
该读者借书量的限制
Option Explicit Dim Lb As String ' Dim Qx As String ' Dim Yjsl As String ' Dim Maxm As String
'由在查询书籍的窗体满足了可以借书的条件进入此借书窗体,
根据此书的图书编号,
在本窗体加载时
就加载了书籍的信息和读者列表。
Private Sub Form_Load()
Dim Mybook As New ADODB.Recordset
Dim Mydz As New ADODB.Recordset
Dim Srl As String
Dim Sql As String
Srl = "select * from sjxx where 图书编号 ='" & Bookunm & "'"
Mybook.Open Srl, Sjk, adOpenKeyset, adLockPessimistic
Label8.Caption = Mybook.Fields(0)
Label9.Caption = Mybook.Fields(1)
Label10.Caption = Mybook.Fields(2)
Label11.Caption = Mybook.Fields(3)
Label12.Caption = Mybook.Fields(4)
Label13.Caption = Mybook.Fields(5)
Label14.Caption = Mybook.Fields(6)
Sql = "select * from dzxx "
Mydz.Open Sql, Sjk, adOpenKeyset, adLockPessimistic
If Not Mydz.EOF Then
Do While Not Mydz.EOF
Combo1.AddItem Mydz.Fields(0)
Combo2.AddItem Mydz.Fields(1)
Mydz.MoveNext
Loop
Combo1.ListIndex = 0
Else
MsgBox " 请先登记读者 ", vbOKOnly + vb
展开阅读全文
相关搜索