




已阅读5页,还剩105页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十讲表操作 二 一数据表的排序 索引与查询 对于数据表的一些操作是按照数据表中的记录顺序进行的 例如数据的显示 查询 数据表中记录的初始顺序是按照记录的输入顺序排列的 为了加快和实现一些数据表操作 常常需要先对数据表进行排序或索引操作 数据表的排序 排序 根据表的指定字段中数据项的大小重排记录物理顺序 命令格式 SORTTO新表文件名ON字段名 A D C 字段名2 A D C 范围 FIELDS字段名表 FOR条件 WHILE条件 排序后将产生一个新的数据表 其记录按新的顺序排列 但原文件不变 排序中所依据的字段称为排序关键字 数据大小的比较规则 如果是数值型 日期型的数据进行比较 则由其本身的大小决定 字符型数据由其ASCII码值确定 汉字由机内码确定大小 例 USE学生 SORTTOcjbON入学成绩 USEcjb LIST 缺点 1 产生新的表文件 与原表内容相同造成数据冗余 2 新表与旧表的内容不能自动保持同步 如果对数据表文件进行增 删 改操作时 需要重新进行排序 数据表的索引 索引 根据索引表达式的值使数据表中的记录有序排列 在VisualFoxPro系统中是借助于索引文件实现的 索引实际上是一种逻辑排序 它不改变数据表中数据的物理顺序 而是另外建立一个记录号列表 按成绩降序排列 索引文件 注 目前我们接触到的都是普通索引 关于不同索引的其他区别和使用以后介绍 索引类型 VisualFoxPro系统提供了四种不同的索引类型 它们分别是 主索引 候选索引 普通索引和唯一索引 主索引 候选索引 关键字中的字段值唯一 普通索引 关键字中的字段值可以重复 唯一索引 关键字中的字段值可以重复 但是忽略第一个以后的重复记录 索引文件类型 1 单索引文件 扩展名为 IDX 每一个数据表可以建立多个相关的索引 每个索引单独存放在一个独立的文件中 形成单索引文件 如果想使用或保持索引更新 在作数据表修改时 必须打开对应的单索引文件 2 复合索引文件 扩展名为 CDX 可以在同一个复合索引文件中包含多个索引 其中每个索引标记为一个索引标识 从而可以打开一个单独文件并打开多个索引标识 文件名与表名相同复合索引文件的称为结构复合索引 并随数据表自动打开 1 利用命令创建索引 格式1 建立 IDX索引文件 INDEXONTO FOR UNIQUE ADDITIVE COMPACT USE学生 INDEXON入学成绩TORXCJ LIST LIST 例 说明 1 UNIQUE 只取相同值的第一条记录参加索引 2 ADDITIVE 不关闭已经打开的索引 建立索引文件 INDEXONTAG OF FOR ASCENDING DESCENDING ADDITIVE UNIQUE 格式2 建立 CDX索引文件 USE学生 INDEXON出生年月TAGCSNY LIST LIST 例 多字段索引的操作技巧 建立索引时 当涉及到两个或两个以上的不同类型的字段时 学号 c 入学总分 n 出生日期 d Indexon学号 str 入学总分 5 1 dtoc 出生日期 1 tagx1 学号 c 入学总分 n 出生日期 d Indexon学号 str 入学总分 5 1 dtoc 出生日期 1 tagx1desc 学号 c 入学总分 n 出生日期 d Indexon学号 str 1000 入学总分 5 1 dtoc 出生日期 1 tagx1 学号 c 入学总分 n 出生日期 d Indexon学号 str 入学总分 5 1 str date 出生日期 tagx1desc 1 顺序若相同 则将非字符型转换为字符型 然后用 连接成一个字符表达式 2 若非字符字段的顺序与字符型不同 则通过运算将其数据顺序转换后 再转化为字符型 然后用 连接成一个字符表达式 2 利用表设计器可以对已有的表创建索引 要使用索引必须完成以下步骤 打开表 打开索引文件 确定主控索引文件 说明 1 对于复合索引文件还必须确定主控索引 2 在一些默认情况下 可以省略部分步骤 索引的使用 打开索引文件 利用命令打开 或SETINDEXTO ADDITIVE USEINDEX SETORDERTO TAG ASCENDING DESCENDING 说明 1 结构复合索引能随表的打开而打开 但还必须确定主控索引 1 先对 IDX进行编号 然后是结构 CDX中的索引标记 最后是独立 CDX文件中的索引标记 2 如果的值为零或被省略 则记录将按记录号的顺序访问和显示 对于打开的多个索引 可以通过下面的命令指定主控索引 2 的值表示该索引在中的顺序号 其规则为 USE学生INDEXRXCJ LIST 例 SETORDERTOTAGCSNY 出生年月为主控索引 LIST SETORDERTORXCJ 入学成绩为主控索引 SETORDERTO2 索引序号2为主控索引 LIST LIST SETORDERTO1 索引序号1为主控索引 LIST SETORDERTO 恢复原记录顺序 LIST 关闭索引文件 要关闭已经打开的索引文件 可以利用命令 SETINDEXTO 或CLOSEINDEXES 重建索引 如果要更新修改数据表后打开的索引 需要用命令重建索引 REINDEX 或CLOSEALL 删除索引 删除索引标识 DELETETAG OF OF 删除索引文件 或 DELETEALL OF ERASE DELETEFILE 索引的使用说明 1 要使用索引 必须同时打开表与索引文件 索引文件不能脱离所依赖的数据表文件而单独使用 一个表可以同时打开多个索引文件 同一个复合索引文件中也可能包含多个索引标识 但任何时候只有一个索引能起作用 数据表文件只按主控索引文件或主控索引的顺序处理各记录 当前起作用的索引文件称为主控索引文件 当前起作用的索引标识称为主控索引 索引的使用说明 2 结构化复合索引文件将随着数据表文件的打开而自动打开 其它索引文件则需要使用索引文件的打开命令 若主控索引文件为复合索引文件 则记录处理的次序仍按各记录实际存放的顺序 只有用ORDER命令指定主控索引后 才按主控索引的次序处理记录 对数据表文件进行增 删 改操作时 系统会自动修改所有打开的索引文件 对数据表指针的移动除了 GOn 命令以外 都按照索引后的顺序进行 专门移动指针的命令 GOnGOTOPGOBOTTOMSKIP 在处理的同时移动指针的命令 DISPLISTAPPENDBALNKINSERTBLANK BEFORE REPLACE WITH LOCATEFOR CONTINUE SCAN ENDSCAN 知识小结 二 数据表的记录查询 所谓查询 即按照指定条件在表中查找所需的记录 1 顺序查询命令 顺序查询命令包括LOCATEFOR和CONTINUE两条命令 命令格式 LOCATEFOR WHILE CONTINUE CONTINUE USE学生 LOCATEFOR性别 男 例 DISP CONTINUE DISP CONTINUE DISP 说明 1 该命令在数据表的指定范围内查找满足条件的记录 并在查询中顺序移动指针 如果找到 则指针指向该记录 否则指针最后指向数据表末尾或指定范围末尾 3 LOCATEFOR命令始终只能查到满足的第一条记录 要继续往下查找必须用CONTINUE命令 2 缺省表示ALL 4 CONTINUE命令不能单独使用 2 索引查询命令 索引查询速度快 但需要事先对数据表按查询的关键字进行索引 SEEK和FIND两条命令均可用来进行索引查询 命令格式 SEEK FIND 功能 在已确定主控索引的表中按索引关键字搜索满足值 SEEK命令 或字符串 数值常量 FIND命令 的第一条记录 USE读者 INDEXON读者姓名TOXM 例 LIST SEEK 李斯 DISP FIND武金 DISP A 王莎莎 SEEKA DISP FIND A DISP 关于SEEK命令和FIND命令 SEEK和FIND都只能对当前索引的关键字段进行查询 SEEK和FIND都会在整个数据表内按照索引顺序查找第一条满足条件的记录 无范围设定 无法查找多条同值记录 如果找到指针指向该记录 如果没有找到 指针指向数据表结束位置 EOF 返回值为真 SEEK和FIND都支持不精确查找 除非设定了SETEXACTON 3 基于数据表的扫描查询循环 P146 格式 SCAN FOR WHILE LOOP EXIT ENDSCAN 说明 1 该循环对数据表中的满足条件的记录从上到下逐个进行指定的处理 2 指定对当前表中记录扫描的范围 只有在范围之内的记录才有可能扫描到 SCAN命令的默认范围为ALL 3 FOR 只有条件表达式的计算结果为 T 的记录 才能对其执行循环体内的语句 如果没有条件子句 则默认对所有记录逐条进行处理 4 WHILE 指定一个逻辑表达式作为执行命令的条件 只要逻辑表达式计算为 T 就对记录执行命令 直到遇到使表达式不为 T 的记录为止 程序例 逐条显示 学生 数据表中男生的记录内容 USE学生SCANFOR性别 男 DISPWAITENDSCANCLOSEALL USE学生LOCATEFOR性别 男 DOWHILENOTEOF DISPWAITCONTINUEENDDOCLOSEALL USE学生DOWHILENOTEOF LOCATEFOR性别 男 DISPWAITCONTINUEENDDOCLOSEALL 条件循环GOTOP LOCATEFOR DOWHILENOTEOF 处理一个记录 CONTINUE SKIP ENDDO 扫描循环SCAN FOR 处理一个记录 ENDSCAN 例 查询读者表中的男女会员人数 CELARSTORE0TOx yUSE读者SCANFOR是否会员IF性别 男 x x 1ELSEy y 1ENDIFENDSCAN 男会员有 STR x 2 人 女会员有 STR y 2 人 CLOSEALLRETURN LOACTEFOR是否会员DOWHILENOTEOF CONTINUEENDDO 记录查询小结 下列语句或方法都可以用于指定数据表中的记录 条件子句 FOR WHILE 范围子句 ALL RECORD n NEXT n REST 顺序查找命令 LOCATEFOR CONTINUE 索引搜索命令 SEEK 和FIND 条件子句和范围子句可以指定一批满足条件的记录 索引搜索只能查找到范围内的第一条满足条件的记录 顺序查询和扫描循环适合于多个记录的模糊条件查询 索引搜索适用于单个记录的精确查找 SEEK语句支持表达式的搜索 FIND语句只能使用数值常量和字符串常量 扫描循环语句 SCAN ENDSCAN 例6 2 在读者信息表中为性别字段建立普通索引 并利用该索引查找并显示出所有女读者信息 Setorderto性别Find女 表单Form1的Init事件代码 Ifeof messagebox 没有满足条件的记录 elseskipif性别 女 thisform refreshelsemessagebox 已查询完毕 this enabled f skip 1thisform refreshendifendif Find和Seek没有配套的继续查询的命令 下一条 按钮的Click事件代码如下 EXM1 设计如图所示表单 在组合框中选择任一出版社 在编辑框中显示该出版社的图书的书名 价格和数量 thisform edit1 value 书名价格数量 cbs alltrim bo1 value scanforalltrim 出版社 cbsx 书名 space 2 str 价格 5 1 str 数量 4 thisform edit1 value thisform edit1 value chr 13 xendscanthisform refresh 组合框combo1的Interactivechange事件代码 方法1 thisform edit1 value 书名价格数量 cbs alltrim bo1 value locateforalltrim 出版社 cbsDowhilenoteof x 书名 space 2 str 价格 5 1 str 数量 4 thisform edit1 value thisform edit1 value chr 13 xcontinueenddothisform refresh 组合框combo1的Interactivechange事件代码 方法2 EXM2 设计如图所示表单 在编辑框中显示所有读者的姓名 办证日期 单位和联系电话 thisform edit1 value 读者姓名办证日期单位联系电话 Dowhilenoteof x 读者姓名 space 2 dtoc 办证日期 space 2 单位 space 2 联系电话thisform edit1 value thisform edit1 value chr 13 xskipenddothisform refresh 命令按钮command1的click事件代码 方法1 thisform edit1 value 读者姓名办证日期单位联系电话 scanx 读者姓名 space 2 dtoc 办证日期 space 2 单位 space 2 联系电话thisform edit1 value thisform edit1 value chr 13 xendscanthisform refresh 命令按钮command1的click事件代码 方法2 gotopdowhilnoteof 处理一个记录skipenddo scan处理一个记录endscan 条件循环 扫描循环 数据来源于读者 dbf表 打开表 定义数据环境 对表中的每一条记录进行逐条扫描用循环对每条记录做同样的处理 在编辑框中输出记录 数据表扫描循环的三要素 循环变量 记录指针 初值为1 gotop循环条件 记录指针没有到文件结束noteof 循环条件的改变 记录指针逐条后移skip 三 数据表的运算 统计记录个数 数值字段求和与平均值 多功能计算命令 分类汇总 Sum英语 计算机 数学 英语 计算机 数学toyy1 jsj1 sx1 zf1Average英语 计算机 数学 英语 计算机 数学toyy2 jsj2 sx2 zf2CounttorsCalculatesum 计算机 avg 英语 cnt max 英语 计算机 数学 min 数学 tojsj3 yy3 zf3 sx3 纵向求和 纵向求平均 统计记录数 85 82 76 70 95 63 40 70 83 1 统计记录个数 格式 COUNT TO FOR WHILE 功能 统计当前数据表中满足条件的记录的个数 并将统计结果输出到状态栏或指定变量中 USE读者 COUNTTOnrsFOR性别 男 例 nrs 说明 默认的范围为 ALL 2 数值字段求和与平均值 格式 SUM AVERAGE TO FOR WHILE 功能 对指定数值字段进行求和或求平均值计算 并将结果输出到状态栏或指定变量中 USE图书 SUM数量TOhjFOR出版社 清华大学出版社 例 hj pj 说明 1 默认的范围为 ALL 2 如果不指定具体的字段 则对数据表中的所有数值字段计算 AVERAGE单价TOpj 3 多功能计算命令 格式 CALCULATE TO FOR WHILE 功能 对指定字段按函数功能进行计算 并将结果输出到状态栏或指定变量中 USE图书 CALCULATECNT MAX 单价 MIN 单价 AVG 单价 TOsl zgj zdj pjj 例 sl zgj zdj pjj CALCULATEMAX 单价 TOx2 4 分类汇总 格式 TOTALTOON FOR WHILE 功能 对当前数据表中的指定数值字段依照指定索引字段进行分类汇总计算 并将结果输出到另外一个新建的数据表中保存 USE图书 TOTALON出版社TOhzFIELDS数量 例 USEhz 说明 1 一般情况下 在进行分类汇总之前 需要按照关键字段进行排序或建立索引 2 如果不指定具体的求和字段 则对数据表中的所有数值字段汇总 3 在产生的新数据表中 非汇总字段的内容为该类别的第一个记录的内容 INDEXON出版社TAGcbs LIST出版社 数量 例6 9 计算图书表中每个出版社的图书数量 注 关于表单中表格的设置 见教材P124 126 setsafetyoffuse图书indexon出版社tagcbstotaltoslon出版社fields数量useslcopytosl1fields出版社 数量usethisform grid1 recordsourcetype 0thisform grid1 recordsource sl1 setsafetyon 表单Form1的Init事件代码如下 EXM3 有如下数据表jf dbf 按性别汇总积分 indexon性别tagxbtotalon性别tohzfields积分usehzthisform grid1 recordsource hz thisform refresh 命令按钮的click事件代码 表单的load事件代码 Closeall 四 多个数据表联合操作 P132 数据工作区 一个工作区是一个编号区域 每一个工作区中可以打开一个表 1 工作区的标记 每个工作区只允许打开一个表 而且一个表只能在一个工作区打开 系统默认的工作区为1 工作区别名 前十个工作区除了可用1 10来标识外 还可用A J来表示工作区的别名 还可以用ALIAS定义表的别名 例 USE读者ALIASDZB 通过使用工作区号和工作区别名来标识 2 选择工作区 SELECT 说明 1 其中的可以是工作区的别名 也可以是工作区打开表的别名 2 SELE0表示选定当前尚未使用的最小号工作区 由于VFP的默认操作只对当前工作区中的数据表起作用 如果要操作其它工作区中的数据表 则需要通过命令实现工作区之间的切换 例 SELECTASELECT1SELECT读者SELECTDZB 可以通过引用格式引用非当前工作区表的字段 必须冠以工作区名或数据表别名 引用格式为 工作区别名 字段名或工作区别名 字段名 下面的命令能在指定的工作区打开表 但不改变当前工作区 USEIN 3 在当前工作区中操作其他工作区的数据表 USE读者 SELECT2 例1 UES图书 DISP姓名 B 书名 USE读者 例2 UES图书IN2 DISP姓名 B 书名 SELECT1 建立表间联系 一般来说 各个工作区打开的数据表示互不相关的 它们的指针移动是独立进行的 在一些情况下 希望在不同工作区内数据表建立联系 一个表上指针的移动会引起其它表内指针的相应移动 要在两个或两个以上数据表之间进行数据联结操作 通常有关联和连接两种方法 关联 当前表记录指针的移动 能引起别的表按某种条件相应地移动记录指针 建立关联后 称当前表为关联表 与关联表建立关联的表为被关联表 连接 是将几个表连接生成一个新表 扩展名为 dbf VFP数据表 1 关联的概念 每个工作区打开的表中都存在一个记录指针 指针指向的记录是当前记录 如果表之间没有关系 则各个表的记录指针相互独立 即当前工作区指针移动时 其他工作区的指针不移动 所谓关联 就是让不同工作区数据表的记录指针建立一种临时的联动关系 使一个表的记录指针移动时 能带动另一个表的记录指针按一定的条件作相应地移动 前者称为关联表 父表 后者称为被关联表 子表 2 建立表间的关联 建立数据库文件中表间关联的必要条件 建立关系的表具有相同的字段值 关键字值 建立关联的两个数据表必须同时处于打开状态 子表要以该字段建立索引 建立两个表之间的 一对一 和 多对一 关联的步骤 找到两个表中能够建立关联的字段 字段名可以不同 类型 宽度 小数位数必须相同 根据关键字值确定父表 再确定子表 先打开子表 建立索引 最后打开父表建立关联 有重复值为父表 1 关联命令 SETRELATIONTO INTO INTO ADDITIVE BBAA SELE1USEAAINDEON字段TAGZDSELE2USEBBSETRELATO字段INTOA 字段 3 两个表之间的关联 例 USE读者INDEXON读者编号TAGbhSELE2USE借阅SETRELATO读者编号INTO1LISTa 读者编号 a 姓名 书号 还书日期 AABBCC或AABBAACC 字段1 字段2 字段1 3个表建关联 字段2 4 多个表之间的关联 例 教材P137例5 8 例5 8 在 图书信息管理 项目中建立如图所示的图书借阅登记表单 输入读者编号和借阅图书的书号 单击 借阅 按钮 可以将读者对该图书的借阅记录添加到 借阅 表中完成图书的借阅登记 生成借阅记录之前要先验证读者和图书已经在系统中存在 否则不允许完成借阅记录 setsafetyoffselect1use读者aliasdzEXCLUSIVEindexon读者编号tagdzbhselect2use图书aliastsEXCLUSIVEindexon书号tagshselect3use借阅EXCLUSIVEsetrelationto读者编号intodzsetrelationto书号intotsadditive 在表单空白处双击鼠标 表单Form1的Load事件代码如下 appendblankdzbh alltrim thisform text1 value sh alltrim thisform text3 value replace读者编号withdzbh 书号withsh 借阅日期withdate 是否续借with f docasecaseeof 1 messagebox 输入的读者不存在 请核对 deletepackcaseeof 2 messagebox 输入的图书不存在 请核对 deletepackendcase 借阅 按钮的Click事件代码如下 6 关联后 父表指针移动带动子表指针移动 而如果当前工作区是子表 其指针移动 父表指针不会移动 关联说明 1 建立关联的数据表都具有同一属性的字段 称为关联字段 2 在被关联表中依据关联字段建立索引 并指定为当前索引 主控索引 3 如果关联表中的关联字段有重复的值 则应建立多对一关系 4 发出关联命令所在工作区的表是父表 5 的值必须是相关联的两个表文件共同具有的字段 被关联表文件必须已经按关键字表达式建立了索引文件并处于打开状态 8 additive 一般用于三个或三个以上的表之间建立多重关联 第2 3 个关联使用该选项 9 关联后 当前工作区字段名可以直接使用 子表的字段在使用时要加 别名 字段名 10 关闭或重新打开数据表 关联就会消失 故称为临时关系 例6 3 在文本框中输入读者姓名 利用图书基本信息表 读者基本信息表和图书借阅表查询该读者借阅的所有图书的基本信息 查询 按钮的CLICK事件代码如下 SETSAFETYOFFSELECT读者INDEXON读者编号TAGDZBHSELECT图书INDEXON书号TAGSHSELECT借阅SETRELATIONTO读者编号INTO读者SETRELATIONTO书号INTO图书ADDITIVEXm ALLTRIM THISFORM combo1 VALUE IFFILE TEMP dbf DROPTABLETEMPENDIFCOPYSTRUCTURETOtempfields图书 书号 图书 书名 图书 价格 借阅日期DIMENSIONX 4 SCANFOR读者 读者姓名 xmX 1 图书 书号X 2 图书 书名X 3 图书 价格X 4 借阅日期INSERTINTOtempFROMARRAYXENDSCANTHISFORM GRID1 RECORDSOURCE temp SETSAFETYON 主索引与永久关系 有些数据表格和其他数据表格之间存在着某些联系 在数据发生变化的时候 会对其他表格的数据产生影响 在数据表之间建立关系可以约束了数据的修改 1 主索引的建立 注意 只能为数据库表建立主索引 不能为自由表创建主索引 当从数据库中移走有主索引的表而成为自由表时 他们的主关键字将会随之消失 教科书P135 136 数据库表 自由表 2 永久关系 在 数据库设计器 窗口中 两个数据表格之间的连线 就是 永久关系 教科书P140 例5 9 永久关系连线的作用是在数据表格作 更新 删除 新增 等操作时 对表格做前置检查 满足某些预先设定的规则 防止错误的操作 可以通过 参考完整性 来设置和存储这些规则 见教科书142 143页 关系 和 关联 是不同范畴的两个概念 建立 永久关系 的父表必须以关键字建立主索引或侯选索引 而子表则可以以关键字建立任意类型的索引 一对一或一对多 而建立 临时关联 的父表可以不需建立索引 只需子表以关键字建立任意类型的索引即可 一对一或多对一 注意 VFP命令小节 现在对前四章的命令总结如下 1 建立数据表CREATE 2 打开和关闭数据表USE 3 显示表结构LIST DISPLAYSTRURE 4 修改表结构MODISTRURE5 显示表记录LIST DISPLAY 6 浏览修改表记录BROWSE7 追加表记录APPEND FROM 8 插入记录INSERT 9 成批记录的修改REPLACE WITH 10 记录的删除和恢复DELETE RECALL PACK 11 记录定位GO GOTO SKIP12 数据表文件的复制COPYTO 13 数据表结构的复制COPYSTRURETO 14 数据的排序SORTTO 15 数据的单索引INDEXON TO 16 数据的复合索引INDEXON TAG 17 打开索引SETINDEXTO 18 指定主索引标识SETORDERTO 19 单索引更新REINDEX20 直接查询LOCATEFOR CONTINUE 21 索引查询FIND SEEK 22 统计COUN SUM AVER TOTAON TO CALCULATE 23 选择工作区SELETE 24 表之间的关联SETRELATIONTO 25 表之间的联接JOINWITH TO 26 内存变量的赋值 STORE TO 27 内存变量的显示LIST DISPLAYMEMO 28 内存变量的清除RELESE 29 内存变量的保存SAVETO 30 内存变量的恢复RESTFROM 31 数组的定义DIMETION DECLARE PUBLIC 32 字段表SETDELEON OFF SETFIELON OFF33 变量 表达式和函数的显示 34 编辑修改程序MODICOMMAND 补充内容 基于数据表的表单设计 数据表与表单建立联系 表单的数据环境设置 教材P108 例4 10 建立如表4 4所示的数据表 管理员 dbf 设计如图所示的系统图书管理系统的登录表单 将表单中的组合框与数据表中的用户名字段绑定 在表单空白处单击右键 在快捷菜单中选择 数据环境 弹出 打开 对话框 选择管理员 dbf 单击 确定 按钮 在弹出的 添加表或视图 对话框中可以选择并添加多个数据表 在这里我们选择 关闭 按钮 则数据表成功添加到表单中 如图所示 温馨提示 在该对话框中可以只选择姓名字段 或只选择管理员编号 为了避免错误的选择管理员 最好两个字段都选择 表单执行后 选择一用户名 输入密码 如果密码正确 与数据表中的密码字段对应 单击 进入系统 按钮 可以调用系统主菜单 图书管理系统菜单 MPR 如果密码不正确 最多允许输入3次 每次给出错误提示 如果3次均不正确则直接退出系统 返回操作系统 单击 退出 按钮 可以退出本系统 返回操作系统 教科书P110 111事件代码 通常情况下 文本框 组合框等可以作为输入类的控件 标签 文本框 编辑框 列表框 表格 图像 Active绑定控件等作为输出类的控件 命令按钮 命令按钮组 复选框 选项按钮组 计时器可以作为控制类的控件 教材P117 例5 1 在 图书信息管理 项目中建立一个管理图书信息的表单 保存为 图书信息 scx 实现 首记录 末记录 按钮的功能 使得表单上能够看到图书表的第一条记录或最后一条记录 表示commandgroup1 命令按钮组Commandgroup1的click事件代码如下 docasecasethis value 1gotopcasethis value 4gobottomcasethis value 5thisform releaseendcasethisform refresh 数据表字段的值改变后并不能立即显示在控件上 需要使用refresh方法刷新表单中各控件显示的内容 表示什么 第1 4 5个按钮 首记录 末记录 关闭 例5 2 打开 例5 1 的图书信息 scx表单 进一步完善表单的功能 实现 上一条 下一条 按钮的功能 使得表单上能够逐一查看 图书 表的所有记录 修改Commandgroup1命令按钮组click事件代码 为原多分支case语句增加两个判断分支 代码如下 casethis value 2skip 1ifbof gotopmessagebox 已经是第一条记录 endifcasethis value 3skipifeof skip 1messagebox 已经是末记录 endif 例5 3 在 图书信息管理 项目中建立如图所示的管理读者信息的表单 保存为 读者信息维护 scx 单击 添加读者 按钮 可以通过表单录入新的读者信息 添加读者 命令按钮的Click事件代码如下 choice messagebox 确认添加新读者 4 32 256 确认 ifchoice 6appendblankendifthisform refresh 单击 是 按钮 函数值为6 例5 4 打开 读者信息维护 表单 进一步完善表单的功能 实现 删除读者 清除标记 物理删除 按钮的功能 Command2命令按钮的click事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国自学考试现代设计方法自考试题及答案
- 5G技术实时监控应用-洞察与解读
- 《园林植物造景设计》网上作业题及答案
- 学习行为数据分析-第6篇-洞察与解读
- 2025年事业单位招聘考试旅游类专业综合能力测试真题模拟详解
- 2025广西柳州城市职业学院招聘专任教师、辅导员38名考前自测高频考点模拟试题及一套答案详解
- 边缘计算下的数据存储方案-洞察与解读
- 关境数据融合策略-洞察与解读
- 衡水文综中考试卷及答案
- 家校沟通平台构建-洞察与解读
- DB15∕T 3968-2025 一键报警信息接入公安机关技术规范
- DB45∕T 2883-2024 健康体检机构护理质量管理规范
- 普洱茶教学课件
- 肺癌教学课件
- 2025年广告设计与制作考试题及答案
- 徽派建筑速写课件
- 华为公司采购部管理制度
- 物料平衡检查管理制度
- 2025年陕西高考物理试卷真题及答案详解(山西宁夏青海适用)
- CJ/T 251-2007铜分集水器
- T/CSWSL 020-2020肉羊用菌酶协同发酵饲料
评论
0/150
提交评论