1 / 17

授课 -16 图书系统表单制作

授课 -16 图书系统表单制作. 本课通过讲授几个图书系统表单制作的实例,提高同学们解决实际问题的能力。. 16.1 办理借书表单 16.2 办理还书表单 16.3 查看借书情况表单 16.4 成批录入图书表单. 16.1 办理借书表单. 【 学习目标 】 办理借书表单的制作 【 关键方法 】 SQL-SELECT 命令的应用. 【 任务 】 设计制作“办理借书”表单 【 解决任务 】 1. 设计思路 在“项目 TS” 中创建表单(用表单设计器),以 TSJS 为名保存。

Download Presentation

授课 -16 图书系统表单制作

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 授课-16 图书系统表单制作 本课通过讲授几个图书系统表单制作的实例,提高同学们解决实际问题的能力。 16.1 办理借书表单 16.2 办理还书表单 16.3 查看借书情况表单 16.4 成批录入图书表单

  2. 16.1 办理借书表单 • 【学习目标】 • 办理借书表单的制作 • 【关键方法】 • SQL-SELECT命令的应用

  3. 【任务】 设计制作“办理借书”表单 • 【解决任务】 • 1. 设计思路 • 在“项目TS”中创建表单(用表单设计器),以TSJS为名保存。 • 设置表单TSJS相关的属性,使其成为在顶层表单中,运行时居中。 • 按图6A所示,在表单TSJS中添加两个“表格”控件,并将左表中放入DZB的姓名、证号两字段,右表中放入TSB的编码、书名、作者、数量四字段。设置表格的只读属性。 • 按图6A所示,在表单中用数据 • 环境施放“证号”、“编码”两个 • 字段。添加施放“确认借书”、 • “退出”两个按钮。最后,施放 • 一些标签,用以表明表单的标 • 题和提示办理借书的方法。 • 运行中的表单, 见图6A。 图6A

  4. 2. 属性设置 • (1)表单 Form1的属性 • AutoCenter 为 .T. • ShowWindow 为 1—在顶层表单中 • (2)表格Grid1、 Grid2的属性 • ReadOnly 为 .T. • 其它一些属性按图6A自行设置。 • 3. 事件代码 • (1)表格Grid1、 Grid2的AfterRowColChange • 添加:THISFORM.REFRESH

  5. (2) “确认借书”按钮的Click • ZHH=ALLT(THISFORM.TXT证号.VALUE) • BMM=ALLT(THISFORM.TXT编码.VALUE) • SELE DIST 数量 FROM TSK!TSB WHER 编码=BMM INTO ARRA TSL • SELE COUNT(*) FROM TSK!JYB WHER 证号=ZHH AND 还书日期={ } GROUP BY 证号 INTO ARRA JSL • JSR=DATE() • SELE MIN(借书日期) FROM TSK!JYB WHER 证号=ZHH AND 还书日期={ } GROUP BY 证号 INTO ARRA JSR • DO CASE • CASE TSL(1) =0 • MESSAGEBOX(' 对不起,因为该书已借完,'+CHR(13)+CHR(13)+'无法为您办理,请原谅!',64,'提示') • CASE JSL(1) >=5 • MESSAGEBOX(' 对不起,因为您借书已有 5本,'+CHR(13)+CHR(13)+'按规定无法为您办理,请原谅!',64,'提示')

  6. CASE DATE()-JSR(1) >91 • MESSAGEBOX(' 对不起,因为您借的书有的超出91天未还,'+CHR(13)+CHR(13)+'按规定无法为您办理,请原谅!',64,'提示') • OTHE • X=MESSAGEBOX('确认读者[&ZHH.]所借图书的编码是:&BMM. 吗?',1+32,'提示') • IF X=1 • INSE INTO JYB(证号,编码,借书日期) VALUES (ZHH,BMM,DATE()) • UPDA TSB SET 数量 = 数量-1 WHER 编码=BMM • MESSAGEBOX('已办理成功!',64,'提示') • ELSE • MESSAGEBOX('此项借书操作已取消!',64,'提示') • ENDI • ENDC • thisform.refresh

  7. 16.2 办理还书表单 • 【学习目标】 • 办理还书表单的制作 • 【关键方法】 • 视图的制作 • SQL-UPDATE命令的应用

  8. 【任务】 设计制作“办理还书”表单 • 【解决任务】 • 1. 设计思路 • 在“项目TS”中创建表单(用表单设计器),以TSHS为名保存。 • 设置表单TSJS相关的属性,使其成为在顶层表单中,运行时居中。 • 按图6B所示,在表单TSHS中添加一个“表格”控件,并将表中放入视图HSV的证号、姓名、编码、书名、借书日期、还书日期等字段。设置表格的只读属性。 • 按图6B所示,在表单中用数据 • 环境施放“证号”、“编码”等四 • 字段。添加施放“确认还书”、 • “退出”两个按钮。最后,施放 • 一些标签,用以表明表单的标 • 题和提示办理还书的方法。 • 运行中的表单, 见图6B。 图6B

  9. 2. 属性设置 • (1)表单 Form1的属性 • AutoCenter 为 .T. • ShowWindow 为 1—在顶层表单中 • (2)表格Grid1的属性 • ReadOnly 为 .T. • 其它一些属性按图6B自行设置。 • 3. 事件代码 • (1)表格Grid1的AfterRowColChange • 添加:THISFORM.REFRESH

  10. (2) “确认还书”按钮的Click • IF THISFORM.TXT还书日期.VALUE={ } • ZHH=ALLT(THISFORM.TXT证号.VALUE) • BMM=ALLT(THISFORM.TXT编码.VALUE) • X=MESSAGEBOX('确认读者[&ZHH.]还的图书编码是:&BMM. 吗?',1+32,'提示') • IF X=1 • UPDA TSK!HSV SET 还书日期=DATE() WHER 编码=BMM AND 证号=ZHH • UPDA TSK!TSB SET 数量 = 数量+1 WHER 编码=BMM • MESSAGEBOX('已办理成功!',64,'提示') • ELSE • MESSAGEBOX('已取消!',64,'提示') • ENDI • ELSE • MESSAGEBOX('该书已归还!',64,'提示') • ENDI • thisform.refresh

  11. 16.3 查看借书情况表单 • 【学习目标】 • 查看借书情况表单的制作 • 【关键方法】 • 一对多表单向导的使用

  12. 【任务】 设计制作“查看借书情况”表单 • 【解决任务】 • 设计制作 • 在“项目TS”中创建表单(用一对多表单向导),完成后,以TSKJ为名保存。 • 按图6C所示,在使用表单向导制作过程中,父表为DZB,并选用表中的证号、姓名、部门、电话等字段;子表为JSV视图,并选用表中的编码、书名、作者、出版社、单价、借书日期、 • 还书日期、书号等字段。 • 按图6C所示,进行表单的 • 重新布局和美化工作。 • 运行中的表单, 见图6C。 图6C

  13. 16.4 成批录入图书表单 • 【学习目标】 • 成批录入图书表单的制作 • 【关键方法】 • VFP应用程序的编写

  14. 【任务】 设计制作“成批录入图书”表单 • 【解决任务】 • 可将电子表格的图书数据成批录入到数据库,提高工作效率。 • 1. 设计思路 • 在“项目TS”中创建表单(用表单设计器),以TSPL为名保存。 • 设置表单TSPL相关的属性,使其成为在顶层表单中,运行时居中。 • 按图6D所示,在表单TSPL中添加一个“列表框”控件。 • 按图6D所示,在表单中施放 • “转换和导入”、 “退出”两个 • 按钮。施放 一些标签,用以 • 表明表单的标 题和提示操作 • 方法。 • 运行中的表单, 见图6D。 图6D

  15. 2. 属性设置 • 表单 Form1的属性 • AutoCenter 为 .T. • ShowWindow 为 1—在顶层表单中 • 其它一些属性按图6D自行设置。 • 3. 事件代码 • (1)列表框LIST1 的INIT事件代码: • LIST1 INIT: • PUBL KB • public arl[ 1] • =ADIR(arl,"tsb*.XLS") • =ASORT(arl) • thisform.list1.Rowsourcetype=5 • thisform.list1.Rowsource="arl" • (2)列表框LIST1 的CLICK事件代码: • KB=THIS.VALUE

  16. (3) “转换和导入”按钮的Click事件代码 • KBB=ALLT(KB) • KBX=KBB+' TYPE XL5' • SELE E • USE TSB • COPY STRU TO YTSB • USE • SELE F • USE YTSB • APPE FROM &KBX • DELE RECO 1 • PACK • BROW NOAP NODE NOED • USE • X=MESSAGEBOX('你已将表: &KBB. 电子表的数据成功转换!'+CHR(13)+CHR(13)+; • '你确认将表: &KBB. 数据添加到本系统的表[TSB]中吗?',1+32,'提示') • IF X=1 • SELE E • USE TSB • SELE F • USE YTSB • GO TOP

  17. DO WHIL !EOF() • SCAT TO BA • SELE E • LOCA FOR 书号=BA(2) • IF FOUND() • REPL 数量 WITH 数量+F.数量 • ELSE • INSE INTO TSK!TSB FROM ARRA BA • ENDI • SELE F • SKIP • ENDD • DELE ALL • PACK • USE • SELE E • USE • X1=MESSAGEBOX('你已将表: &KBB. 数据成功添加到本系统的表[TSB]中了!'+CHR(13)+CHR(13)+; • '想浏览一下吗?',1+32,'提示') • IF X1=1 • USE TSB • BROW NOAP NODE NOED • USE • ENDI • ELSE • MESSAGEBOX('取消本次添加操作!',64,'提示') • ENDI - 结束 -

More Related