版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计阐明书图书管理系统学生姓名:平晋昇学号:H0491B11学院:中北大学成人教育学院专业:计算机科学技术指导教师:马巧梅10月图书管理系统摘要本文首先简介了数据库管理系统(DBMS)的基本概念及关系模型等。然后对问题的来源进行深入分析,指出图书借阅者、图书馆工作人员和图书馆管理人员是问题重要来源,并指出本数据管理系统的实用性功能就是管理好图书馆信息,提高工作效率,防止数据处理手工操作,工作量大,出错率高的弊端。接着对需求分析进行细致的分析,尤其对图书借阅者、图书馆工作人员和图书馆管理人员三者权限进行分派。接着对系统功能模块进行分析,指出本系统功能模块重要分为“图书资料管理”模块、“学生资料管理”模块、“借还书操作”模块。总的来说,本图书管理系统,简介了该系统构成构造、功能特点、使用原理和措施,本系统实现了系统登陆、图书管理、学生管理图书的借阅与偿还、图书借阅排行榜和查看逾期未还图书以及多种信息的打印等功能。有了这个系统就使图书馆的工作变得简朴了许多,使图书馆的图书管理形成了一种整体自动化管理模式。关键词:VisualForPro6.0,数据库管理,SQL语言,图书管理目录1绪论……………11.1系统开发背景和意义………11.2开发环境……………………12总体设计………………………12.1应用需求分析………………12.2模块分析……………………22.2.1功能模块图……………2.2.2模块分析………………3详细设计………………………33.1设计创立数据库……………33.1.1设计数据库………………3.1.2创立数据库………………3.2创立系统主程序……………63.3创立系统常用类……………73.3.1创立“移动记录工具栏”类…………3.3.2创立“命令按钮工具栏”类…………3.4创立系统主表单…………93.4.1系统主表单的功能……………………3.4.2创立系统主表单界面……………………3.4.3添加表单代码………3.4.4创立系统主表单辅助表单……………3.5创立“读者借书记录”模块…………………323.5.1主表单的功能…………3.5.2创立主表单界面………3.5.3添加主表单代码………3.5.4创立辅助表单…………3.6创立系统打印功能………444结论……………………45参照文献……………………47道谢……………481绪论1.1系统开发背景和意义图书管理是高校内每一种系部或院部都必须切实面对的工作,老式的人工方式存在着许多缺陷,如效率低、保密性差且较为繁琐。此外,伴随图书资料数量的增长,其工作量也将大大增长,这必将增长图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了诸多困难。伴随科学技术的不停提高,这种老式的手工管理措施必然被以计算机为基础的信息管理措施所取代。图书管理作为计算机应用的一种分支,有着手工管理无法比拟的长处,如检索迅速、查找以便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些长处可以极大地提高图书管理的效率。因此,开发一套可认为顾客提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。1.2开发环境开发环境的选择会影响到数据库的设计,因此在这里给出图书管理系统开发与运行环境的选择如下:开发环境:WindowsXP开发工具:VisualForPro6.02总体设计2.1应用需求分析图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅状况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书规定进行操作,同步形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护及系统状态的查看、维护并生成催还图书报表。图书借阅者可直接查看图书馆图书状况,假如图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书状况的查询和维护部分个人信息。一般状况下,图书借阅者只应当查询和维护本人的借书状况和个人信息,若查询和维护其他借阅者的借书状况和个人信息,就要懂得其他图书借阅者的借书证号和密码。这些是很难得到的,尤其是密码,因此不仅满足了图书借阅者的规定,还保护了图书借阅者的个人隐私。图书馆工作人员有修改图书借阅者借书和还书记录的权限,因此需对工作人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可认为图书借阅者加入借书记录或是还书记录,并打印生成对应的报表给顾客查看和确认。图书馆管理人员功能的信息量大,数据安全性和保密性规定最高。本功能实现对图书信息、借阅者信息、总体借阅状况信息的管理和记录、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、记录图书的基本信息;浏览、查询、记录、添加、删除和修改图书借阅者的基本信息,浏览、查询、记录图书馆的借阅信息。2.2模块分析2.2.1功能模块图还书操作借书操作借还书操作图书资料管理图书管理系统学生资料管理资料打印资料查询资料删除资料修改逾期图书书籍排行还书操作借书操作借还书操作图书资料管理图书管理系统学生资料管理资料打印资料查询资料删除资料修改逾期图书书籍排行资料添加资料添加2.2.2模块分析2.2.2.1“图书资料管理”模块“图书资料管理”模块重要实现图书资料的分条浏览、添加、修改、删除、查询和打印功能。在表单的“书籍资料”页框中可以通过“移动记录工具栏”分条查看系统内所有的图书的详细资料,包括图书的名称、类别、作者、出版社、购置日期等。单击“命令按钮工具栏”中的按钮可以对“书籍资料”页框中的记录进行对应的操作。2.2.2.2“学生资料管理”模块“学生资料管理”模块重要实现学生资料的分条浏览、添加、修改、删除、查询和打印功能。在表单的“学生资料”页框中可以通过“移动记录工具栏”分条查看系统内所有的学生详细资料,包括学生姓名、性别、系别、班级等资料。单击“命令按钮工具栏”中的按钮可以对“学生资料”页框中的记录进行对应的操作。2.2.2.3“借还书操作”模块“借还书操作”模块重要实现读者借书记录的查看、借还书操作、图书借阅排行榜、查看逾期未偿还图书和记录打印等功能。读者借书记录查看功能可以查看所有的借书记录,也可以只查看目前尚未偿还的借书记录。在“读者借书记录”表单中单击“借书”按钮,在打开的“输入”表单中,输入要借出的图书编号,假如该图书在馆中并且该读者还能借书,则借书成功。“读者借书记录”表单中单击“还书”按钮,在打开的“输入”表单中输入要偿还的图书的图书编号,假如该图书是被目前读者借出,则还书成功。当表单中显示的是读者未偿还的图书列表时,在列出借书记录的表格中双击要偿还的图书的“图书编号”栏即可将此图书还入。在“读者借书记录”表单中,单击“过期”按钮,可以查看系统内到了偿还日期而未偿还的图书的借阅记录。在“读者借书记录”表单中,单击“排行”按钮,可以查看系统内借阅次数在所有图书内排行前10名的图书的列表。3详细设计3.1设计创立数据库3.1.1本系统实现了系统登录功能,而系统登录需要账号和密码,这就需要创立一种“系统帐号”(Accounts)数据表,用来存储系统登录取的账号和密码。本系统要实现图书资料和学生资料的管理,因此需要创立“学生信息”(Student)数据表和“图书信息”(Book)数据表。“学生信息”(Student)数据表中包括了学生的“系别”信息,在本系统中为了简化系别的管理,此外创立了一种“系别”(Xibie)数据表用来存储系别的信息,在“学生信息”(Student)数据表中只存储系别的编号。由于系统要实现读者借还书功能、还要实现读者借还书记录的查看,因此还需创立一种“读者借书记录”(JyRec)数据表来保留读者的借阅记录。3.1.2“图书借阅管理系统”作为一种完整的数据库管理系统,在创立阶段运用项目管理器可以更好组织管理多种格式的文献,因此首先需要创立一种项目,然后在项目管理器创立其他格式的文献。在VFP主窗口中选择“文献”菜单下“新建”子菜单,在打开的“新建”对话框的“文献类型“区域中选中”项目”,然后单击右侧的”新建文献”按钮,打开”创立“对话框中的”项目文献“文本框中输入项目名称,在此输入"Tushu”,单击“保留”按钮即创立了一种项目。在项目管理器的“数据”选项卡中选中“数据库”单击右侧的“新建”按钮,在弹出的“新建数据库”对话框中单击“新建数据库”,在弹出的“创立”对话框的“数据库名”文本框中输入数据库的名称,在此输入“Tushu”作为数据库名,单击“保留“按钮即创立了一种空的数据库。在项目管理器的“数据”选项卡中打开刚刚创立的“Tushu”数据库的目录树,选中“数据表”,单击右侧的“新建”按钮即可开始数据表的创立。本系统中要用到的数据表的字段的属性设置分别设置如下。“系统账号”(Accounts)数据表的宇段属性设置如表3.1所示。表3.1“系统帐号”(Accounts)数据表字段属性设置字段名数据类型阐明帐号字符型字段宽度20,主索引字段,不能为空密码字符型字段宽度20姓名字符型字段宽度20创立“系统账号”(Accounts)数据表后向数据库中添加一条记录作为系统的默认帐号,该记录的各字段的值如下:“pjs”,“pjs”,“平晋昇”。“学生信息”(Student)数据表各字段的属性设置如表3.2所示。表3.2“学生信息”(Student)数据表字段属性设置字段名数据类型阐明学号字符型字段宽度6,主索引字段,输入掩码为“999999”姓名字符型字段宽度20性别字符型字段宽度2系别字符型字段宽度4,为一般索引班级字符型字段宽度10电话字符型字段宽度12,输入掩码为“999##9999999”邮件字符型字段宽度30地址字符型字段宽度30“系别信息”(Xibie)数据表各字段的属性设置如表3.3所示表3.3“系别信息”(Xibie)数据表字段属性设置字段名数据类型阐明系别号字符型字段宽度4,主索引字段,输入掩码为“9999”名称字符型字段宽度20“图书信息”(Book)数据表各字段的属性设置如表3.4所示表3.4“图书信息”(Tushu)数据表字段属性设置字段名数据类型阐明图书编号字符型字段宽度6,主索引字段,输入掩码为“AA9999”图书类别字符型字段宽度10图书名称字符型字段宽度40图书作者字符型字段宽度20出版社字符型字段宽度40购置日期日期型字段宽度8购置价格货币型字段宽度8借阅次数数值型字段宽度4,默认值0与否借出逻辑型字段宽度1,默认值“.F.”对“图书信息”(Book)数据表的字段属性设置需要阐明的是“借阅次数”和“与否借出”字段的默认值一定要设置,由于对于新添加的图书,其一定是没有被借出的,并且其借阅次数一定是0,因此在表单中向数据表添加记录时,这两个字段应当是不需要添加的,可以由默认值生成。“读者借书记录”(JyRec)数据表的字段属性如表3.5所示。表3.5“读者借书记录”(JyRec)数据表字段属性设置字段名数据类型阐明学号字符型字段宽度6,一般索引字段,输入掩码为“999999”图书编号字符型字段宽度6,一般索引字段,输入掩码为“AA9999”借阅日期日期型字段宽度8偿还日期日期型字段宽度8数据表之间的关系,将在详细表单的数据环境中设置。3.2创立系统主程序VFP应用程序系统需要创立一种主程序来驱动各个表单,在项目管理器的“代码”选项卡中选中“程序”,单击“新建”按钮,即可打开程序编辑窗口本系统中需要创立一种程序main.prg,用来设置系统的工作环境,并驱动其他的程序和表单。将一种文献设为项目主文献的措施是在项目管理器中选中该文献,然后在右键快捷菜单中选择“设为主文献”子菜单或者选择“项目”菜单下“设为主文献”子菜单即可。一种文献设为项目的主文献后,该文献的将以粗体显示main.prg程序的代码为:SETTALKOFFSETSAFETYOFF&&覆盖时不要确认SETSTATBAROFF&&将状态栏关闭SETSYSMENUOFF&&可关掉VFP系统菜单之区域SETSYSMENUTO&&关闭系统菜单SETCENTURYON&&显示四位年代_Screen.VISIBLE=.F.DOFORMLogon3.3创立系统常用类系统主表单中“学生资料”和“书籍资料”页框控件中都需要用到“移动记录工具栏”和“命令按钮工具栏”,这两个命令按钮工具栏假如在表单中分别创立会使工作变得繁琐,可以采用创立工具栏类,然后在表单中用实例化的方式来简化工作。3.3.1创立“移动记录工具栏”类“移动记录工具栏”类基于“CommandGroup”基类,存储于“AdminButton”可视类库中,命名为“MoveRecord”。“移动记录工具栏”类包括“首记录”、“上一种”、“下一种”和“末记录”4个按钮,在表单中可以运用这4个按钮定位数据表中的记录指针。创立好的"移动记录工具栏"类效果如下图所示。需要指出的是,在本系统中当鼠标移动到按钮上时,鼠标指针变为一种特定指针,这就需要一种鼠标指定文献,在本系统中使用“H_point.cur”文献,将该鼠标指针文献放在系统的根目录下,添加按钮“MouseMove”事件如下:LPARAMETERSnButton,nShift,nXCoord,nYCoordThis.MousePointer=99This.MouseIcon=SYS(5)+"h_point.cur"3.3.2创立“命令按钮工具栏“命令按钮工具栏”类基于“CommandGroup”基类,存储于“AadminButton”可视类库中,命名为“AdmButGrp”。“命令按钮工具栏”类中包括“增长”(CmdAdd)、“修改”(Cmdmod)、“删除”(Cmddel)、“查询”(CmdSer)、“打印”(Cmdpri)、“保留”(CmdSave)、“取消”(CmdCancel)和“退出”(CmdExit)8个按钮。由于“命令按钮工具栏”类中的按钮在不一样的表单中的作用不一样,因此不必在类中添加控钮的代码,可以采用在表单中将类实例化后再添加代码的方式。设置“命令按钮工具栏”类及其控件的属性如表3.6所示。表3.6“命令按钮工具栏”类及其控件属性控件属性属性取值ambutgrpButtonCount8Height330Width60按钮控件FontBold.T.FontSize15FontName楷体GB_2312Height35Width60cmdaddCaption新增ToolTipText新增记录cdmodCapion修改ToolTipText修改目前记录cmddelCapion删除ToolTipText删除目前记录mdserCapion查询ToolTipText查询目前记录cdsaveCapion保留ToolTipText保留修改cdcancelCapion取消ToolTipText取消修改cmdpriCapion打印ToolTipText打印目前记录CmdexitCapion退出ToolTipText退出目前表单创立好的表单效果如右图所示与“移动记录工具栏”类相似,为了变化鼠标停留在按钮时的指针,还需添加按钮的“MouseMove”事件,代码与“移动记录工具栏”类中的相似。3.4创立系统主表单系统主表单由两个选项卡构成,下面分别简介这两个选项卡的创立。3.4.1系统主表单的功能系统主表单在提供系统界面的同步还包括一种具有两个页框的页框控件,系统运用这两个页框控件来管理“学生信息”(Student)数据表和“图书信息”(Book)数据表中的数据,运用这两个页框可以对这两张数据表中的数据进行查看、添加、修改、删除、查询和打印等操作。同步,系统主表单还将用来调用系统的借还书模块。3.4.2创立系统主表单界面在“表单设计器”中创立一种表单作为系统主表单,命名为“MainForm”。创立好的表单效果中有两个页框,其中“学生资料”页面效果如右图所示。创立好的“书籍资料”页框效果如右图所示。将“学生信息”(Student)数据表、“系别信息”(Xibie)数据表、“图书信息”(Book)数据表、“读者借书记录”(JyRec)数据表添加到表单的数据环境中,用“系别信息”(Xibie)数据表的“系别号”字段和“学生信息”(Student)数据表的“系别”索引建立关联。在表单的数据环境中,“学生信息”(Student)数据表和“图书信息”(Book)数据表的BufferModeOverRide属性设置为“3-开放式缓冲”,Exclusive属性设置为“.T.”。设置系统主表单属性如表3.7所示。表3.7系统主表单(MainForm)属性设置表单属性取值AutoCenter.T.BorderStyle2-固定对话框BufferMode0ControlBox.T.Caption图书借阅管理系统Closable.F.DeskTop.F.Hight385Width612NameMainFormMdiForm.T.MaxButton.T.Picturebg.bmpMinButton.T.ShowWindow2-作为顶层表单ShowTips.T.TitleBar1-打开WindowState0-一般WindowType1-模式设置好系统主表单属性后向表单中添加两个页框控件,将页框控件的第一种页面作为“学生资料”(StuPage)页面,使页框控件处在编辑状态,然后从数据环境中将要在“学生资料”页面中显示的字段拖放到表单中,并将“性别”字段生成的文本框控件删除,再添加一种选项按钮组控件来显示该字段的数据,将“系别”字段生成的文本框控件删除,再添加一种组合框控件来显示该字段的数据,此外将“系别信息”(Xibie)数据表中的“名称”字段添加到“学生资料”页面中。将“移动记录工具栏”(MoveRecord)和“命令按钮工具栏”(CmdButGrp)类在“学生资料”(StuPage)页面中实例化,并命名为“StuAbg”和“StuMr”。在向页面中添加控件时一定要注意使页框处在可编辑状态,即页框外一种蓝色的虚框,假如只是选择了页框控件,则此时向表单中添加控件只是向表单中添加控件,其在表单构造中的位置是与页框控件平行的。设置“学生资料”(StuPage)页面及其控件的属性如表3.8所示。表3.8系统主表单“学生资料”(StuPage)页面及控件属性设置控件属性属性取值StuPageCaption学生资料FontBlod.T.FontSize14FontName隶书PictureBgl.bmp标签控件AutoSize.T.BackStyle0-透明FontBlod.T.ForeColor0,0,0FontSize16FontName楷体GB_2312WordWrap.F.文本框控件FontSize12Height25StuMrHeight35Width320StuAbgHeight132Width168续表3.8控件属性属性取值Txt学号ControlSourceStudent.学号IMEMode2-关闭IMEReadOnly.T.StuogpControlSourceStudent.性别Txt姓名ControlSourceStudent.姓名IMEMode1-打开IMEReadOnly.F.Txt班级ControlSourceStudent.班级IMEMode1-打开IMEReadOnly.F.Cmb系别ControlSourcestudent.系别RowSourcexibie.系编号RowSourceType6-字段Style2-下拉列表框Txt名称ControlSourceXibie.名称IMEMode1-打开IMEReadOnly.T.Txt地址ControlSourcestudent.地址IMEMode1-打开IMEReadOnly.F.Txt电话ControlSourcestudent.电话IMEMode1-打开IMEReadOnly.F.Txt邮件ControlSourcestudent.邮件IMEMode1-打开IMEReadOnly.F.CmdjhCaption借还书页框的两个页面中的另一种页框用来作为“书籍资料”(BookPage)页面,从表单的数据环境中将需要在“书籍资料”(BookPage)页面中显示宇段拖放到页面中,并添加到页面中的控件进行某些调整,包括将“与否借出”字段生成的控件删除,添加一种标签控件,再根据该字段的值显示图书的状态。将“移动记录工具栏”类和“命令按钮工具栏”类在“书籍资料”(BookPage)页面中实例化,并重新命名为“BookMr”和“BookAbg”。向表单中添加一种按钮,再添加一种名为“MicroSoftMonthViewContro1,Verdion6.0”的ActiveX控件,并命名为“SjOleRq”。设置“书籍资料”(BookPage)页面及页面中控件的属性如表3.9所示。表3.9系统主表单“书籍资料”(BookPage)页面及控件属性设置控件属性属性取值BookPageCaption书籍资料FontBold.T.FontSize14ForeName隶书PictureBgl.bmp标签控件AutoSize.T.BackStyle0-透明FontBold.T.ForeColor0,0,0FontSize16ForeName楷体GB_2312WordWrap.F.文本框控件FontSize12Height25BookMrHeight35Width320BookAbgHeight132Width168LblStausAutoSize.T.BackStyle1-不透明Caption在馆中续表3.9控件属性属性取值FontBold.T.FontSize16ForeName楷体GB_2312Txt图书编号ControlSourceBook.图书编号IMEMode1-打开IMEReadOnly.F.Txt图书名称ControlSourceBook.图书名称IMEMode1-打开IMEReadOnly.F.Txt图书类别ControlSourceBook.图书类别IMEMode1-打开IMEReadOnly.F.Txt图书作者ControlSourceBook.图书作者IMEMode1-打开IMEReadOnly.T.Txt购置日期ControlSourceBook.购置日期IMEMode2-关闭IMEReadOnly.F.Txt出版社ControlSourceBook.出版社IMEMode1-打开IMEReadOnly.F.Txt购置价格ControlSourceBook.购置价格IMEMode2-关闭IMEReadOnly.F.Txt购置价格ControlSourceBook.借阅次数IMEMode2-关闭IMEReadOnly.T.CmdrqCaption…SjOleRqVisible.F.3.4.3添加表单代码为了以便描述,系统主表单中的代码将分为三部分来简介,其中主表单中整个表单的代码和两个页面的代码将分开简介。3.4.3.1添加表单中的代码需要在系统主表单中添加4个属性“StuFM”、“StuOR”、“BookFM”和“BookOR”,分别用来识别表单中“学生信息”(StuPage)页面的状态,页面中的数据记录的指针的位置,“书籍信息”(BookPage)页面的状态和页面中数据记录指针的位置。在表单中添加完这4个属性后,将这4个属性初始值设为“cbrowse”、0、“cbrowse”和0。添加4个表单的措施属性“StuModeBrse”、“StuModeMody”、“BookModeBrse”和“BookModeMody”,分别用来使“学生信息”(StuPage)和“书籍信息”(BookPage)页面进入浏览和非浏览状态。“StuModeBrse”措施属性用来使“学生信息”(StuPage)页面进入浏览状态。“学生信息”(StuPage)页面的浏览状态是指页面中与数据绑定的控件中的数据处在不可编辑状态,“移动记录工具栏”处在可用状态,“命令按钮工具栏”中除了“保留”和“取消”按钮外都处在可用状态,“借还书”按钮处在可用状态。“StuModeBrse”措施属性的代码如下:*如下代码使“移动记录工具栏”可用THISFORM.PF.StuPage.Stumr.ENABLED=.T.*如下代码控制“命令按钮工具栏”中按钮的可用状态THISFORM.PF.StuPage.StuAbg.Cmdadd.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdmod.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmddel.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdser.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdpri.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdsave.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdcancel.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdexit.ENABLED=.T.*如下代码用来控制“学生信息”页面与数据绑定的控件状态THISFORM.PF.StuPage.Stuogp.ENABLED=.F.THISFORM.PF.StuPage.txt姓名.READONLY=.T.THISFORM.PF.StuPage.cmb系别.ENABLED=.F.THISFORM.PF.StuPage.txt班级.READONLY=.T.THISFORM.PF.StuPage.txt地址.READONLY=.T.THISFORM.PF.StuPage.txt电话.READONLY=.T.THISFORM.PF.StuPage.txt邮件.READONLY=.T.*如下代码用来控制“借还书”按按钮的可用状态THISFORM.PF.StuPage.CmdJh.ENABLED=.T.*如下代码用来控制表单中页面的可用状态THISFORM.PF.BookPage.ENABLED=.T.THIS.ENABLED=.T.“StuModeMody”措施属性用来使表单的“学生信息”(StuPage)页面进入非浏览状态,该页面的非浏览状态是指页面中与数据绑定的控件中的数据处在可修改状态,“移动记录工具栏”处在不可用状态,“命令按钮工具栏”中除了“保留”和“取消”按钮外其他按钮都处在不可用状态,“借还书”按钮处在可用状态,“书籍信息”页面处在不可用状态。“StuModeMody”措施属性的代码如下:*如下代码使“移动记录工具栏”不可用THISFORM.PF.StuPage.Stumr.ENABLED=.F.*如下代码控制“命令按钮工具栏”中按钮的可用状态THISFORM.PF.StuPage.StuAbg.Cmdadd.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdmod.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmddel.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdser.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdpri.ENABLED=.F.THISFORM.PF.StuPage.StuAbg.Cmdsave.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdcancel.ENABLED=.T.THISFORM.PF.StuPage.StuAbg.Cmdexit.ENABLED=.F.*如下代码用来控制“学生信息”页面与数据绑定的控件状态THISFORM.PF.StuPage.Stuogp.ENABLED=.T.THISFORM.PF.StuPage.txt姓名.READONLY=.F.THISFORM.PF.StuPage.cmb系别.ENABLED=.T.THISFORM.PF.StuPage.txt班级.READONLY=.F.THISFORM.PF.StuPage.txt地址.READONLY=.F.THISFORM.PF.StuPage.txt电话.READONLY=.F.THISFORM.PF.StuPage.txt邮件.READONLY=.F.*如下代码用来控制“借还书”按按钮的可用状态THISFORM.PF.StuPage.CmdJh.ENABLED=.F.*如下代码用来控制表单中页面的可用状态THISFORM.PF.BookPage.ENABLED=.F.THIS.ENABLED=.T.“BookModeBrse”措施属性用来使“书籍信息”(BookPage)页面进入浏览状态。“书籍信息”(BookPage)页面的浏览状态是指页面中与数据绑定的控件中的数据处在不可编辑状态,“移动记录工具栏”处在可用状态,“命令按钮工具栏”中除了“保留”和“取消”按钮外都处在可用状态,“借还书”按钮处在可用状态,“学生信息”(StuPage)页面处在可用状态。“BookModeBrse”措施属性的代码:*如下代码使“移动记录工具栏”可用THISFORM.PF.BookPage.Sjmr.ENABLED=.T.*如下代码使“...”按钮不可用THISFORM.PF.BookPage.CmdRq.ENABLED=.F.*如下代码控制“命令按钮工具栏”中按钮的状态THISFORM.PF.BookPage.SjAbg.Cmdadd.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdmod.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmddel.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdser.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdpri.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdsave.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdcancel.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdexit.ENABLED=.T.*如下代码控制页面中与数绑定的控件中数据的可编辑状态THISFORM.PF.BookPage.txt图书编号.READONLY=.T.THISFORM.PF.BookPage.txt图书名称.READONLY=.T.THISFORM.PF.BookPage.txt图书类别.READONLY=.T.THISFORM.PF.BookPage.txt图书作者.READONLY=.T.THISFORM.PF.BookPage.txt购置日期.READONLY=.T.THISFORM.PF.BookPage.txt出版社.READONLY=.T.THISFORM.PF.BookPage.txt购置价格.READONLY=.T.*如下代码用来控制表单中页面的可用状态THISFORM.PF.StuPage.ENABLED=.T.THIS.ENABLED=.T.“BookModeMody”措施属性用来使“书籍信息”(BookPage)页面进入非浏览状态,“书籍信息”(BookPage)页的非浏览状态是指页面中与数据绑定的控件中的数据处在可修改状态,“移动记录工具栏”处在不可用状态,“命令按钮工具栏”中除了“保留”和“取消”按钮外其他按钮都处在不可用状态,“购置日期”栏后的“...”按钮处在可用状态,“学生信息”页面处在不可用状态。“BookModeMody”措施属性的代码:*如下代码使“移动记录工具栏”不可用THISFORM.PF.BookPage.Sjmr.ENABLED=.F.*如下代码使“...”按钮可用THISFORM.PF.BookPage.CmdRq.ENABLED=.T.*如下代码控制“命令按钮工具栏”中按钮的状态THISFORM.PF.BookPage.SjAbg.Cmdadd.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdmod.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmddel.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdser.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdpri.ENABLED=.F.THISFORM.PF.BookPage.SjAbg.Cmdsave.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdcancel.ENABLED=.T.THISFORM.PF.BookPage.SjAbg.Cmdexit.ENABLED=.F.*如下代码控制页面中与数绑定的控件中数据的可编辑状态THISFORM.PF.BookPage.txt图书编号.READONLY=.T.THISFORM.PF.BookPage.txt图书名称.READONLY=.F.THISFORM.PF.BookPage.txt图书类别.READONLY=.F.THISFORM.PF.BookPage.txt图书作者.READONLY=.F.THISFORM.PF.BookPage.txt购置日期.READONLY=.F.THISFORM.PF.BookPage.txt出版社.READONLY=.F.THISFORM.PF.BookPage.txt购置价格.READONLY=.F.*如下代码用来控制表单中页面的可用状态THISFORM.PF.StuPage.ENABLED=.F.THIS.ENABLED=.T.添加完表单的属性后,由于系统中需要运用几种全局变量在表单中传递数据,因此需要在主表单中申明这几种全局变量。添加表单的Init事件代码如下:PUBLICStudentNO,StuTj,BookTj,DbName这几种全局变量的作用分别如下:“StudentNO”是当系统主表单调用“读者借书记录”表单时,向该表单传递系统主表单的“学生信息”页面中记录的学号值,以便让“读者借书记录”表单显示该学号的资料。“StuTj”和“BookTj”用在“学生信息”和“书籍信息”两个页面的“输入查询条件”表单和“查询成果”表单之间传递查询条件的值。“DbName”用在“学生信息”和“书籍信息”两个页面共用一种“选择打印类型”表单时,用于辨别该全局变量是应当打印那一张报表。4.4.3.2添加“学生信息”页面代码在“学生信息”(StuPage)被激活时,应当将“学生信息”(Student)数据表所在工作区作为表单的目前工作区,取消由其他表单设置的过虑条件,并且使页面进入浏览状态。添加“学生信息”页面的Activate事件代码如下:“学生信息”页面中的“系别”组合框中选择某一种系编号后,要在“名称”栏显示系统编号所代码的系别名称,由于在数据环境中将两者做了关连,因此在选择了某个系编号后只需要刷新表单即可。添加“cmb系别”组合框的Valid事件代码如下:THISFORM.PF.StuPgge.txt系别.REFRESH()“移动记录工具栏”中按钮的代码已经在类中创立,并且这些代码在各个表单中完全相似,不需要再另行添加。“命令按钮工具栏”中“增长”(Cmdadd)按钮的作用是先保留页中目前的记录号,标识表单的状态为新增状态,然后在表单的数据缓冲区新建一条记录,并且使目前页面进入非浏览状态。“增长”(Cmdadd)按钮的Click事件代码如下:SELECTStudentTHISFORM.StuOR=RECNO()GOBOTTOMAPPENDBLANKTHISFORM.StuModeMody()THISFORM.StuFM="cadd"THISFORM.PF.StuPage.txt学号.READONLY=.F.THISFORM.REFRESH()“命令按钮工具栏”中“修改”(Cmdmod)按钮的作用是保留页面在目前记录的记录号,标识表单的状态为修改状态,然后使表单中的目前页面进入非浏览状态。“修改”(Cmdmod)按钮的Click事件代码如下:THISFORM.StuFM="cmod"THISFORM.StuOR=RECNO()THISFORM.StuModeMody()THISFORM.REFRESH()“命令按钮工具栏”中“删除”(Cmddel)按钮的作用首先弹出确认对话框,假如确认则进行删除操作。由于本系统中学生的信息也会在别的数据表中出现,假如在该数据表中删除了学生的数据,而在其他数据表中保留会导致信息的多出与不便,因此本系统采用的方式是假如在“学生信息”数据表中删除了某一种学生的数据,则在其他的数据表(重要是指“读者借书记录”数据表)删除与该学生有关的一牢记录,不过假如该学生在删除时仍有未偿还的图书,系统将不容许删除。“删除”(Cmddel)按钮的Click事件代码如下:YN=MESSAGEBOX("确定删除",4+32,"图书管理系统")&&确认对话框IFYN=6&&假如确认THISFORM.StuOR=RECNO()&&保留记录指针位置SETEXACTON&&严格比较SELECTJyRecLOCATEFOR学号=ALLTRIM(THISFORM.PF.StuPage.txt学号.VALUE)ANDEMPTY(偿还日期)&&查找与否有未还图书IFFOUND()&&假如有MESSAGEBOX("该学生有未还书,不能删除",48,"图书管理系统")&&弹出对话框SELECTStudent&&回到原记录SETFILTERTOGOTHISFORM.StuORELSE&&假如没有未还书SELECTJyRec&&选择“读者借阅记录”所在的工作区GOTOP&&到数据表顶部DOWHILENOTEOF()&&删除与要删除的学生有关的借阅记录IF学号=ALLTRIM(THISFORM.PF.StuPage.txt学号.VALUE)DELETEPACKENDIFSKIPENDDOSELECTStudent&&在“学生信息”数据表中删除记录DELETEPACKMESSAGEBOX("删除成功",64,"图书管理系统")&&“删除成功”对话框SELECTStudentGOTOPENDIFTHISFORM.REFRESH()SETEXACTOFFENDIF“命令按钮工具栏”中“查询”(CmdSer)按钮的作用是调用“输入查询条件”表单,其Click事件代码如下:DOFORMStuSer“命令按钮工具栏”中“保留”(CmdSave)按钮的作用是检查表单中各数据栏中数据的输入完整状况,假如无误,则保留记录。“保留”(CmdSave)按钮的Click事件代码如下:LOCALOK&&申明一种当地变量OK=.T.&&假设各数据栏中数据无误DOCASECASEEMPTY(ALLTRIM(THISFORM.PF.StuPage.txt学号.VALUE))&&假如学号为空MESSAGEBOX("学号不能为空",48,"图书管理系统")THISFORM.PF.StuPage.txt学号.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.StuPage.txt姓名.VALUE)&&假如姓名为空MESSAGEBOX("姓名不能为空",48,"图书管理系统")THISFORM.PF.StuPage.txt姓名.SETFOCUS()OK=.F.CASEEMPTY(THISFORM.PF.StuPage.Cmb系别.VALUE)&&假如系别为空MESSAGEBOX("系别不能为空",48,"图书管理系统")THISFORM.PF.StuPage.Cmb系别.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.StuPage.txt地址.VALUE))&&假如地址为空MESSAGEBOX("地址不能为空",48,"图书管理系统")THISFORM.PF.StuPage.txt地址.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.StuPage.txt电话.VALUE))&&假如电话为空MESSAGEBOX("电话不能为空",48,"图书管理系统")THISFORM.PF.StuPage.txt姓名.SETFOCUS()OK=.F.ENDCASEIFOK=.T.&&假如各数据栏无误为空YN=MESSAGEBOX("确定保留",4+32,"图书管理系统")&&弹出确认对话框IFYN=6&&假如确认CanSave=TABLEUPDATE(.F.)&&试图保留IFCanSave=.F.&&假如保留失败MESSAGEBOX("学号错误",48,"图书管理系统")THISFORM.PF.StuPage.txt学号.SETFOCUS()ELSE&&假如保留成功MESSAGEBOX("保留成功",64,"图书管理系统")THISFORM.StuModeBrse()IFTHISFORM.StuFM="cmod"GOTHISFORM.StuORELSETHISFORM.PF.StuPage.txt学号.READONLY=.T.ENDIFENDIFTHISFORM.REFRESH()ENDIFENDIF“命令按钮工具栏”中“取消”(CmdCancel)按钮的作用是删除表单的数据缓冲区的数据,并使目前页面回到浏览状态。“取消”(CmdCancel)按钮的Click事件代码如下:YN=MESSAGEBOX("确定取消",4+32,"系统消息")IFYN=6TABLEREVERT(.F.)IFTHISFORM.StuFM="cadd"GOTHISFORM.StuORENDIFTHISFORM.StuModeBrse()THISFORM.PF.StuPage.txt学号.READONLY=.T.THISFORM.REFRESH()ENDIF“命令按钮工具栏”中“打印”(Cmdpri)按钮的作用是将“DbfName”全局变量赋值,表明要进行打印的是“学生信息”数据表,并调用“选择打印类型”表单。“打印”(CmdPri)按钮的Click事件代码如下:DbfName=”StuDbf”DOFORMPrintLX“命令按钮工具栏”中“退出”(Cmdexit)按钮的作用是弹出确认对话框,假如确认则是退出目前表单,清除事件循环并退出系统。“退出”(Cmdexti)按钮的Click事件代码如下YN=MESSAGEBOX("确定退出",4+32,"图书管理系统")IFYN=6THISFORM.RELEASE()CLEAREVENTSQUITENDIF“学生信息”页面中“借还书”(Cmdjh)按钮的作用是将页面中目前记录的“学号”值赋给全局变量“StudentNO”,并调用“读者借书记录”表单。“借还书”(Cmdjh)按钮的Click事件代码如下:StudentNO=ALLTRIM(THISFORM.PF.StuPage.txt学号.VALUE)DOFORMJyRec4.4.3.3添加“书籍信息”页面代码在“书籍信息”(BookPage)页面被激活时,表单中的目前数据工作期应当变为“图书信息”数据表所在的工作期,将也许由其他表单对该数据表设置的过虑条件去掉,同步要使该页面进入浏览状态。添加该页面的“Activate”事件代码由于该页面要在刷新表单时,显示表单中目前记录的书籍与否借出,故添加该页面的Refresh事件代码在“书籍信息”(BookPage)页面在通过添加的MonthView控件(SjOleRq)来输入图书的购置日期,在该页面处在非浏览状态时单击“...”按钮即可调用该控件。添加“...”(Cmdrq)按钮的Click事件代码如下:THISFORM.PF.BookPage.Sjolerq.VISIBLE=.T.“命令按钮工具栏”中“增长”(Cmdadd)按钮的作用是保留页面中数据记录的指针位置,将页面的状态标识为新增状态,再在表单事件缓冲区内新建一条记录,并使页面进入非浏览状态。“添加”(Cmdadd)按钮的Click事件代码如下:SELECTBookTHISFORM.SjOR=RECNO()GOBOTTOMAPPENDBLANKTHISFORM.SjFM="cadd"THISFORM.SjModeMody()THISFORM.PF.BookPage.txt图书编号.READONLY=.F.THISFORM.REFRESH()“命令按钮工具栏”中“删除”(Cmdadd)按钮的作用是弹出确认对话框,假如确认,则检查要删除的图书与否在库中,如查不在则弹出出错对话框,假如在库中则首先删除“读者借书记录”(Jyrec)数据表中的与要删除的图书有关的所有记录,再删除该图书记录,删除成功后弹出“删除成功”对话框。“删除”(Cmddel)按钮的Click事件代码如下:YN=MESSAGEBOX("确定删除",4+32,"图书管理系统")&&确认对话框IFYN=6&&假如确认THISFORM.SjOR=RECNO()&&保留记录号IFTHISFORM.PF.BookPage.LblStatus.CAPTION="借出中"&&假如该图书不在库中MESSAGEBOX("该图书尚未偿还",48,"图书管理系统")&&不能删除ELSE&&假如在库中SELECTJyRec&&对图书借阅登记表进行修改SETEXACTON&&精确比较GOTOP&&到数据表的顶部DOWHILENOTEOF()&&删除所有与要删除的图书有关的记录IF图书编号=ALLTRIM(THISFORM.PF.BookPage.txt图书编号.VALUE)DELETEPACKENDIFSKIPENDDOSELECTBook&&删除图书记录GOTHISFORM.SjORDELETEPACKMESSAGEBOX("删除成功",64,"图书管理系统")&&“删除成功”对话框SETEXACTOFFTHISFORM.REFRESH()ENDIFENDIF“命令按钮工具栏”中“查询”(CmdSer)按钮的作用是调用“输入查询条件”表单,该按钮的Click事件代码如下:DOFORMBookSer“命令按钮工具栏”中“保留”(CmdSave)按钮的作用是在单击按钮时,检查页面中数据的输入状况,假如无误则保留数据,并弹出“保留成功”对话框,否则指出错误,并将光标定位在错误处,等待顾客修改。“保留”(CmdSave)按钮的Click事件代码如下:LOCALOKOK=.T.DOCASECASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt图书编号.VALUE))&&假如图书编号为空MESSAGEBOX("图书编号不能为空",48,"图书管理系统")THISFORM.PF.BookPage.txt图书编号.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt图书名称.VALUE))&&假如图书名称为空MESSAGEBOX("图书名称不能为空",48,"图书管理系统")THISFORM.PF.BookPage.txt图书名称.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt图书类别.VALUE))&&假如图书类别为空MESSAGEBOX("图书类别不能为空",48,"图书管理系统")THISFORM.PF.BookPage.txt图书类别.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt图书作者.VALUE))&&假如图书作者为空MESSAGEBOX("图书作者不能为空",48,"图书管理系统")THISFORM.PF.BookPage.txt图书作者.SETFOCUS()OK=.F.CASEEMPTY(THISFORM.PF.BookPage.txt购置日期.VALUE)&&假如购置日期为空MESSAGEBOX("购置日期不能为空",48,"图书管理系统")THISFORM.PF.BookPage.txt购置日期.SETFOCUS()OK=.F.CASEEMPTY(ALLTRIM(THISFORM.PF.BookPage.txt出版社.VALUE))&&假如出版社为空MESSAGEBOX("出版社不能为空",48,"图书管理系统")THISFORM.PF.BookPage.txt出版社.SETFOCUS()OK=.F.CASETHISFORM.PF.BookPage.txt购置价格.VALUE<=0&&假如购置价格不不小于或者为0MESSAGEBOX("购置价格错误",48,"图书管理系统")THISFORM.PF.BookPage.txt购置价格.SETFOCUS()OK=.F.ENDCASEIFOK=.T.&&假如各数据项无误YN=MESSAGEBOX("确定保留",4+32,"图书管理系统")&&确认对话框IFYN=6&&假如确认SaveOk=TABLEUPDATE(.F.)&&试图保留IFSaveOk=.T.&&假如保留成功MESSAGEBOX("保留成功",64,"图书管理系统")THISFORM.SjModeBrse()THISFORM.PF.BookPage.txt图书编号.READONLY=.T.ELSE&&假如保留失败MESSAGEBOX("图书编号错误",48,"图书管理系统")THISFORM.PF.BookPage.txt图书编号.SETFOCUS()ENDIFENDIFENDIF“命令按钮工具栏”中“取消”(CmdCancel)按钮的作用是将表单的数据缓冲区的数据删除并使表单回到浏览状态。“取消”(CmdCancel)按钮的Click事件代码如下:YN=MESSAGEBOX("确定取消",4+32,"系统消息")IFYN=6TABLEREVERT(.F.)IFTHISFORM.SjFM="cadd"GOTHISFORM.SjORENDIFTHISFORM.SjFM="cbrowse"THISFORM.SjModeBrse()THISFORM.PF.BookPage.txt图书编号.READONLY=.T.THISFORM.REFRESH()ENDIF“命令按钮工具栏”中“打印”(Cmdpri)按钮的作用是将全局变量“DbfName”赋值,并调用“选择打印类型”表单。“打印”(Cmdpri)按钮的Click事件代码如下:DbfName=”BookDbf”DOFORMPrintLX“命令按钮工具栏”中“退出”(Cmdexit)按钮的作用是弹出确认对话框,假如确认则退出目前表单,清除事件循环并退出系统。“退出”(Cmdexit)按钮的Click事件代码如下:YN=MESSAGEBOX("确定退出",4+32,"图书管理系统")IFYN=6THISFORM.RELEASE()CLEARQUITENDIF3.4.4系统主表单的辅助表单重要包括“学生信息”页面和“图书信息”页面的查询功能和一种“选择打印类型”表单。3.4.4.1创立“学生信息”“学生信息”(StuPage)页面的查询功能由“输入查询条件”和“学生信息查询成果”表单构成。下面简介这两个表单的创立过程。(1)创立“输入查询条件”表单“输入查询条件”表单用来向顾客搜集要查询的条件,查询的条件可以是根据某一种字段进行查询,也可以指定多种查询条件,这些条件将以“AND”连接,然后根据条件查询。在“表单设计器”中创立一种表单作为“输入查询条件”表单,命名为“StuSer”。创立好的“输入查询条件”表单效果如右图所示。在表单中添加4个标签控件、4个文本框控件和2个按钮控件,设置表单及其控件的属性如表3.10所示。表3.10“输入查询条件”(StuSer)表单控件属性设置控件属性属性取值StuSerAutoCenter.T.BorderStyle2-固定对话框ControlBox.F.Caption输入查询条件Closable.F.Hight200Width300NameStuSerMdiForm.T.MaxButton.F.MinButton.F.ShowWindow1-在顶层表单中ShowTips.T.windowType1-模式标签控件AutoSize.T.BackStyle0-透明FontBold.T.FontSize16ForeColor255,0,0FontName楷体GB_2312WordWarp.F.文本框控件FontSize12Hight25Width240按钮控件FontBold.T.FontSize16FontName楷体GB_2312Hight30续表3.10控件属性属性取值Width50Txt姓名IMEMode1-打开IMETxt邮件IMEMode2-关闭IMETxt地址IMEMode1-打开IMECmdSerCaption查询Default.T.ToolTipText执行查询CmdextCaption退出Cancel.T.ToolTipText取消查询该表单中的作用是向顾客搜集查询条件,而这个作用也重要由“查询”(CmdSer)按钮来完毕,当顾客单击该按钮时检查表单的文本框中数据的输入状况,假如文本框中有数据则将该文本框中的数据作一种查询条件,假如有多种查询条件则用“AND”将这些条件连接起来,然后调用“学生信息查询成果”表单。“查询”(CmdSer)按钮的Click事件代码如下:StuTJ=".T."IFNOTEMPTY(ALLTRIM(THISFORM.txt学号.VALUE))&&假如学号栏非空StuTJ="'"+ALLTRIM(Thisform.txt学号.Value)+"'$学号"ENDIFIFNOTEMPTY(ALLTRIM(THISFORM.txt姓名.VALUE))&&假如姓名栏非空StuTJ=StuTJ+"AND"+"'"+ALLTRIM(THISFORM.txt姓名.VALUE)+"'$姓名"ENDIFIFNOTEMPTY(ALLTRIM(THISFORM.txt邮件.VALUE))&&假如邮件栏非空StuTJ=StuTJ+"AND"+"'"+ALLTRIM(THISFORM.txt邮件.VALUE)+"'$邮件"ENDIFIFNOTEMPTY(ALLTRIM(THISFORM.txt地址.VALUE))&&假如地址栏非空StuTJ=StuTJ+"AND"+"'"+ALLTRIM(THISFORM.txt地址.VALUE)+"'$地址"ENDIFTHISFORM.RELEASE()DOFORMStuSerout“退出”(Cmdext)按钮的作用是退出目前表单,其Click事件代码如下:THISFORM.RELEASE()(2)创立“学生信息查询成果”表单“学生信息查询成果”表单用来显示“学生信息”数据表中符合查询条件的记录。在“表单设计器”中创立一种表单作为“学生信息查询成果”表单,命名为StuSerout。创立好的表单效果如右图所示。将“学生信息”(Student)数据表和“系别信息”(Xibie)数据表添加到表单的数据环境中,并用“系别信息”(Xibie)数据表的“系编号”字段与“学生信息”(Student)数据表的“系别”索引建立关系。在表单中添加1个标签控件、1个表格控件和2个按钮控件。其中表格控件可以用“表格生成器”来创立,运用表格生成器创立完毕后将“系别”列的数据源更改为“Xibie.名称”。表格的属性与“输入查询添加”的表单属性大体相似,这里不再反复列举。要使表单中只显示符合查询条件的记录,需要在对表单的数据环境设置过虑条件,此外假如没有符合查询条件的记录,则“打印”按钮不可用,添加表单的Init事件代码如下:SELECTStudentSETFILTERTO&StuTJCOUNTFOR&StuTJTOnNumberIFnNumber=0THISFORM.Cmdpri.ENABLED=.F.ENDIF表单中的“打印”(Cmdpri)按钮的作用是将查询成果以报表的形式输出,并以浏览的方式查看打印成果。添加“打印”(Cmdpri)按钮的Click事件代码如下:REPORTFORMStuInfoFOR&StuTJPREVIEW表单中的“退出”(CmdExt)按钮的作用是弹出确认对话框,假如确认则退出表单,并取消数据环境设置的过虑条件。“退出”(CmdEx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024高中语文第二单元置身诗境缘景明情自主赏析梦游天姥吟留别学案新人教版选修中国古代诗歌散文欣赏
- 2024高考化学一轮复习第十一章有机化学基础第三讲烃的含氧衍生物规范演练含解析新人教版
- 2024高考地理一轮复习第七章区域产业活动第24讲工业区位因素与工业地域联系教案湘教版
- DB42-T 2341-2024 综合管廊顶管工程技术规程
- 二零二五年版环保建材板材买卖合同范本3篇
- 2024年海南经贸职业技术学院高职单招语文历年参考题库含答案解析
- 2024年海南体育职业技术学院高职单招语文历年参考题库含答案解析
- 危险化学品典型案例课件
- 2024年河南对外经济贸易职业学院高职单招职业适应性测试历年参考题库含答案解析
- 二零二五年城市夜景照明设施改造与维护服务合同范本3篇
- 航空航天锻铸造行业深度报告
- ABB-XE系列电磁流量计操作手册
- 付款通知确认单
- 汽机油管道安装方案指导
- 2022年中国城市英文名称
- 下肢皮牵引护理PPT课件(19页PPT)
- 电 梯 工 程 预 算 书
- 参会嘉宾签到表
- 形式发票格式2 INVOICE
- 2.48低危胸痛患者后继治疗评估流程图
- 人力资源管理之绩效考核 一、什么是绩效 所谓绩效简单的讲就是对
评论
0/150
提交评论