数据库与表的创建及使用.pptx
会计学1数据库与表的创建及使用数据库与表的创建及使用VFPVFP数据库的组成数据库的组成数据库表数据库表视图视图(View)(View)连接连接(Connection)(Connection)存储过程存储过程第1页/共94页数据字典数据字典数据字典数据字典 数据字典是指存储在数据库中用于描述所管数据字典是指存储在数据库中用于描述所管理的表和对象的数据,即关于数据的数据,这些理的表和对象的数据,即关于数据的数据,这些数据称为元数据。数据称为元数据。第2页/共94页数据字典可以创建和指定以下内容:数据字典可以创建和指定以下内容:表中字段的标题、注释、默认值、输入掩码和表中字段的标题、注释、默认值、输入掩码和显示格式,以及表单中使用的默认控件类等显示格式,以及表单中使用的默认控件类等表的主索引关键字表的主索引关键字数据库表之间的永久性关系数据库表之间的永久性关系长表名和表注释长表名和表注释字段级和记录级有效性规则字段级和记录级有效性规则存储过程存储过程插入、更新和删除事件的触发器插入、更新和删除事件的触发器第3页/共94页3.2 数据库的创建、数据库的创建、打开与使用打开与使用 每创建一个新的数据库都将生成三个文件:数据每创建一个新的数据库都将生成三个文件:数据库文件(库文件(.dbc.dbc)、关联的数据库备注文件)、关联的数据库备注文件(.dct.dct)和关联的数据库索引文件()和关联的数据库索引文件(.dcx.dcx)。)。第4页/共94页一、数据库的创建一、数据库的创建利用界面操作方式创建数据库利用界面操作方式创建数据库在在“项目管理器项目管理器”窗口中创建新的数据库窗口中创建新的数据库通过通过“新建新建”对话框创建对话框创建利用命令方式创建数据库利用命令方式创建数据库格式:格式:CREATE DATABASE CREATE DATABASE DatabaseNameDatabaseName|?|?其中:其中:DatabaseNameDatabaseName为创建的数据库文件为创建的数据库文件名名第5页/共94页二、数据库的打开二、数据库的打开格式:格式:OPEN DATABASE OPEN DATABASE DatabaseName DatabaseName EXCLUSIVE|SHAREDNOUPDATEVALIDATEEXCLUSIVE|SHAREDNOUPDATEVALIDATE功能:打开指定的数据库功能:打开指定的数据库其中:其中:VALIDATEVALIDATE用于说明在打开数据库时进行用于说明在打开数据库时进行数据库的有效性检验。数据库的有效性检验。第6页/共94页三、设置当前数据库三、设置当前数据库 数据库可以同时打开多个。只有一个是数据库可以同时打开多个。只有一个是当前数据库。在打开数据库时,最后一个打当前数据库。在打开数据库时,最后一个打开的数据库为当前数据库。可以把其他的数开的数据库为当前数据库。可以把其他的数据库设置为当前数据库。据库设置为当前数据库。格式:格式:SET DATABASE TO SET DATABASE TO DatabaseNameDatabaseName功能:将指定的数据库设置为当前数据库功能:将指定的数据库设置为当前数据库第7页/共94页四、检查数据库的有效性四、检查数据库的有效性格式:格式:VALIDATE DATABASE RECOVERTO VALIDATE DATABASE RECOVERTO PRINTER|TO FILE PRINTER|TO FILE FileNameFileName 其中:其中:RECOVERRECOVER用于说明更新链接,缺省时仅用于说明更新链接,缺省时仅检查数据库的有效性;检查数据库的有效性;TOTO子句用于说明检查子句用于说明检查结果信息的去向,缺省时在结果信息的去向,缺省时在VFPVFP主窗口是显示。主窗口是显示。该命令只能处理以独占方式打开的当前数据该命令只能处理以独占方式打开的当前数据库。在更新链接时,如果数据库表文件不在库。在更新链接时,如果数据库表文件不在原位置,系统会打开原位置,系统会打开“检查数据库检查数据库”对话框,对话框,要求用户进行文件定位。要求用户进行文件定位。第8页/共94页五、关闭数据库五、关闭数据库格式:格式:CLOSE DATABASECLOSE DATABASE功能:关闭当前数据库功能:关闭当前数据库格式:格式:CLOSE DATABASE ALLCLOSE DATABASE ALL功能:关闭所有打开的数据库功能:关闭所有打开的数据库六、删除数据库六、删除数据库 从从“项目管理器项目管理器”窗口中通过窗口中通过“移移去去”操作进行删除,则该数据库不包含操作进行删除,则该数据库不包含在项目中。在项目中。第9页/共94页3.3 表的创建与使用表的创建与使用字段字段表结构表结构记录记录第10页/共94页 表表(Table)(Table)是指存储在磁盘文件中的二维表,一张是指存储在磁盘文件中的二维表,一张二维表保存为一个表文件二维表保存为一个表文件(.dbf)(.dbf)。表文件名必须。表文件名必须遵守遵守WindowsWindows系统对文件名的约定外,系统对文件名的约定外,不可用不可用A-JA-J中的单个字母作文件名。中的单个字母作文件名。表中的表中的列列称为称为字段字段(Field)(Field),它规定了数据的特,它规定了数据的特征;表的征;表的行行叫做叫做记录记录(Record)(Record),每一条记录表示,每一条记录表示一个实体。一个实体。第11页/共94页一、表结构概述一、表结构概述字段名字段名字段名命名规则:字段名命名规则:名称中只能包含字母、下划线名称中只能包含字母、下划线“_ _”、数字符号和汉字符号;、数字符号和汉字符号;名称的开头只能是字母、汉字或下名称的开头只能是字母、汉字或下划线,不能是数字;划线,不能是数字;名称长度为名称长度为1 11010个字符;个字符;应避免使用系统保留字。应避免使用系统保留字。第12页/共94页字段的数据类型字段的数据类型数据类型数据类型数据类型数据类型字母表示字母表示字母表示字母表示说明说明说明说明宽度宽度宽度宽度字符型字符型字符型字符型C C字母、汉字符号和数字型文本字母、汉字符号和数字型文本字母、汉字符号和数字型文本字母、汉字符号和数字型文本1-2541-254货币型货币型货币型货币型Y Y货币单位货币单位货币单位货币单位8 8数值型数值型数值型数值型N N整数或小数整数或小数整数或小数整数或小数1-201-20浮点型浮点型浮点型浮点型F F(同数值型)(同数值型)(同数值型)(同数值型)1-201-20日期型日期型日期型日期型D D年,月,日年,月,日年,月,日年,月,日8 8日期时间型日期时间型日期时间型日期时间型T T年,月,日,时,分,秒年,月,日,时,分,秒年,月,日,时,分,秒年,月,日,时,分,秒8 8双精度型双精度型双精度型双精度型B B双精度型数值双精度型数值双精度型数值双精度型数值8 8整型整型整型整型I I不带小数点的数值不带小数点的数值不带小数点的数值不带小数点的数值4 4逻辑型逻辑型逻辑型逻辑型L L真与假真与假真与假真与假1 1备注型备注型备注型备注型MM不定长的一段文本不定长的一段文本不定长的一段文本不定长的一段文本4 4通用型通用型通用型通用型GGOLEOLE4 4第13页/共94页字段的宽度字段的宽度小数位数小数位数空值空值(NULL)(NULL)支持支持 空值是用来指示记录中的一个字段空值是用来指示记录中的一个字段有或没有数据的标识。有或没有数据的标识。NULLNULL不是一种不是一种数据类型或一个值,它是用来指示数数据类型或一个值,它是用来指示数据存在或不存在的一种属性。据存在或不存在的一种属性。第14页/共94页二、表结构的创建和修改二、表结构的创建和修改1 1、表结构的创建、表结构的创建用用“表设计器表设计器”(Table Designer)(Table Designer)创建表结构创建表结构第15页/共94页用用CREATE TABLE-SQLCREATE TABLE-SQL命令创建表结构命令创建表结构CREATE TABLE CREATE TABLE TableNameTableName(FieldName1 FieldType FieldName1 FieldType (nFieldWidthnFieldWidth,nPrecisionnPrecision)NULL|NOT NULLNULL|NOT NULL,Fieldname2Fieldname2)第16页/共94页2 2表结构的修改表结构的修改用用“表设计器表设计器”(Table Designer)(Table Designer)修改表的结修改表的结构构用用ALTER TABLE-SQLALTER TABLE-SQL命令修改表结构命令修改表结构增加字段:增加字段:ALTER TABLE ALTER TABLE TableName TableName ADD COLUMNADD COLUMNFieldName FieldType FieldName FieldType(nFieldWidthnFieldWidth ,nPricisionnPricision)第17页/共94页修改字段:(此命令不能修改字段名)修改字段:(此命令不能修改字段名)ALTER TABLE ALTER TABLE TableName TableName ALTER COLUMNALTER COLUMNFieldName FieldType FieldName FieldType(nFieldWidthnFieldWidth ,nPricisionnPricision)删除字段:删除字段:ALTER TABLE ALTER TABLE TableName TableName DROP COLUMN DROP COLUMN FieldNameFieldName修改字段名:修改字段名:ALTER TABLE ALTER TABLE TableName TableName RENAME COLUMN RENAME COLUMN FieldName1 FieldName1 TOTO FieldName2 FieldName2第18页/共94页三、字段属性与表属性三、字段属性与表属性字段的扩展属性字段的扩展属性第19页/共94页字段显示属性字段显示属性字段的格式字段的格式(Format)(Format)字段的格式用于指定字段显示时的格式,包括在浏览窗口、表单或报表中显示时的大小写和样式等。字段的格式用于指定字段显示时的格式,包括在浏览窗口、表单或报表中显示时的大小写和样式等。输入掩码输入掩码(Input Mask)(Input Mask)字段的输入掩码用于指定字段中输入数据的格式。字段的输入掩码用于指定字段中输入数据的格式。字段的标题字段的标题(Caption)(Caption)和注释和注释(Comment)(Comment)标题和注释都是为了使表具有更好的可读性。在设置表结构时,如果字段名不能明确地表达列的含义,可以为字段设置一个标题。如果标题还不能充分地表达含义或需要给字段以详细的说明,还可以给字段加上注释。标题和注释都是为了使表具有更好的可读性。在设置表结构时,如果字段名不能明确地表达列的含义,可以为字段设置一个标题。如果标题还不能充分地表达含义或需要给字段以详细的说明,还可以给字段加上注释。第20页/共94页字段验证字段验证 字段验证用来限定字段的取值及取字段验证用来限定字段的取值及取值范围,包括字段有效性规则、字段有值范围,包括字段有效性规则、字段有效性信息和默认值。效性信息和默认值。字段有效性规则和有效性信息字段有效性规则和有效性信息 字段有效性规则用来控制输入到字字段有效性规则用来控制输入到字段中的数据的取值范围。该规则是一个段中的数据的取值范围。该规则是一个逻辑表达式。字段有效性规则在字段值逻辑表达式。字段有效性规则在字段值改变时发生作用,它将所输入的值用定改变时发生作用,它将所输入的值用定义的逻辑表达式进行验证,如不满足义的逻辑表达式进行验证,如不满足(即逻辑表达式的值为(即逻辑表达式的值为.F.F.),则拒绝该),则拒绝该字段值,并显示一个提示框。字段值,并显示一个提示框。第21页/共94页 字段有效性信息是一个字符型表达字段有效性信息是一个字符型表达式,通常与字段有效性规则配合使用,式,通常与字段有效性规则配合使用,用于指定在不满足规则要求时显示的提用于指定在不满足规则要求时显示的提示信息。示信息。如果表中已有记录,且需要设置或如果表中已有记录,且需要设置或修改某字段的有效性规则,则修改某字段的有效性规则,则首先必须首先必须确保表中所有记录满足将要设置的有效确保表中所有记录满足将要设置的有效性规则性规则,否则,有效性规则无法设置或,否则,有效性规则无法设置或在确认保存时选择对现有数据不作检查。在确认保存时选择对现有数据不作检查。第22页/共94页默认值默认值 向一张数据库表中添加新记录时,为字向一张数据库表中添加新记录时,为字段所指定的最初的值称为该字段的默认值。段所指定的最初的值称为该字段的默认值。在设置字段默认值时,默认值必须是一个与在设置字段默认值时,默认值必须是一个与字段类型相同的表达式。字段类型相同的表达式。在使用在使用CREATE TABLE-SQLCREATE TABLE-SQL命令创建数据命令创建数据库表时,可用库表时,可用CHECKCHECK子句、子句、ERRORERROR子句和子句和DEFAULTDEFAULT子句设置字段的有效性规则、有效性子句设置字段的有效性规则、有效性信息和默认值。在使用信息和默认值。在使用ALTER TABLE-SQLALTER TABLE-SQL命令命令修改表结构时,可通过修改表结构时,可通过SET CHECKSET CHECK子句、子句、SET SET DEFAULTDEFAULT子句设置字段的有效性规则(信息)、子句设置字段的有效性规则(信息)、默认值;通过默认值;通过DROP CHECKDROP CHECK和和DROP DEFAULTDROP DEFAULT子子句删除字段的有效性规则(信息)、默认值。句删除字段的有效性规则(信息)、默认值。第23页/共94页数据库表的表属数据库表的表属性性长表名与表注释长表名与表注释 可在数据库表的可在数据库表的“表设计器表设计器”对话框中的对话框中的“表表”选项卡中的选项卡中的“表名表名”文本框中输入长表名。也可在使用文本框中输入长表名。也可在使用CREATE TABLE-SQLCREATE TABLE-SQL命令创建表时,用命令创建表时,用NAMENAME子句指定长表名。子句指定长表名。表注释是表的说明信息。表注释是表的说明信息。第24页/共94页记录验证记录验证 记录验证包括记录有效性规则和有效性信息,用于定义记录级校验规则及相应的提示信息。字段有效性规则仅对当前字段有效,而使用记录有效性规则可以校验多个字段间的关系是否满足某种规则。记录验证包括记录有效性规则和有效性信息,用于定义记录级校验规则及相应的提示信息。字段有效性规则仅对当前字段有效,而使用记录有效性规则可以校验多个字段间的关系是否满足某种规则。记录有效性规则在记录值发生改变时被激活。如对一张已有记录的表增设记录有效性规则,则在设置结束时要按此规则对所有记录进行规则检查。记录有效性规则在记录值发生改变时被激活。如对一张已有记录的表增设记录有效性规则,则在设置结束时要按此规则对所有记录进行规则检查。记录有效性规则除了可在数据库表的记录有效性规则除了可在数据库表的“表设计器表设计器”对话框中设置,也可在对话框中设置,也可在CREATE TABLE-SQLCREATE TABLE-SQL命令命令中通过中通过CHECKCHECK子句或在子句或在ALTER TABLE-SQLALTER TABLE-SQL命令中通过命令中通过SET CHECKSET CHECK子句进行设置。在子句进行设置。在ALTER TABLE-SQLALTER TABLE-SQL命令中通过命令中通过DROP CHECKDROP CHECK可删除记录的有效性规则。可删除记录的有效性规则。第25页/共94页表的触发器表的触发器插入触发器:每次向表中插入或追加记录插入触发器:每次向表中插入或追加记录时触发该规则时触发该规则更新触发器:每次向表中修改记录时触发更新触发器:每次向表中修改记录时触发该规则该规则删除触发器:每次向表中删除记录时触发删除触发器:每次向表中删除记录时触发该规则该规则触发器值返回触发器值返回.T.T.,则允许执行相应的操作,则允许执行相应的操作,否则不允许执行相应的操作。否则不允许执行相应的操作。第26页/共94页格式:格式:CREATE TRIGGER ON CREATE TRIGGER ON TableName TableName FORFOR DELETE|INSERT|UPDATE AS DELETE|INSERT|UPDATE AS lExpression lExpression功能:创建表的触发器功能:创建表的触发器其中:其中:ASAS子句用于说明触发器的使用规则子句用于说明触发器的使用规则格式:格式:DELETE TRIGGER ON DELETE TRIGGER ON TableName TableName FOR DELETE|INSERT|UPDATEFOR DELETE|INSERT|UPDATE功能:删除表的触发器功能:删除表的触发器第27页/共94页四、四、四、四、表的打开与关闭表的打开与关闭表的打开与关闭表的打开与关闭1 1、工作区、工作区 所谓工作区是指用于标识一张打开的表的区域。所谓工作区是指用于标识一张打开的表的区域。每个工作区有一个编号,称为工作区号,其编号每个工作区有一个编号,称为工作区号,其编号范围为范围为1-327671-32767(前(前1010个工作区号也可以用个工作区号也可以用A-JA-J表表示)。如果某工作区中已有表打开,可以用表的示)。如果某工作区中已有表打开,可以用表的“别名别名”作为工作区号。作为工作区号。第28页/共94页一个工作区中只能打开一张表,用户可以同时在一个工作区中只能打开一张表,用户可以同时在多个工作区中打开多张表,也可以将一张表同时多个工作区中打开多张表,也可以将一张表同时在多个工作区中打开。在多个工作区中打开。VFPVFP正在使用的工作区称为当前工作区,即默正在使用的工作区称为当前工作区,即默认工作区。认工作区。SELECTSELECT nWorkArea nWorkArea|cTableAliascTableAliasnWorkAreanWorkArea为工作区号;为工作区号;cTableAliascTableAlias为表别为表别名。名。工作区号为工作区号为0 0时,选择未被使用的最小时,选择未被使用的最小编号的工作区编号的工作区。第29页/共94页2 2、“数据工作期数据工作期”窗口窗口在在VFPVFP主菜单上选择窗口,再选择数据工作期主菜单上选择窗口,再选择数据工作期第30页/共94页3 3、表的打开、表的打开 使用表时首先必须把表打开使用表时首先必须把表打开。表的打开可以是显。表的打开可以是显式地打开,也可以是隐式地打开。式地打开,也可以是隐式地打开。通过界面操作打开通过界面操作打开v使用菜单命令使用菜单命令“文件文件/打开打开”或单击或单击“常用常用”工具条上的工具条上的“打开打开”按钮打开按钮打开v在在“数据工作期数据工作期”窗口中单击窗口中单击“打开打开”按钮按钮v在在“项目管理器项目管理器”窗口中选择需要打窗口中选择需要打开的表,然后单击开的表,然后单击“修改修改”或或“浏览浏览”按钮按钮第31页/共94页使用命令打开使用命令打开USE USE TableName TableName IN IN nWorkAreanWorkArea|cWorkAliascWorkAliasAGAINAGAINALIAS ALIAS cTableAliascTableAliasNOUPDATENOUPDATESHARED|EXCLUSIVESHARED|EXCLUSIVE第32页/共94页其中:其中:ININ子句用于指定在哪个工作区中打开,缺省时则子句用于指定在哪个工作区中打开,缺省时则表示在当前工作区中打开;表示在当前工作区中打开;AGAINAGAIN子句用于说明该表再次打开,即表在多个子句用于说明该表再次打开,即表在多个工作区中同时被打开;工作区中同时被打开;ALIASALIAS子句用于定义表的别名,缺省时表的别名子句用于定义表的别名,缺省时表的别名与表名相名;与表名相名;NOUPDATENOUPDATE指定表打开后不允许修改其结构和数据;指定表打开后不允许修改其结构和数据;SHAREDSHARED指定表为共享方式打开,指定表为共享方式打开,EXCLUSIVEEXCLUSIVE指定指定表为独占方式打开。表为独占方式打开。第33页/共94页4 4、表的关闭、表的关闭通过界面操作通过界面操作在在“数据工作期数据工作期”窗口中选定一张表窗口中选定一张表的别名,单击的别名,单击“关闭关闭”按钮。按钮。使用命令使用命令USE IN USE IN nWorkAreanWorkArea|cTableAliascTableAlias 功能:关闭指定工作区中的表。功能:关闭指定工作区中的表。其中:不使用其中:不使用ININ子句时关闭当前工作子句时关闭当前工作区的表。区的表。第34页/共94页CLOSE TABLES ALLCLOSE TABLES ALL功能:关闭所有工作区中的表。功能:关闭所有工作区中的表。CLOSE ALLCLOSE ALL功能:关闭所有的数据库、表和索功能:关闭所有的数据库、表和索引,且将当前工作区设置为引,且将当前工作区设置为1 1号工号工作区。作区。第35页/共94页5 5、表的独占与共享、表的独占与共享 VFPVFP是一个多用户的开发环境,网络上的多是一个多用户的开发环境,网络上的多个用户可以在同一时刻访问同一张表。这种一个用户可以在同一时刻访问同一张表。这种一张表可以同时被多个用户访问的情况,就是表张表可以同时被多个用户访问的情况,就是表的共享使用。反之,当一张表只能被一个用户的共享使用。反之,当一张表只能被一个用户打开时,称为表的独占使用。打开时,称为表的独占使用。默认状态下,表是以独占方式打开的,可以默认状态下,表是以独占方式打开的,可以使用命令来设置打开方式。使用命令来设置打开方式。第36页/共94页SET EXCLUSIVE OFF SET EXCLUSIVE OFF 设置设置“共享共享”为默为默认打开方式认打开方式SET EXCLUSIVE ON SET EXCLUSIVE ON 设置设置“独占独占”为默为默认打开方式认打开方式 改变改变SET EXCLUSIVESET EXCLUSIVE的设置,并不能改变已的设置,并不能改变已经打开的表的状态。另外,一张表同时被多次经打开的表的状态。另外,一张表同时被多次打开时,只以第一次的打开方式为准。打开时,只以第一次的打开方式为准。第37页/共94页五、五、五、五、记录的处理记录的处理记录的处理记录的处理1 1、记录的输入、记录的输入表结构创建后立即输入记录表结构创建后立即输入记录输入结束时,单击窗口的输入结束时,单击窗口的“关闭关闭”按钮。按钮。或按或按Ctrl+EndCtrl+End或或Ctrl+WCtrl+W组合键组合键第38页/共94页在浏览窗口中追加记录在浏览窗口中追加记录浏览当前工作区中的表的方法浏览当前工作区中的表的方法v单击菜单单击菜单“显示显示”“浏览浏览”v单击菜单单击菜单“窗口窗口”“数据工数据工作期作期”选择表选择表“浏览浏览”v在命令窗口使用命令在命令窗口使用命令BROWSEBROWSEv在项目管理器中选择表在项目管理器中选择表单击单击“浏览浏览”按钮按钮第39页/共94页在浏览窗口中追加记录在浏览窗口中追加记录v单击菜单单击菜单“表表”“追加新记录追加新记录”或在命令窗口中输入命令或在命令窗口中输入命令APPEND APPEND BLANKBLANK,可追加一条空白记录,且处,可追加一条空白记录,且处于编辑状态等待用户输入数据于编辑状态等待用户输入数据v单击菜单单击菜单“显示显示”“追加方式追加方式”,可追加多条记录,可追加多条记录v单击菜单单击菜单“显示显示”“浏览浏览”或或“显示显示”“编辑编辑”,可在浏览窗,可在浏览窗口和编辑窗口间切换口和编辑窗口间切换第40页/共94页使用使用INSERT-SQL命令追加记录命令追加记录命令格式:命令格式:INSERT INTO INSERT INTO TableNameTableName(FieldName1FieldName1,FieldName2FieldName2,)VALUES VALUES (eExpression1eExpression1,eExpression2eExpression2,)字段名列表用于指定插入的新记录的哪些字字段名列表用于指定插入的新记录的哪些字段需要填值,缺省表示全部字段;表达式列段需要填值,缺省表示全部字段;表达式列表指定新插入记录的字段值。表指定新插入记录的字段值。字段列表与表字段列表与表达式列表必须对应,且数据类型一致达式列表必须对应,且数据类型一致。第41页/共94页使用使用APPENDAPPEND与与APPEND FROMAPPEND FROM命令追加记命令追加记录录APPENDAPPEND命令格式:命令格式:APPEND BLANK IN APPEND BLANK IN nWorkArea nWorkArea|cTableAliascTableAlias 其中:其中:BLANKBLANK用于说明向表中追加一条空白用于说明向表中追加一条空白记录;记录;IN IN nWorkArea nWorkArea|cTableAliascTableAlias用于用于指定表所在的工作区,缺省时为当前工作区。指定表所在的工作区,缺省时为当前工作区。第42页/共94页将其他文件中的数据导入当前工作区表将其他文件中的数据导入当前工作区表中中单击菜单单击菜单“表表”“追加记录追加记录”,可将,可将其他文件中的数据导入当前工作区表中。其他文件中的数据导入当前工作区表中。常用的追回文件的文件类型有表文件常用的追回文件的文件类型有表文件(.dbf)(.dbf)、文本文件、文本文件(.txt)(.txt)和和ExcelExcel文件文件(.xls)(.xls)等。等。或用命令:或用命令:APPEND FROM APPEND FROM FileNameFileName DELIMITED|DELIMITED|XLSXLSDELIMITEDDELIMITED用于说明追加文件类型为文本用于说明追加文件类型为文本文件,文件,XLSXLS为为ExcelExcel文件,缺省时为表文件。文件,缺省时为表文件。第43页/共94页备注型字段和通用型字段的数据输入备注型字段和通用型字段的数据输入备注型字段:备注型字段:在浏览窗口中,备注型字段显示在浏览窗口中,备注型字段显示“memomemo”(表示表示无内容无内容)或或“MemoMemo”(表示有内容表示有内容)。将光标移到。将光标移到备注型字段,按备注型字段,按Ctrl+HomeCtrl+Home或双击该字段,在出或双击该字段,在出现的编辑窗口中输入备注字段内容,结束时关现的编辑窗口中输入备注字段内容,结束时关闭编辑窗口。闭编辑窗口。通用型字段:通用型字段:在浏览窗口中,通用型字段显示在浏览窗口中,通用型字段显示“gengen”(表示表示无内容无内容)或或“GenGen”(表示有内容表示有内容)。将光标移到。将光标移到通用型字段,按通用型字段,按Ctrl+HomeCtrl+Home或双击该字段,在出或双击该字段,在出现的编辑窗口中单击菜单现的编辑窗口中单击菜单“编辑编辑”“插入插入对象对象”,插入内容,结束时关闭编辑窗口。,插入内容,结束时关闭编辑窗口。第44页/共94页2 2、浏览窗口、浏览窗口BROWSE FIELDS BROWSE FIELDS FieldlistFieldlist FOR FOR lExpressionlExpression FREEZE FREEZE FieldNameFieldName NOAPPEND NODELETE NOMODIFY TITLE NOAPPEND NODELETE NOMODIFY TITLE cExpressioncExpression 第45页/共94页FIELDSFIELDS子句用于指定在浏览窗口中出现的字段(字子句用于指定在浏览窗口中出现的字段(字段间以逗号分隔),缺省时表示所有字段;段间以逗号分隔),缺省时表示所有字段;FORFOR子句用于筛选记录,仅有满足条件的记录在浏子句用于筛选记录,仅有满足条件的记录在浏览窗口中显示;览窗口中显示;FREEZEFREEZE子句用于指定可以修改的字段,其他字段的子句用于指定可以修改的字段,其他字段的数据不可修改;数据不可修改;NOAPPENDNOAPPEND指定不可追加记录;指定不可追加记录;NODELETENODELETE指定不可删除记录;指定不可删除记录;NOMODIFYNOMODIFY指定不可修改记录,但可追加或删除记录;指定不可修改记录,但可追加或删除记录;TITLETITLE子句指定浏览窗口的标题,缺省时为表名。子句指定浏览窗口的标题,缺省时为表名。第46页/共94页3 3、记录的筛选、记录的筛选如果用户只想查看和处理满足一定条件的一部分记如果用户只想查看和处理满足一定条件的一部分记录,可以对表记录进行筛选。录,可以对表记录进行筛选。通过通过FORFOR子句的使用可以完成筛选功能;子句的使用可以完成筛选功能;当表处于浏览状态时,单击菜单当表处于浏览状态时,单击菜单“表表”“属属性性”打开打开“工作区属性工作区属性”对话框,设置对话框,设置“数据数据过滤器过滤器”,可以对记录进行筛选;,可以对记录进行筛选;使用命令:使用命令:SET FILTER TO SET FILTER TO lExpressionlExpression 其中:条件表达式其中:条件表达式lExpressionlExpression用于指定记用于指定记录需要满足的条件,省略时即取消筛选录需要满足的条件,省略时即取消筛选第47页/共94页4 4、限制对字段的访问、限制对字段的访问在浏览或使用表时,如果只打算显示或处理部分字在浏览或使用表时,如果只打算显示或处理部分字段,或以设置字段筛选来限制对某些字段的访问。段,或以设置字段筛选来限制对某些字段的访问。通过通过FIELDSFIELDS子句的使用可以完成筛选功能;子句的使用可以完成筛选功能;当表处于浏览状态时,单击菜单当表处于浏览状态时,单击菜单“表表”“属属性性”打开打开“工作区属性工作区属性”对话框,设置对话框,设置“字段字段筛选筛选”,可以对字段进行筛选;,可以对字段进行筛选;使用命令:使用命令:SET FIELDS TO SET FIELDS TO FieldListFieldList 其中:字段名表其中:字段名表FieldListFieldList用于列出所需的用于列出所需的字段(字段名间用逗号分隔),省略时即取字段(字段名间用逗号分隔),省略时即取消筛选消筛选第48页/共94页5 5、记录的定位、记录的定位记录指针记录指针 当一张表打开后,系统自动地为该表生成三当一张表打开后,系统自动地为该表生成三个控制标志:记录的开始标志、记录指针标志、个控制标志:记录的开始标志、记录指针标志、记录的结束标志。记录指针标志用于指示当前处记录的结束标志。记录指针标志用于指示当前处理的记录位置,记录指针指向的那个记录称为理的记录位置,记录指针指向的那个记录称为“当前记录当前记录”。每当打开一个表文件时,记录指针。每当打开一个表文件时,记录指针总是指向第总是指向第1 1条记录。条记录。第49页/共94页格式:格式:RECNO(RECNO(nWorkAreanWorkArea)功能:返回指定工作区中指针所指记录的记功能:返回指定工作区中指针所指记录的记录号,缺省任选项表示当前工作区。录号,缺省任选项表示当前工作区。格式:格式:BOF(BOF(nWorkAreanWorkArea)功能:测试指定工作区中指针是否指向记录功能:测试指定工作区中指针是否指向记录的开始标志,如是,则返回的开始标志,如是,则返回.T.T.,否则为,否则为.F.F.,缺省任选项表示当前工作区。,缺省任选项表示当前工作区。格式:格式:EOF(EOF(nWorkAreanWorkArea)功能:测试指定工作区中指针是否指向记录功能:测试指定工作区中指针是否指向记录的结束标志,如是,则返回的结束标志,如是,则返回.T.T.,否则为,否则为.F.F.,缺省任选项表示当前工作区。,缺省任选项表示当前工作区。第50页/共94页记录的定位记录的定位记录指针的绝对定位:把指针移到指定位置。记录指针的绝对定位:把指针移到指定位置。记录指针的相对定位:把指针从当前位置开始,记录指针的相对定位:把指针从当前位置开始,相对于当前记录向前或向后移动若干条记录位置。相对于当前记录向前或向后移动若干条记录位置。记录指针的条件定位:按照一定的条件自动地在记录指针的条件定位:按照一定的条件自动地在整张表(或表的某个指定范围)中查找符合条件整张表(或表的某个指定范围)中查找符合条件的记录,如找到符合条件的记录,则把指针定位的记录,如找到符合条件的记录,则把指针定位到该记录上,否则,指针将指向表的末尾。到该记录上,否则,指针将指向表的末尾。第51页/共94页通过界面操作方式定位通过界面操作方式定位 当表处于浏览状态时,记录的定位当表处于浏览状态时,记录的定位可以利用菜单命令可以利用菜单命令“表表”“转到记录转到记录”进行,也可以直接在浏览窗口中进行,也可以直接在浏览窗口中通过鼠标操作或键盘上的光标移动操作。通过鼠标操作或键盘上的光标移动操作。vAllAll:表中的全部记录:表中的全部记录vNext nNext n:从当前记录开始的:从当前记录开始的n n条记条记录录vRecord n:Record n:记录号为记录号为n n的记录的记录vRest:Rest:当前记录及其后的所有记录当前记录及其后的所有记录第52页/共94页使用命令进行记录定位使用命令进行记录定位v绝对定位绝对定位GOTO GOTO nRecordNumber nRecordNumber IN IN nWorkAreanWorkArea|IN|IN cTableAliascTableAlias|TOP|BOTTOM|TOP|BOTTOM其中其中:记录号记录号nRecordNumbernRecordNumber必须在表记录的必须在表记录的有效范围内;有效范围内;TOPTOP指首记录;指首记录;BOTTOMBOTTOM指末记指末记录。录。v相对定位相对定位SKIP SKIP nRecordsnRecordsIN IN nWorkAreanWorkArea|cTableAliascTableAlias 其中:其中:nRecordNumbernRecordNumber用于指定记录指针需用于指定记录指针需要移动的记录个数(正表示向后移动,负表要移动的记录个数(正表示向后移动,负表示向前移动),缺省时为示向前移动),缺省时为1 1。第53页/共94页v条件定位条件定位LOCATE FOR LOCATE FOR lExpression lExpression ScopeScope CONTINUECONTINUE其中:条件表达式其中:条件表达式lExpressionlExpression