VF 程序设计

VF 程序设计,第1张

我在准备VF考试,有什么问题我们可以一起探讨·····

首先,第一条命令 打开表

USE d:\我的文档与桌面\桌面\1107305029欧艳华\学生成绩表dbf EXCLUSIVE

不知道你的VF怎么回事,桌面的文件路径是显示的“桌面”??

最好把桌面二字加上引号····

BROWSE LAST

go 2

浏览和指针的定位都没有错

insert

这一条命令你是怎么通过的????

加入空白记录:insert [blank]

暂时我也没操作起····汗·····

go 3·····没错

delete

只是逻辑删除,表上还是会显示,只是有了逻辑删除标记

如果此时执行set delete on 将不会显示有删除标记的记录···

若要物理删除,执行命令pack就行了····

browse last···浏览

set filter to 选课号="11

筛选 选课号="11“ 的记录

我执行了一遍,结果是只显示了选课号="11" 这一条记录

browse last···没错

set fields to 学号,总分,选课号

这里由于没看到表,我也不知道哪儿有问题····可能是你的筛选条件和此冲突了···

换一条命令可能也会达到你的目的:brow fields 学号,总分,选课号

希望给你帮助··················

VF是微软的Visual

Foxpro软件,可以编程,也可以做数据库,估计学校让你们学一门计算机语言应用写作通俗讲是教你写文章

一)按照不同的用途,可以分为两大类:

一类是行政机关、团体和企事业单位用来处理公务的;

一类是个人或集体用来处理私事的。

(二)按照不同的性质,可以分为以下三类:

一般性应用文,这类应用文有人认为应包括以下几种:书信、启事、会议记录、读书笔记、说明书等。

公文性应用文,这是以党和国家机关、社会团体、企事业单位的名义发出的文件类应用文。如:布告、通告、批复、指示、决定、命令、请示、公函等。这类应用文往往庄重严肃,适用于特定的场合。

事务性应用文,事务性应用文一般包括请柬、调查报告、规章制度及各种鉴定等,这是在处理日常事务时所使用的一种应用文。为了统一安排本书的体例,同时根据各种日常应用文本身的特点,这里将日常应用文分为以下几类。

(三)这些应用文的主要用途是:

1传递信息

2处理事务

3交流感情

4用作凭证[编辑本段]应用文的特点

1

广泛性

2

实用性

3

程式性

应用文最基本的特点就是“用”。为用而写,有用才写,这是应用文与其他文章的最大区别。[编辑本段]应用文的格式

①称呼:顶格,有的还可以加上一定的限定、修饰词,如亲爱的等。

②问候语:如写“你好”、“近来身体是否安康”等。独立成段,不可直接接下文。否则,就会违反构段意义单一的要求,变成多义段了。

③正文。这是信的主体,可以分为若干段来书写。

④祝颂语。以最一般的“此致”、“敬礼”为例。“此致”可以有两种正确的位置来进行书写,一是紧接着主体正文之后,不另起段,不加标点;二是在正文之下另起一行空两格书写。“敬礼”写在“此致”的下一行,顶格书写。后应该加上一个惊叹号,以表示祝颂的诚意和强度。

称呼和祝颂语后半部分的顶格,是对收信人的一种尊重。是古代书信“抬头”传统的延续。古人书信为竖写,行文涉及对方收信人姓名或称呼,为了表示尊重,不论书写到何处,都要把对方的姓名或称呼提到下一行的顶头书写。它的基本做法,为现代书信所吸收。

⑤具名和日期。写信人的姓名或名字,写在祝颂语下方空一至二行的右侧。最好还要在写信人姓名之前写上与收信人的关系,如儿×××、父×××、你的朋友×××等。再下一行写日期。

VFP是在WINDOWS下应用的数据库应用和编程软件,它的特点就是窗口,你在用一个表(dbf)想生成exe文件时缺少表单或标签的可视窗口的载入所以你必须创建表单或标签来应用你的数据表并在代码页中建立主程序用作应用程序的起始点

以下是MSDN的说明,供参考:

在建立应用程序时,需要考虑如下的任务:

设置应用程序的起始点。

初始化环境。

显示初始的用户界面。

控制事件循环。

退出应用程序时,恢复原始的开发环境。

下面将具体讨论这些任务。典型的情况是,可以建立一个应用程序对象来完成如上任务。请参阅在

Visual

Studio

…\Samples\Vfp98\Tastrade

目录下的

Tasmanian

Traders

示例应用程序来了解详细的技术细节。同时,假设使用“应用程序向导”来编译应用程序,那么它会建立一个应用程序对象。如果需要的话,可以使用程序作为主文件来完成如上任务。有关详细内容,请参阅“将一个程序结构化为主文件”。

设置起始点

将各个组件链接在一起,然后使用主文件为应用程序设置一个起始点。主文件作为应用程序执行的起始点,可以包含一个程序或者表单。当用户运行应用程序时,Visual

FoxPro

将为应用程序启动主文件,然后主文件再依次调用所需要的应用程序其他组件。所有应用程序必须包含一个主文件。一般来讲,最好的方法是为应用程序建立一个主程序。但是,使用一个表单作为主程序,可以将主程序的功能和初始的用户界面集成在一起。

如果使用应用程序向导建立应用程序,可让向导替您建立一个主文件程序。您无须自己专门来做,除非在向导完成之后,自己想改变主文件。

若要设置应用程序的起始点

在“项目管理器”中,选择要设置为主文件的文件。

从“项目”菜单中选择“设置主文件”命令。

注意

应用程序的主文件自动设置为“包含”。这样,在编译完应用程序之后,该文件作为只读文件处理。

项目中仅有一个文件可以设置为主文件。主文件用下图所示的符号表示。

更改代码

thisformtext2value=""

thisformtext2enabled=t

保存代码

thisformtext2enabled=f

1、建议你别有用电子版,花十块多钱买本盗版的二级VFP上机一百套就行了,我当时考的上机题就是资料上的第87题。

2、电子版的对答案时不方便,而且网络上有很多错误,买上机题,提醒你要买把试题分类的,并且有提醒讲解的,这样一百套题只要弄懂其中的各个类型就行了,做完一百套很浪费时间的,而且盲目的做,很容易忘也不易理解。

3、笔试你应该学过VFP的吧,如果学过,那只要看看你书本就好了,但是考前一到两个星期,要买本二级公共基础知识,把里面的内容多但几遍,这里面占了笔试的三十分,有时间的话可以买本历年的笔试试题看下就好(笔试很容易过,如果想考优秀,那就要好好看了,有点难度)。

4、考前一定要熟悉上机的环境,即编程软件,避免考试时紧张,导致出错。

愿你顺利通过考试,不用焦急的,很容易过! 相信我的没错,笔试的只要把等级考试配套的资料看两遍就行了,愿你考试顺利

5、重点:

11 数据库基础知识

考点1 计算机数据管理的发展

1数据与数据处理

数据是指存储在某一种媒体上能够识别的物理符号。数据处理的中心问题是数据管理。

2计算机数据管理

(l)人工管理。

(2)文件系统。

(3)数据库系统。

(4)分布式数据库系统。

(5)面向对象数据库系统。

3数据库管理系统

为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS (DataBase Management System)。

考点2 数据库系统

1有关数据库的概念

(1)数据库(DataBase):存储在计算机存储设备上、结构化的相关数据的集合。

(2)数据库应用系统(DBAS ):是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。

(3)数据库管理系统(DBMS):对数据实行专门管理,提供安全性和完整性等统一机制,可以对数据库的建立、使用和维护进行管理。

(4)数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统由硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户等部分组成。

2数据库系统的特点

(l)实现数据共享,减少数据冗余。

(2)采用特定的数据模型。

(3)具有较高的数据独立性。

(4)具有统一的数据控制功能。

考点3 数据模型

1实体的描述

(1)实体。

(2)实体的属性。

(3)实体集和实体型。

2实体间联系及联系的种类

(1)一对一联系。

(2)一对多联系。

(3)多对多联系。

3数据模型简介

为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示,通常有以下3种。

(1)层次数据模型。

(2)网状数据模型。

(3)关系数据模型。

小提示:

数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是DBS包括DB和DBMS。

12 关系模型

关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。

1关系术语

(l)关系:一个关系就是一张二维表,每个关系有一个关系名。在Visual FoxPro中一个关系存储为一个文件,扩展名为DBF,称为“表”。

对关系的描述称为关系模式,一个关系模式对应一个关系的结构,格式为:

关系名(属性名1,属性名2,…,属性名n)

(2)元组:在一个二维表中,水平方向的行称为元组,每一行为一个元组。

(3)属性:将二维表中垂直方向的列称为属性,每一列都有一个属性名。

(4)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。

(5)关键字:属性或属性的组合,其值能够唯一地标识一个元组。在Visual FoxPro中,主关键字和候选关键字就起唯一标志一个元组的作用。

(6)外部关键字:如果表中一个字段不是本表的主关键字或候选关键字,而是另一个表的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。

2关系的特点

(1)关系必须规范化。

(2)在同一个关系中不能出现同名属性,Visual FoxPro中表示为字段名的不同。

(3)关系中不允许有完全相同的元组,即冗余。

(4)在一个关系中元组的次序无关紧要。

(5)在一个关系中列的次序无关紧要。

考点5 关系运算

对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算,关系的基本运算有两类:传统的集合运算和专门的关系运算。

1传统的集合运算

(1)并:两个相同结构关系的并是由属于这两个关系的全部元组组成的集合。

(2)差:两个相同结构关系的差是由属于前一个关系的元组而不属于后一个关系的元组组成的集合。例如,关系R和S的差结果是由属于R但不属于S的元组组成的集合。

(3)交:两个相同结构关系的交是由属于这两个关系所共有的元组组成的集合。

2专门的关系运算

(1)选择:从关系中找出满足给定条件的元组的操作。

(2)投影:从关系模式中指定若干个属性组成新的关系:

(3)连接:关系的横向结合,将两个关系模式拼接成一个更宽的关系模式。

(4)自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。

小提示:

选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。连接运算则需要把两个表作为操作对象。如果两个表以上进行连接,应当两两进行连接。

13 数据库设计基础

考点6 数据库设计步骤

1设计原则

(l)关系数据库的设计应遵从概念单一化“一事一地”的原则。

(2)避免在表之间出现重复字段。

(3)表中的字段必须是原始数据和基本数据元素。

(4)用外部关键字保证有关联的表之间的联系。

2设计步骤

利用Visual FoxPro来开发数据库应用系统,可以按照以下步骤来设计。

6、SQL重点:

SQL

create table 表名(学号 C(8),,,)

alter table <及其参数> add(增加)\alter(修改)\drop(删除)

alter命令是对表结构的操作,相当于是modi stru

select from where

其它参数:into、between、order by(ASC/DESC)、group by (Having)等

说明: 对于这些参数,一定要能填空,并且理解其含义

insert into

update set

delete from where

Visual Foxpro重点:

第一部分:数据管理系统概述:

1、DBS、DBMS、DB的关系。DBMS是DBS的核心

2、理解数据库的特点

3、三种数据模型

4、关系数据库:关系、元组、属性、关键字,关系模式的描述

5、三种关系运算:选择、投影、连接(要能区分)

select from where

6、完整性控制(理解):实体完整性、域完整性、参照完整性

主健属性不能为空、引用完整性规则:该规则要求不允许引用不存在的元组、

保持数据的一致性

第二部分:VFP初步知识

1、性能指标

2、退出quit

3、扩展名:DBF和FPT,MEM,DBC、DCT和DCX、PJX、PRG和FXP、

IDX和CDX、TXT、SCX

4、工作方式:交互方式、程序方式(other:菜单方式、工具栏方式)

5、向导:工具栏、工具菜单栏、新建都可以使用向导

6、项目管理器的操作(如何添加、修改表单和程序)

第三部分:VFP数据基础

1、常量(判断的唯一标准是定界符)、变量的区分

2、运算符:或^ 、 $ 、% 、==和= set exact on/off

其它set设置命令

set default to \ set exact \ set filter to \set fields to \

set relation to \ set printer to \set deleted to \set device to

3、not -> and -> or

4、函数:

重点掌握:int()、所有的字符处理函数和转换函数、year()

date()、time()、测试函数recno()、reccount()、

type()、IIF()、BOF()、EOF()、FOUND()

第四部分:表的创建和操作

1、字段三要素:字段名、字段类型和字段宽度

2、备注型、通用型知识和如何操作。

3、关闭命令大全:use 、close all 、clear memory、clear all

close database 、close table 、close

4、list/disp [范围][for/while <条件>][fields <字段名表>]

[OFF][to printer/to file <文本文件TXT>]

三大参数:范围、条件、字段名表

注意:书写条件时间,字段名是变量,字段值得是常量(定界符)

例如:性别='男'

list=disp all(disp要分屏显示)

disp=list next 1(next 1为当前记录)

5、命令:go、list structure 、modify structure(添加新字段)

skip、browse、copy、replace、insert、append、

delete、recall、pack、zap、edit/change、过滤(非重点)

6、重要命令:replace、copy to和copy structure to 、

append blank和insert blank

7、scatter和gather、copy to array和append from array

第五部分:查询、统计和索引

1、sort 排序:产生新文件。默认是/a,也可以是/d(降序)

2、索引的分类(主、候选、普通、唯一),理解索引和排序的区别

索引的另一种分类: 单索引和复合索引(熟悉建立方法)

关于降序:

单索引只有数字型才能降序 index on -语文 to xx

其它要降序需要使用 desc 参数,只能在复合索引中完成

结构复合索引的特点: (1)与表同名 (2)随着表的打开而自动打开,但是不生效

3、重点掌握单索引文件,不要求order参数

索引的打开: (1)和表一起打开 (2)先打开表再打开 set index to

(3)建立时就打开并生效

从打开的索引中设置主索引(主控索引) set order to

4、其它:索引更新(重点)、关闭、删除。

5、查询:lodate 和 seek

6、统计:count、sum、average、total、calculate(非重点)

7、多工作区(重点!!!!!) 0号工作区的含义

select、三大命令set rela to 、join with 、updat

第六部分:数据库和视图

1、数据库的概念和基本文件:DBC、DCT、DCX

2、数据库基本命令:打开、修改、关闭、浏览

3、永久关系的建立方法(数据库中表与表之间)

4、理解设置参照完整性

5、视图:虚拟的表(兼有表的功能和查询的功能)。

理解本地视图和远程视图(不要求操作)

第七部分:程序设计。

1、程序基本结构:顺序、分支循环

2、理解算法和流程图

3、程序的编辑、运行。

4、退出程序:return、cancel、quit

5、输入/输出语句

第八部分:面向对象程序设计和表单。

1、对象和类

2、对象的属性、事件和方法

3、类和子类

4、类的特性:继承、封装、多态

5、基类(控件、容器)、子类、用户自定义类(不要求定义)

6、对象的引用:this、thisform、thisformset、parent

7、表单的概念

第九部分:基本控件和属性、事件、方法

一、基本知识

1、重点事件:click、init、gotfocus、lostfocus、interactivechange

2、重点方法:refresh、release、setfocus

表单调用:do form

3、函数:messagebox() additem() 。掌握名字,注意扩号

4、区别是一般控件还是容器类控件

容器类对象的操作方法:鼠标右键点容器:选编辑

主要属性:buttoncount

5、属性修改:引用对象名属性=值

方法的使用:引用对象名方法

事件的选择

二、控件和属性

1、重要:

文本框Label1(value、readonly、passwordchar)

命令按钮Command1(click事件、enabled、caption、visible)

标签label1(caption、font字体相关<字号、字体>)

表单Form1(Init事件、caption、autocenter) 单选按钮组

复选框(buttoncount、value)、命令按钮组、编辑框(属性和文本框一样,不过是多行)

列表框和组合框(兼有编辑框和列表框的功能)(value、Rowsource、RowsourceType)

表格(能用生成器直接生成、修改就行,无需记属性)

4、其次:微调按钮(Increment、SpinnerHighValue、SpinnerlowValue)

图象(picture、Stretch) ActiveX(可以显示通用型字段)

表单集(注意使用thisformset。)

计时器Timer(timer、Enabled、Interval毫秒计算)

5、表单中控件和表的连接:ControlSource属性

6、数据环境和列控件(重点)。

7、如何在数据环境中建立关联。

说明:比较重要、一般和其次的控件无须牢牢记住其属性,因为是上机时

考的可能性比较大。建议你熟悉它,只要在属性工具栏中能找就行

希望对你有所帮助!

两学生表都应该有学号字段吧,如用姓名则太不科学,不排除有同名学生啊.

我将有所有学生记录的表看作XS表,已录取学生的记录表看作LC表.那么你可以用一句SQL命令查询:

sele from xs wher 学号 not in;

(sele 学号 from LC)

或者

sele from xs wher not exists;

(sele from lc wher 学号=xswb学号)

屏幕则会显示出未录取学生的记录,查询窗口与浏览表窗口是一样的.

还是买本书最好。

VF常用命令和程序命令一、主要命令:

1、CREATE

作用:建立一个新的表。

格式:CREATE [<文件>|](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。)

说明:文件指建立以dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。

2、MODIFY STRUCTURE

作用:显示表文件结构,并允许修改此表的结构。

格式:MODIFY STRUCTURE

说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。

3、APPEND

作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。

格式:APPEND [BLANK]

说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。

4、INSERT

作用:在表文件中间插入一个新记录。

格式:INSERT [BEFORE] [BLANK]

说明:INSERT 在当前记录后插入一记录;

INSERT BEFORE 在当前记录前插入一记录;

INSERT BEFORE BLANK 在当前记录前插入一空记录。

5、BROWSE

作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。

格式:BROWSE

6、USE

作用:打开和关闭表文件。

格式:USE [<文件名>]

USE

说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的备注文件(fpt文件);后一个命令关闭当前打开的表文件。

7、LIST和DISPLAY

作用:显示表(dbf)的内容、结构或状态。

格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>]

LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>]

LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>]

说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:

RECORD n 第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL 所有的记录。不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号分

隔。WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的条件查找所有满足条件的记录。TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上打印出来和将显示结果输出到文件。DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在

该命令中,如果省略范围仅显示当前记录。格式中,下面两个命令分别为显示表结构(STRUCTURE)和工作状态(STATUS)。

8、记录的定位

作用:用记录指针(POINTER)定位记录。

格式:GO[TO] RECORD n|TOP|BOTTOM

n

SKIP [+|-]

说明:第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录,

BOTTOM定位到最后一个记录。第二个命令定位到第n个记录,n是一个数值。第三个命令又叫相对定

位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记录。

9、CHANGE和EDIT

作用:显示要编辑或修改的字段。

格式:CHANGE|EDIT [<范围>] [FIELDS <字段名表>] [WHILE <条件>] [FOR <条件>]

10、BROWSE

作用:打开一个"浏览"窗口,供用户浏览或修改记录。

格式:BROWSE [FIELDS <字段名表>]

11、REPLACE

作用:用表达式的值代替命令中与之相对应的字段的内容。

格式:REPLACE [<范围>] <字段1> WITH <表达式1>[,<字段2> WITH <表达式2>] [FOR <条件>] [WHILE<条件>]

12、DELETE、PACK、ZAP和RECALL

作用:分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的删除标志。

格式:DELETE [<范围>] [WHILE<条件>] [FOR <条件>] (特例:DELETE FILE FILENAMEDBF,

该命令删除指定的表文件)

PACK

ZAP

RECALL [<范围>] [FOR <条件>] [WHILE<条件>]

13、SORT和INDEX

作用:分别是建立一个其记录以新的物理顺序排列的新表文件和对当前表根据关键字表达式的值从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。

格式:SORT TO <文件名> ON <字段名1> [/A] [/C] [/D][,<字段名2> [/A] [/C] [/D]]

[ASCENDING|DESCENDING] [<范围>] [FOR <条件>] [WHILE<条件>] [FIELDS<字段表>]

INDEX ON <关键字表达式> TO <文件名>

INDEX ON <关键字表达式> TAG <标识名> [OF <文件名>] [FOR <条件>]

说明:第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字符型

关键字而言,ASCENDING和DESCENDING分别表示升序和降序。第1个命令建立dbf表文件,第2个命令

建立idx单一索引文件,第3个命令建立cdx复合索引文件(Compound Index)。

14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO

作用:分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。

格式:USE <表文件名> INDEX <索引文件名表>

SET INDEX TO [<索引文件名表>]

SET ORDER TO [<索引文件名>](特例:重新索引命令:REINDEX)

15、FIND、SEEK和LOCATE及CONTINUE

作用:前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容与命

令行中字符串相同的第一个记录。后一个命令在用USE打开表文件以后,直接查询表中字段内容。

格式:FIND <"字符串">|<字符串>SEEK <表达式>

LOCATE [<范围>] [FOR <条件>] [WHILE<条件>]

CONTINUE

说明:FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。在用LOCATE命令找到

一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。

16、COUNT

作用:统计当前表文件中符合条件的记录数。

格式:COUNT [<范围>] [FOR <条件>] [WHILE<条件>] [TO <内存变量名>]

说明:内存变量名可用除参数外的任意字符。

17、SUM

作用:对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求和。

格式:SUM [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]

18、AVERAGE

作用:对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均值并显示。

格式:AVERAGE [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]

二、常用函数

1、数学函数

函数 用途

ABS(<数值表达式>) 绝对值,|x|

CEILING(<数值表达式>) >=自变量的最小整数

EXP(<数值表达式>) 对基E的幂,e=271828

FLOOR(<数值表达式>) <=自变量的最大整数

INT(<数值表达式>) 取整(舍尾)自变量

LOG(<数值表达式>) 自变量的自然对数,ln x

LOG10(<数值表达式>) 自变量的普通对数,lg x

MAX(<表达式1>,<表达式2>) 两个值的最大值

MIN(<表达式1>,<表达式2>) 两个值的最小值

MOD(<数值表达式1>,<数值表达式2>) 求余数

RAND([<数值表达式1>]) 返回伪随机数

ROUND(<数值表达式1>,<数值表达式2>) 四舍五入第一个自变量

SIGN(<数值表达式>) 自变量的符号

SQRT(<数值表达式>) 平方根(正根)

2、字符串操作函数

函数 用途

&<内存变量> 用于代替内存变量内容

LEN(<字符串表达式>) 返回字符串表达式的字符个数

SPACE(<数值表达式>) 生成空格

SUBSTR(<字符串表达式>,<数值表达式n>[,<数值表达式L>]) 求子字符串,从指定的字符串表达式第n个开始,总长为L的字符串

LOWER(<字符串表达式>) 将字符串字母转换成小写字母

UPPER(<字符串表达式>) 将字符串字母转换成大写字母

TRIM(<字符串表达式>) 删除字符串尾空格

ASC(<字符串表达式>) 返回字符串表达式最左边的第一个字符的ASCII码

CHR(<数值表达式>) 将数值表达式转换成字符

AT(<字符串表达式1>,<字符串表达式2>[,<数值表达式n>]) 确定字符串表达式1在字符串表达式2中的位置,n为字符串表达式第几次出现

STR(<数值表达式>[,<数值表达式L>][,<数值表达式n>) 将数值转换为字符串,L为数值表达式总长,n为小数位数

VAL(<字符串表达式>) 将数字字符串转换为数字

TYPE(<表达式>) 检测表达式值的数据类型

LTRIM(<字符串表达式>) 删除字符串左部空格

RTRIM(<字符串表达式>) 删除字符串右部空格

LEFT(<字符串表达式>,<数值表达式n>) 取字符串左边部分字符,n为返回的字符个数

RIGHT(<字符串表达式>,<数值表达式n>) 取字符串右边部分字符,n从右边截取字符个数

3、表(dbf)操作函数

函数 用途

BOF([<工作区号或别名>]) 查表文件开始函数

EOF([<工作区号或别名>]) 表文件结尾测试函数

RECNO([<工作区号或别名>]) 测试当前或指定工作区表的当前记录号

DELETED([<工作区号或别名>]) 记录删除测试函数

FILE(<"字符串">) 测试文件是否存在函数

DBF([<工作区号或别名>]) 检测表的文件名函数

4、日期、时间函数

函数 用途

DATE() 查系统当前日期函数

TIME([<数值表达式>]) 查系统当前时间函数

YEAR(<日期型表达式>|<日期时间型表达式>) 由日期查年函数

MONTH(<日期型表达式>|<日期时间型表达式>) 从日期查月份函数

CMONTH(<日期型表达式>|<日期时间型表达式>) 由日期查月份名函数

DAY(<日期型表达式>|<日期时间型表达式>) 从日期查当月的日函数

DOW(<日期型表达式>|<日期时间型表达式>[,<数值表达式>]) 由日期查星期函数

CDOW(<日期型表达式>|<日期时间型表达式>) 从日期查星期名函数

DTOC(<日期型表达式>|<日期时间型表达式>) 日期转换为字符函数

CTOD(<字符串表达式>) 字符串转换为日期函数

CTOT(<字符串表达式>) 返回日期时间值函数

TTOC(<日期时间型表达式>) 返回字符值

5、显示、打印位置函数

函数 用途

ROW() 判断光标行位置函数

COL() 判断光标列位置函数

INKEY([<数值表达式>]) 检测用户所击键对应的ASCII码函数,数值表达式以秒为单位等待击键的时间

6、其他函数

函数 用途

DISKSPACE() 返回默认磁盘驱动器中可用字节数函数

OS() 检测操作系统名称的函数

VERSION() 返回VFP版本号的函数

三、主要程序语句

1、条件判断语句

格式:(1)IF <条件>

<命令语句组>

ENDIF

说明:如果条件为真,则执行命令语句组中的各语句,否则跳过这些命令语句不执行,

而执行ENDIF后的语句。

(2)IF <条件>

<命令语句组1>

ELSE

<命令语句组2>

ENDIF

说明:如果条件为真,执行命令语句组1,否则执行命令语句组2。

(3)IF <条件1>

IF <条件2>

<命令语句组1>

ELSE

<命令语句组2>

ENDIF

ELSE

<命令语句组N>

ENDIF

说明:进行多重条件的嵌套选择。

(4)DO CASE

CASE <条件1>

<命令语句组1>

CASE <条件2>

<命令语句组2>

CASE <条件3>

<命令语句组3>

CASE <条件N>

<命令语句组N>

[OTHERWISE]

[<命令语句组N+1>]

ENDCASE

说明:依次判断条件,转入条件为真的命令语句组中执行。当所有条件都不成立时,若有

OTHERWISE项,则执行命令语句组N+1,否则执行ENDCASE后面的语句。

2、循环语句

格式:(1)DO WHILE <条件>

<命令语句组>

[LOOP]

<命令语句组>

[EXIT]

<命令语句组>

ENDDO

说明:判断条件是否为真,如为真就重复执行循环体中的命令语句组,直到条件为假,结束循环。

(2)SCAN

<命令语句组>

ENDSCAN

说明:在一个表中建立一个执行命令语句组的循环,并执行对每一条记录的操作,直到表文件记录完为止。

VFP常用函数使用说明

1、数值运算函数

函数 操作 例 结果

SQRT(x) 求平方根 SQRT(9) 3

INT(x) 取整数 INT(314) 3

ROUND(x) 四舍五入 ROUND(314159,4) 31416

MOD(x,y) 求X除以Y的余数 MOD(25,4) 1

MAX(x,y) 求X,Y中的最大值 MAX(7,8) 8

MIN(x,y) 求X,Y中的最小值 MIN(1,2,3) 1

2、字符中操作函数

函数名 操作 例 结果

UPPER(S) 小写字母 UPPER(abc) ABC

LOWER(S) 大写字母 LOWER(ACD) acd

LEN(S) 求字符串的长度 LEN("中国1号") 7

AT(S1,S2) 在字符串S2,找字符串S1 AT("H","CHINA") 2

SUBSTR(S,I,N) 在S字符串中的第I个字符起取N个字符 SUBSTR('TECHNOLO',3,3) CHN

LEFT(S,N) 从字符串S左边取N个字符 LEFT("中国人",4) 中国

RIGHT(S,N) 从字符串S右边取N个字符 S=‘12345'

RIGHT(S,3) 345

SPACE(N) 生成N个空格 "合计"+SPACE(2)+"123" 合计123

TRIM(S) 消除字符串尾部空格 TRIM("姓名 ") 姓名

ALLTRI(S) 消除字符串中所有空格 ALLTRIM("李 丽") 李丽

STUFF(S1,N1,N2,S2) 用字符串S2替换S1中第N1个字符起的N2个字符 STUFF("NOW",2,1,"E") NEW

& 宏替换 P="G2"

USE &P USE G2

3、日期和时间函数

函数名 操作 例 结果

DATE() 求当前日期 DATE() 2001/11/12

DATETIME() 求当前日期和时间 DATETIME() 2001/11/12/0:22:33am

YEAR(D) 求年份 YEAR(DATE()) 2001

MONTH(D) 求月份(数值) MONTH(DATETIME()) 11

CMONTH(D) 求月份(字符) MONTH(DATETIME()) Novenber

DAY(D) 求日期 DAY(DATE()) 12

DOW(D) 求星期几(数值) DOW(DATE()) 1

CDOW(D) 求星期几(英文) CDOW(DATE()) sunday

TIME(D) 求当前时间 TIME(DATE()) 10:20:38am

4、数据类型转换函数

函数名 操作 例 结果

ASC(S) 求第一个字符串的ASCII码 ASC("what") 87

CHR(N) 求ASCII码的字符 CHR(87) w

STR(R,L,D) 数值转换成字符,L为长度,D为小数位数 X=31415

STR(X,6,2) 314

VAL(S) 字符串转换为数值 VAL("123") 12300

CTOD(S) 字符串转日期 CTOD('11/01/2002') 11/01/2002

DTOC(D) 日期转换成字符串 DTOC(DATE()) 11/01/2002

DTOS(D) 把日期转成年月日式的字符串 DTOS(DATE()) 20021101

CTOT(C) 字符串转成日期时间型 CTOT(11/01/2002 10:30:50am) 11/01/2002 10:30:50am

DTOT(D) 日期型转为日期时间型 DTOT(DATE()) 11/25/2001 00:00:01am

TTOC(T) 日期时间型转为字符型 TTOC(DATETIME()) 11/25/2001 00:00:01am

TTOD(T) 日期时间型转为日期型 TTOD(DATETIME()) 11/25/2001

IIF(LE,E1,E2) 逻辑判断 IIF(A>0,"YES","NO") YES

5、检测函数

函数名 操作 例 结果

RECNO() 检测当前记录号 RECNO() 1

RECCOUNT() 检测当前记录数 RECCOUNT() 12

BOF() 开始记录 BOF() 1

EOF() 最后记录 EOF() 12

FOUND() 返回查找结果 FOUND() T

ROW() 返回当前行坐标 ROW() 1

COL() 返回当前列坐

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/3958743.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-06
下一篇2024-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存