文档库 最新最全的文档下载
当前位置:文档库 › FOXPRO问答集锦

FOXPRO问答集锦

FOXPRO问答集锦
FOXPRO问答集锦

1.问:请告知如何生成安装盘?

答:使用菜单栏上的"工具|向导|安装",然后按照向导的指引即可完成。

2.问:在打印报表中如何打印总共多少页?

答:可以在打印之前统计一下有多少条记录,而每页能打多少条记录是知道的,这样就可以计算出总页数,然后用一个变量将其放入报表中。

3.问:如果一进入表单就打开数据库时应做何设置?退出表单关闭数据库时又应做何设置?

答:将表添加进表单的数据环境中后,隐含状态它们就是随着表单一起打开和关闭,由数据环境的autoopentables和autoclosetables属性确定,隐含为真,即自动

打开和关闭,如设置为假,则不自动打开和关闭。

4.问:我使用VFP

5.0时,使用控制命令直接将表格结果输出打印机,但发现打印机不能直接响应,直至退出VFP后才开始输出,并且输出的表格不能对齐,请问我将怎样处

理才能象在DOS中一样用编程方式控制打印输出。

答:在最后加一句set printer to,该语句的功能就是将打印缓冲器内容送到打印机。至于表格不能对齐是因为字体原因,主要是数字、字母等,WINDOWS中许多字

体的不同字符的宽度是不同(如I和W),因此您要选字符宽度相同的字体,如宋体等中文字体就行,?和@...say都可以跟font子句,如所有输出到打印机的语句都可

以用如下语句:

? 'name' font '宋体'

@2,5 say 'name' font '宋体'

5.问:我用do form frmcx.scx运行一个表单后,并将该表单的name属性设为frmcx,执行

_SCREEN.frmcx.caption="kkkkkk",会出现"不能识别成员frmcx"的错误,我

试过frmcx.caption="kkk"也不行,是何原因?请指教.怎样才能直接调用表单?

答:做为创建的最外层容器对象(一般是表单)不能直接用其名称调用,而应将其赋给一个变量,然后用这个变量名来调用,比如用如下语句:

do form frmcx name frmcx

这样就可以用frmcx来调用这个表单了,在这里frmcx是一个变量,随着程序的运行结束,该变量也会释放,这时再用该变量来调用此表单就不行了,为了使它不释放

可在上面的语句后面加linked子句,即:

do form frmcx name frmcx linked

6.问:我正在编一个学生管理系统,我设计了三个组合框,第一个框用来显示年级,如1999,1998,1997表示学生入校的时间,第二个框用来显示班级,如计算机98

班,旅游97班等,第三个用来显示学生的姓名。我想达到这样的效果,如:要查找一个学生,先在第一个框中,查到相应的年级,如1997年,那么在第二个框中就应

该只显示97年这一年的班级,如旅游97班等。这时就可以在第二框中挑选相应的班级,班级选定后,第三个框中就应该只显示本班的同学姓名。通过一番折腾,基

本上能够达到这样的效果。我是这样实现的,在第一框的CLICK事件中,把班级表和学生表用SET FILT 过滤,在第二个框的CLICK事件中,把学生表过滤。问题是:

这样下来特别不稳定,在前一个框动作后,后面的框有时能够显示,有时不显示,不知"故"在何处?请求指教。

答:这里不应该用click事件,而应用lostfocus事件,即当光标离开本文本框时对其它文本框作相应设置,而没离开之前,说明您的输入还没有最后确定,这时一般

也不需要对其它文本框设置,如更进一步想在没离开之前就将结果反映到其它文本框中,那要使用keypree事件,即每键入一个字符,就对其它文本做出设置。您的

方法之所以会不稳定,就是因为使用了click事件,即用鼠标点了就起作用,而没点(如按回车键)就不起作用。

7.问:如何实现按鼠标右键得出以前输入过的数据,比如在人事档案中,都是先输入每个人的基本资料,在业务处理中又要输入他的名称及有关信息,通常是按鼠标

右键显出他的个人资料。再双击鼠标或按确定按钮,即将有关信息输入。请问如何实现。

答:用表单或控件的rightclick事件接收鼠标右键按动,在其事件代码中编入相应程序,如根据当前显示的人名查询其相关资料,并打开另一表单将资料显示出来,

表单上可设一确定按钮,按了该按钮后,将相应数据存入相应的控件或变量中即可。

8.问:为了保证数据库内容的保密,除了用低级函数直接改写数据库内容外,还有没有更好的创意呢?

答:有一个比较简单易行的方法,就是将数据全部以字符的ASC码方式存入数据库(数值和日期等先转换为字符),在存之前先用一加密子程序(最好用函数的方式

调用)把ASC码用一个或几个固定数值与其加、减、乘、除以后再存入数据库,提取数据时用一解密子程序做逆运算即可。

9.问: vfp5.0交叉数据表或vfp5.0交叉数据表向导生成的"Qpr"文件,再编译成exe后,能不能运行?

答:1、将VFP目录下的vfpxtab.prg文件添加到项目管理器中;

2、将vfpxtab.prg第189行的语句中的第3个和第4个"+"前各加一个单引号,否则编译会出错,这是VFP的一个BUG;

3、将qpr文件中的(_GENXTAB)改为vfpxtab。

问:请问在选择组合框的一个侯选项目后,能否返回该项目的序号,我想用该序号作为数据库的记录号,以检索该记录。

答:使用listindex属性。

问:有一数据表,内含一GENERAL字段,存放了大量的图片,想把这些图片逐张转到本地硬盘存放,用手动太麻烦,兄台有没有办法用VFP(不用其他语言协助)编一

程序,自动将图片拷到硬盘上?

答:用Ole控件和宏实现:

1. 制作一个宏,{alt+f}a;

2. 添加Ole控件,在表单中执行方法DoVerb,如:thisform.OleObject.DoVerb(-1);

3. 然后播放宏,就可以得到另存为窗口;

4. 可以在表单上添加一些按扭,便于操作;

5. 如果知道Ole服务器的动作集,在DoVerb直接送参数就可以实现自动存盘。

问:要做一个数据录入的表单,假设有一个aaa.dbf的数据库与表单相关联,其中一个字段(job)是职业;同时通过一个zy.dbf代码库(有zy_code和job两个字段)

预先录入职业的代码及代表的职业。请问如何在aaa的录入表单中实现录入一个代码,在aaa 的JOB文本框出现代表的职业,同时存入AAA库中的是代码。谢谢!

答:在job文本框的lostfocus事件中写入如下代码:

select zy

locate for zy_code=trim(this.value)

if found()

this.value=job

this.refresh

zy=zy_code

else

messagebox('没有这个代码,请重新输入!',16,'注意')

this.format='k'

this.setfocus

endif

到时将zy变量的值存入aaa的job中。

问:在VFP5.0中,通用字段中的图形的编辑方法。我想通过编程方式直接将剪贴板中的图形粘贴进去。

答:在建您自己软件的菜单时插入系统的复制、剪切、粘贴菜单项,这样当打开数据库后用鼠标双击通用字段打开图形,然后就可以用菜单中相应的命令对其中的图

形进行复制、剪切、粘贴等操作了。

问:表单中的数据环境如何使用?如果一进入表单就打开数据库时应做何设置?退出表单关闭数据库时又应做何设置?数据表中的二进制字符型如何使用,其有何优

点?

答:在数据环境中将当前表单所要用到的表添加进来即可,隐含状态它们就是随着表单一起打开和关闭,由数据环境的autoopentables和autoclosetables属性确

定,隐含为真,即自动打开和关闭,如设置为假,则不自动打开和关闭。二进制数据在使用ActiveX控件和OLE对象时可能会用到。

问:在vfp5.0里有无办法实现SQL多重镶嵌? 因为我要实现这样一个功能:

S 数据库

W1名称 W2价格 W3日期

A 100 1月1日

B 156 1月1日

C 90 1月1日

...............

...............

A 150 12月1日

B 188 12月1日

C 100 12月1日

比如找出1月1日 --- 12月1日售价在100.00元到200.00元之间同一种货物的差价生成 S1 数据库

S1数据库:

W1名称 W4差价

A 50

B 32

我使用了SQL多重镶嵌,但执行过程中VFP5.0报告镶嵌过深,不支持.请问有没有别的办法解决?

答:可以不用多重镶嵌,先用一个select语句把符合条件的最小值放入一个库,再用一个select把最大值放入一个库,然后用一个select把两个库中相同品名的差价

算出来。

问:我用FOXPRO5创建了一个表单(FORM),并在表单上放置了页框架(PAGEFRAME),在页框架(PAGEFRAME)上放置了一组命令按钮(TXTBUTTON)。我发现,当我

选择添加按钮时,还原按钮不能使用。这样以来,对数据库记录的处理极不方便。你能告诉我解决的办法吗?

答:您的表单如果是用表单向导创建,那么很可能是您在还原按钮的click事件中写了语句,这样该按钮原来的程序就不起作用了,因为子类中一旦写入语句,就将

覆盖父类中的程序,如仍需执行父类中原来的程序,加上一句:dodefault()就行了。

问:VFP系统菜单的菜单项(BAR)字体为8号字,非常难看,而 PAD 却为9号字,请问如何更改为都是9号字。

答:菜单字体的大小,不是由VFP本身决定,而是WINDOWS的显示属性决定,您可以在WINDOWS 控制面板中打开显示属性,然后在外观中设置菜单字体的大小,先在项

目中选择"菜单",然后再设置字体的大小,注意是字体后面的"大小",而不是项目的"大小"。

问:我现在正用VFP5.0"向导"中的"安装",做安装程序。我在第5步中要求建立一个程序管理器组,可是安装程序生成好,我运行之后发现它并没有按我的要求在"开

始"菜单上建立程序组。我应如何解决?

答:不知您的程序安装后是否有启动程序的图标,如果没有那就是您在向导的第6步没有指定程序管理器项,应该将exe文件指定为程序管理器项,单击该文件所在行

的程序管理器项中的check按钮,在弹出的窗口中输入说明和命令行,命令行输入:%s\xxx.exe,xxx.exe为您的exe文件名,%s是为了保证程序在安装时改变了目录

也能正常运行,另还可选择图标。

问:在程序中随机生成的表或游标因为无法加入到数据环境中,怎么也无法用表格控件显示,请问如何解决这个问题?

答:有三个方法可以:

1、表格与数据环境中一个表A对应,程序中随机生成表B后,将表A清空,将B的数据全部放入A。

2、表格以及列的controlsource不要设数据表别名,列的controlsource只有字段名,那么当程序随机生成表的字段与表对应上以后就可以显示了。

3、以上两种方法适用于编程时知道随机表的字段情况,如字段都是随机的,无法预先知道,那么就只有用表格的addcolumn方法,即根据随机生成的表临时向表格中

添加列。当然预先知道字段的情况下也可用此方法。

另外可以使用视图或者使用SQL-SELECT语言。

问:我用winhelp写好了帮助文件,可是不知如何将它连到菜单上,请指点。

答:在您的菜单中用"插入栏"插入"Microsoft Visual FoxPro 帮助主题(\

help to xxx.hlp把系统帮助文件设为您的文件,xxx.hlp为您的帮助文件名。

问:我的DB管理程序中复合条件查询,全部条件都是Cmb,有两个条件在编译成.EXE(VFP下,表单的Active Event中加入READ EVENTS)后查询结果在Grid中不能Refresh:

Grid空白.且COUNT FOR &VA TO SUMREC,SUMREC有值,但SUM EQUIPMNT.美元 FOR &VA TO SUM_MY,SUM_MY无值. 在Active Event中加入READ EVENTS前则可以. VA是复

合条件. 如何解决?

答:我认为read events不应加在对象的事件程序中,因为一旦运行read events,程序便停止继续运行下去了,因此如果加在active event中,按理说这个表单就没

有完全形成,便停下来接受事件处理,这样自然会引起混乱。

问:在FORM中实现特殊字符的输入,FOXPRO中的字符字段只能输入一般字符,特殊字符是否自己作字库或利用OLE调用WORD功能来实现?

答:可用chr()函数来输入特殊字符,即用字符的ASC码来输入,至于输入的方法可有很多办法,比如可将常用字符预先放入的一个数据库,然后用组合框来选择输

入。

问:我编了一个极简单的程序,它是一个表单,其上只显示几行字,一个对象是标签,这种显示没问题。第二个对象是文本框,显示内存变量的值。做完表单后,在

菜单上选择运行表单,表单能够运行,文本框内能显示内存变量的值,但我建立一个工程文件后,将其编译成可执行文件,直接运行可执行文件,文本框内无法显示

内存变量的值,只有光标在闪烁。这是什么问题?我如何隐去光标?请您指教。

答:VFP中所有的事件程序都相当于一个子程序,当这个子程序运行完毕,在其中创建的变

量也就被释放了,所以您的程序在INIT事件中赋值的变量在文本框中不能

显示出来,解决的办法是在赋值语句前加上如下语句:public d3即将该变量定义为公共变量即能解决您的问题了。至于为什么在没有编译的时候又能显示变量的

值,很可能是因为您在命令窗口使用过该变量,而在命令窗口使用过的变量都是公共变量。

问:我想在表格中显示记录的序号,请问如何操作?

答:在表格中增加一列,将其controlsource设为recno()。

问:当点新增按钮时有可能出现增加空记录的问题,这样的话作统计时就会出错的,可是如何去掉所有的空记录呢?

答:选择一个字段作为主字段,如果这个字段为空则代表整条记录是空的,那么当每次退出系统或做统计之前,将该字段为空的记录删除。当然这只能是一种补救的

办法,即您的程序已经编好不想做太大改动。最好是在数据库的数据表中设置字段验证规则,使主字段不得为空,如果为空给出错误提示,并重新输入直到不为空为

止。

问:用sql语句添加了一条记录,怎样写到表里面.(不退出表单),因为我发现有一次写了100条记录,突然停电,结果100条记录没有了.如何解决?

答:记录没有了,很可能是您用了表缓冲,如果是这样,您应该经常使用tableupdate()函数将缓冲中的数据真正写到磁盘上的表里面去,这样停电就不会丢失数据

了。

问:在VFP5.0的报表设计器中,是否可以通过编程变化打印数据的颜色?例如,正数打印黑色,负数打印红色等等。

答:对同一个变量(字段),如金额,在报表上做两个域控件,它们是重叠的,一个黑色,一个红色,双击红色控件调出报表表达式设置框,按"打印条件",在出现

的设置框中的"仅当下列表达式为真时打印"中输入"金额<0",同理黑色的就输入"金额>=0",这样大于等于0就打印黑色的,反之打印红色的。

问:倒计时程序,如果我不想用控件来做,纯粹用命令编一个程序,比如说foxpro2.5for dos,我该怎么办呢?谢谢!

答:程序如下:

cleart1=second()

for jsq=20 to 1 step -1

@2,5 say jsq

t2=second()

do while t2-t1<1

t2=second()

enddo

t1=t2

endfor

问:我做了一个表单form1,表单上有一个IMAGE控件。image.picture的值在FORM1_LOAD()中定义,this.image.picture="c:\aaa\aaaa.bmp"可是运行表单后,提示错

误,不能识别成员的IMAGE。请问错误在那里,该如何改正。

答:控件的引用应该使用它的名称,即name属性的值,比如您这里的image控件,我想它的名称很可能是"image1"(当然我也不肯定,说不定就是"image",那就没

错),如果是这样,您就应该用"image1"来引用它。

另一个错误是:表单不能用"this"来引用,而应该用"thisform"引用。所以您的那个语句很可能应该是:thisform.image1.picture="c:\aaa\aaaa.bmp"

问:最近新装vfp5.0专业版发现在字符串字段输入时vfp自动转成中文输入,在数字字段输入时vfp自动转成英文输入,在其他软件并没有此现象。请教各位如何取消

此现象?在vfp中如何设置自动转换中英文输入?

答:text控件有个imemode属性,将其设为2可以关闭输入法,另外使用imestatu(0)可以关闭输入法,但是在VFP5.0的browse及表格中运用上面的方法关闭不了,因

此VFP6.0加了一个set browseime on|off命令,在5.0中的做法为:把"工具-选项-常规"里的启动IMG控件的勾去掉

问:我在编写查询模块的时候,在查找按钮的CLICK事件中调用用于查询的表单,可是当查找到记录后,却无法用REFRESH事件刷新上一级表单,用FORMNAME.REFRESH()在

VFP5.0下可正常刷新,但编译好后运行就会提示找不到对象FORMNAME(FORMNAME指上一级表单),请大虾们帮助.

答:这可能是您的表单名变量已被释放,所以不能用该变量再调用表单,至于在未编译前正常是因为您可能在命令窗口或其它什么地方将该变量定义成了公共变量,

所以始终不会释放,因此总是正常的,而编译后就不行了,或者这样试试:

DO FORM ***** NAME MYFORM LINKED

问:在输入密码时,通常为了不让别人看到而在屏幕上显示"*"来代替密码,或者就根本没有显示,请问这用@...get...句型时在FOXPRO下怎么实现(我用set cons

off根本不行,系统不承认,还是照样显示)。

答:看来您可能是用的DOS版FOXPRO,那么用"*"比较困难,但可以不显示,把前景与背景设为同样颜色。如果用的是VFP,那就方便了,用文本框输入,将文本框的

passwordchar属性设为"*"即可。

问:有一程序:

public aa

aa='1234'

do form abc

?aa

出现'找不到变量aa'错误,在form abc内并没有稀放所有aa变量,包括unload,请教如何保障内存变量在运行完form后不被干扰?

答:如果在FORM中没有释放变量,那么这个变量是不可能被释放的,导致出现您这种情况的可能是aa在此之前已成为私有变量,而一个私有变量是不能再定义为公共

变量的。

另外,如果从内存变量文件恢复了内存变量,要加ADDITIVE子句,如:

restore from memoname.mem additive

问:如何在form之间传递参数?

答:我想您的问题可以用公共变量的方式来解决,即在一个form中设置公共变量(用public 命令),然后给这个变量赋值,再到另一个form中就可以使用这个变量中的

值了。

另一个方法在需要接受参数的表单中,设置新属性(a)

init事件代码:

parameters n

thisform.a = n

在表单中就可以使用了,如:

if thisform.a = 3

...

endif

调用时: do form formname with 参数

问:rsgl系统中有一个表RSDA,我想填加一个照片字段,可修该表结构时根本不允许填加,并显示该表为只读方式,Why?

答:用use...exclusive打开表,如果是以共享方向打开表,就不能修改表结构,因此应以独占方式打开。

问:我在写程序的时候遇到了一个莫明其妙的出错信息:

"record is out of range."

我查了很多遍程序也找不到原因,只查到了出错语句是:

sele 1

use water

sele 2

sele song2

RECA ALL

SET ORDER TO TAG D OF song2.cdx

loca all for BH=water.BH .and. d=date()

当执行loca时就出错,以前这个程序能运行的。我现在就被挡在这儿了,程序进行不下去了,怎么会这样?

答:可能是索引坏了,重建一次试试。由于是用另一个文件存贮索引,很可能是没有及时更新。

问:在VFP编程中如何编写文本框输入数据合法性校验的事件代码.

答:在VALID事件中编写校验代码,比如可以如下:

if val(this.value)>100

return .t.

else

return .f.

endif

即大于100为合法输入,小于100则为非法,光标不能离开该控件。

问:如果我想在表单上加入一个表格,用于显示所有的记录,当鼠标点到某条记录时,其它控件的各项内容也同时变化,怎么实现好呢?

答:在表格的afterrowcolchange事件中编入刷新控件的命令即可。

问:在用表格显示数据表的内容时,我们怎样锁定其中的一列,如人事库中的姓名,当移动滚动条时姓名这一列,不移动?

答:在表格的左下角有一个黑色的小方块,用鼠标按住它往右拉就可达到您的要求。另外可以设置表格的partition属性做到。

问:人事档案软件编译成exe文件运行后,在执行菜单中的统计人数项时,却提示"无法更新临时表"的错误。

答:表被设为包含了,这样在编译时会被编译到EXE文件中,一旦编译进去就是只读表了,不能再更改,因此应将设为排除。推而广之,所有在程序运行期间需要改

变的文件都应该设为排除,比如一个图片文件,在运行时可能被改为其它内容。

问:我在使用GRID控件的过程中有个问题,请指教:在程序过程运行中通过ADDCOLUMN()方法在GRID中增加的栏,不管怎样设置(如READONLY,ENABLED属性),输

入数据时,系统都说本栏为只读而不能输入数据。

答:这是因为您没有为新列设置controlsource。

问:在GRID中如果使用了PACK命令后,GRID里显示为一片空白,为什么?

答:因为PACK命令要关闭数据库,因此会造成一片空白,所以在表格中不能使用PACK,最好在关闭表格时,才将记录真正删除,如要不显示已做删除标记的记录,可

用set delete on,如果一定要PACK,可用如下语句代替:

copy to lsk for .not. delete()

zap

append from l

问:在GRID中如果使用了PACK命令后,GRID里显示为一片空白。

答:(另一个答案)用基类生成自己的类(MyGrid),属性都设好(也可在程序中设定)

然后用其创建对象,

建一新方法 CteateGrid 代码:

thisform.addobject('grid1','mygrid')

每当PACK时(不仅仅此时,如换另一个表时等等,活学活用)

thisform.removeobject('grid1')

sele dbfname

pack

thisform.CreateGrid

Form 的 Init 事件

sele 0

use dbf alias dbfname

thisform.CreateGrid

问:在使用GRID控件时,如果列数过多时就会出现列的CAPTION错位的情况。我先用RSDA 里的现有的字段,在BJRY表单下面加了一个表格,没有问题。后来我想加几

个字段,我先随便加了8个(分别是aaaa-hhhh)用生成器加的时候没问题,再改时就出现表格的内容和标题不符的情况。用属性改了之后,有时还会出现再次错位的

情况。请指教。

答:使用生成器修改有时是会有问题,我也搞不清什么原因,我的做法往往是把表格删了重做。

问:VFP可读COM口数据吗?

答:当然可以,运用MSCOMM32.OCX的相应属性就行。

问:我的程序在执行"MODI STRU"时会显示提示信息"Table not opened exclusively.",而且,不能对数据库结构进行修改;当执行"PACK"时又显示出错"Exclusive

open of file is required.",不能删除记录。我用"CLOSE ALL","CLEAR ALL"后还是老样子。但是,只要重启动FOXPROW后就不会出现这种现象。这是怎么回事?

答:这是因为你的数据表文件不是设置为独占,当然不能执行PACK命令了,如果您让表单自动打开表,一般就是按共享方式打开,除非您将数据环境中的表的

exclusive属性设为.T.,或者在打开表单前用如下命令打开表就没问题。

use 表 exclusive

问:在程序过程运行中通过ADDCOLUMN()方法在GRID中增加的栏,不管怎样设置(如READONLY,ENABLED属性),输入数据时,系统都说本栏为只读而不能输入数

据。

答:这是因为您没有为新列设置controlsource。

问:我编了一个网络管理软件(本人是网管),就是让学生一上机就执行我的表单,输入代号及密码,而我现在的做法是将程序放在对等网的A机上,让表单记录学

生的姓名、机号与上机时间。这一切都是通过快捷方式在网络邻居中实现的。所有程序都在A 机上,但常常出错,如有时查询使用情况时(临时表),学生不能登

记,还有学生修改B机、C机的时间,也会让数据乱套。

答:您可以在查询情况时,将请况复制到另一个表再查看,这样就不会与登记冲突了。另外各种时间都以A机为准。

问:在一个顶层菜单中,我想屏蔽跳过一个菜单项,当输入密码后,该菜单项才可显示运行.按此思路我在菜单设计器/选项/跳过中设置了一个变量,当其为.F.时屏蔽,

为.T.时显示.可是当我单独运行此菜单时,能完成上述功能.如果和顶层表单一起运行时,就无法实现该功能.请问如何解决?

答:很可能您是在顶层表单的init事件中创建的该变量,那么当init事件程序结束后,该变量已释放,因此菜单将会找不到该变量来确定相应的菜单项是否显示,因

此您应该在主程序或菜单的初始化代码(如果是以菜单做为主程序)中创建该变量,如果是以该表单做为主程序,那么应首先定义该变量为公共变量。另外纠正一

点,跳过中的变量为.T.时屏蔽菜单项。

问:我做了一个代码录入表单,主库有一个"职业"的字段,将职业代码放在代码库"JOB库"(有:代码;职业2个字段)中。请教如何实现在录入到主库的"职业"字段

时,按F1键在屏幕上显示JOB库的代码及职业,并且可以用鼠标选择和按ESC键关闭提示。答:假设显示job库的表单是job,用下列代码实现您的要求:

on key label f1 do form job name job

在job表单中用组合框显示职业,可用鼠标选择,并在表单中设一退出按钮,将其cancel 属性设为真,按esc就可关闭表单。

问:我想利用捆绑型OLE控件,在输入的FORM中,针对每一个记录,分别激活各自的WORD 或EXCEL文件,类似于备注字段。我根据要求,设计了两个通用型字段,分别

对应WORD、EXCEL文件,并用捆绑型OLE编制,结果却无法实现。

答:使用如下命令可以调用WORD、EXCEL等:

PUBLIC MYOLE

MYOLE=CREATEOBJECT("WORD.APPLICATION")

*若是调用EXCEL,括符中改为EXCEL.APPLICATION

MYOLE.VISUBLE=.T.

就可以了

问:现在有一个数据库的程序已基本完成,但是现在需要把它改编成网络版,我看了foxpro 的随机文档,但是帮助不大,请问应该怎么办?

答:这要看是什么样的网络版,如果是对等网,(程序放在一台机器上,其他机器调用),程序不作大的变动,在主程序加一句 set exclu off

在需要独占打开的地方 set exclu on 或 use dbf exclu

如果用 SQL Server (客户机/服务器方式)需要生迁数据库...,一般书上有介绍。

问:如何在一个字符串中查找可能包含于其中的字符,其返回值是逻辑变量?例:在"行政管理人员"查找"管理"。

答:字段名 $ 包含的字符,如:

locate for '管理'$人员类别

便能找出包含"管理"的人员类别。

问:我目前在Novell 4.10 ,Windows 97 下,FoxPro for windows 2.6 中,想得到windows 的注册用户名,登录到 windows中的用户名称和该工作站的网络适配器序

号以及其它一些有关网络系统和工作站操作系统的信息,我用什么样的方式才能得到我想要的东西?需要那些具体的文件,怎么得到这些文件?

答:sys(0)返回网络机器名称和用户名称;getenv()可返回有关操作系统的环境变量内容,如getenv('path')可返回操作系统的路径。

问:1. 我想从中间开始打印,可是程序老是从第一页开始打印,所以想问一下在用报表打印时,能否能系统变量加以控制(如_pbpage,_pageno),应该怎样加以控

制。

2. 我想在浏览时关闭输入法,可是程序运行在FOXPRO下是可行的,但是一旦编译之后在浏览时会自动打开输入法,请问该如何解决。

答:关于你的第一个问题:VFP5.0的REPORT命令新增了一个非常有用的选项---RANGE,比如你想打印第5,6两页,命令为:REPORT FORM 文件名 TO PRINT RANGE 5,6.

第二个问题好象是VFP3.0和5.0中文版的一个BUG,有资料说微软公司的站点有它的补丁,我曾试着下载过,但文件太长(16M),且速度奇慢,没有成功。VFP6.0增加了一个

命令:

set browseime on|off

将其设为off可解决问题。

问:1、如何使报表只打最后一条记录?

2、一张不规则表,设计时就放在报表设计器的什么位置?

3、我设计了一个表单,并有一个小写人民币转大写人民币的子程序,如何设置控件才能使之一进入该表单就可以将小写转成大写?

4、在报表设计器中,如何使变量随记录指针改变而改变?(就是第3问的那个小写转大写,

小写是库记录,而大写是内存变量)

答:1、首先将reccount()赋给一个变量名,然后在报表命令中加入for recno()=变量名

2、应放在表头而不是细节区。

3、在表单的init事件中写入转换的程序。

4、就把大写也放入一个库,库中还应有一个对应的小写字段,然后按小写字段把两个库联动起来。

问:通过REPORT报表怎样控制行距?

答:在报表设计器中细节带区的高度就是行距,改变它就行。

问:能不能介绍一些关于表的缓冲的问题和临时表的应用。

答正常打开表,对表的添加修改都直接写入库中,对于有时放弃所做的修改非常麻烦,但如果设置的表缓存或行缓存就非常方便。你有两中选择,一种是保存,就是

确认你的操作,只要执行=tableupdate(.t.),另一种是还原,就是放弃所做的操作,恢复到修改之前的状态,只需用=tablerevert(.t.)。

对于如何设置表缓存参见CURSORSETPROP()函数。

临时表(cursor)在SQL命令时最常用,查询结果通常是临时的,没有必要写入磁盘,通过保存到临时表与DBF操作一样,只是不能进行写操作,对于某些涉及文件的命

令(如append from)命令不适用,但有个优点是临时表在内存中,退出系统时自动释放。

问:GRID的数据源是数据表,有什么方法能使GRID可以使用二维数组做为数据来源?或每列使用不同的数组?

答:最好、最方便的办法是用append from array命令将数组数据放入数据表,否则做起来太麻烦。

FoxPro 数据库管理系统介绍

FoxPro 数据库管理系统介绍 1.FoxPro简介 FoxPro2.5是Microsoft公司1993年推出的产品。1993年1月发布了FoxPro2.5for DOS和FoxPro2.5for windows两个版本,成为目前微机上最快、使用最广泛的数据库管理系统。 FoxPro2.5的新特点: 增强32位产品的特性;跨平台的开发; 新增或增强的命令与函数; 新的生成器命令; 新的系统内存变量。 由于FoxPro for DOS与FoxPro for windows相互兼容,下面就只简单地介绍一下FoxProˉfor windows的一些功能。 FoxPro for windows的常用工具集(菜单生成器、屏幕生成器、报表生成器)充分发挥Winˉdows的图形能力。这些能力包括图象显示、字模使用以及Windows元素与控制的应用,还可以用Bitmaps 作为屏幕的背景。 FoxPro的附属工具传递器(Transporter)支持FoxPro2.5for DOS 和它的DOS环境下的姐妹产品之间的交叉平台上的开发。FoxPro for DOS程序在大多数情况下可以不必修改而直接在FoxPro for windows 环境下运行。 独特的Rushmore查询优化技术支持复杂的检索并大幅度提高了

运行速度,图形环境并不影响FoxPro底层的速度。 FoxPro加入了Windows的一些动态功能,如OLE(对象连接与嵌入)、DDE(动态数据交换)、DLL(动态链接库)和Windows打印驱动程序等。 FoxPro for windows包括字型字体控制、拖放式编辑和块功能。Windows的全范围的各种字模(Font)在FoxPro2.5中都是有效的,包括True Type字模,这些字模对所有的FoxPro的工具和程序语言都是支持的。 FoxPro提供联机帮助文件。 发行工具箱(Distribution kit)提供流水过程,提供安装和启动例程。FoxPro适用于多用户及网络环境。 2.FoxPro的基本原理 FoxPro数据库是表的集合,这些表协同工作,一起来完成某项任务。这里的表是一种列表,在该表中的每项叫做一个记录,而每个记录又由许多字段组成,字段是数据库的最小数据单位。在FoxPro 中支持八种数据类型的字段。 (1)FoxPro的数据类型①字符型字段。②数字型字段。③日期型字段。④逻辑型字段。⑤备注字段。⑥通用字段。⑦图形类型字段。 ⑧浮点数值字段。 (2)工作区 在FoxPro中,组成某个数据库的各种表可以打开在多达255个工作区中,可以用编号1到255引用工作区,也可按A~J和11~255

foxpro命令完整说明

一、内存变量常用命令 一赋值 STORE <表达式>TO <变量名表> <内存变量名>=<表达式> 二显示 ? ?? LIST|DISPLAY MEMORY [LIKE<通配符>] [TO PRINTER[PROMPT]|TO FILE<文本文件名>] 三清除 CLEAR MEMORY RELEASE <变量名表> RELEASE ALL [LIKE<通配符>|EXCEPT<通配符>] 四保存 SAVE TO <内存变量文件名>[ALL LIKE|EXCEPT<通配符>] 五恢复 RESTORE FROM <内存变量文件名> [ADDITIVE] 二、表结构操作命令 一创建表 CREATE <表名> 二修改结构 MODIFY STRUCTURE 三显示结构 LIST|DISPLAY STRUCTURE [TO PRINTER[PROMPT]|TO FILE<文本文件名>] 四复制结构 COPY STRUCTURE TO <表名> [FIELDS<字段名表>] *生成表结构文件 COPY STRUCTURE TO <表结构文件名> EXTENDED *表结构文件还原成表结构 CREATE <表名> FROM <表结构文件名> 三、表记录操作命令 一表打开关闭 USE <表名> CLOSE DATABASES 二显示 LIST|DISPLAY [OFF] [范围] [FIELDS<字段名表>] [FOR<条件>] [WHILE<条件>][TO PRINTER[PROMPT]|TO FILE<文本文件名>] 三追加 APPEND [BLANK] APPEND FROM <表名> 四插入 INSERT [BLANK] [BEFORE]

《VisualFoxPro6.0简明教程》教学指导书(精)

《Visual FoxPro6.0简明教程》教学指导书 一、教学目的和要求 本课程以Visual Foxpro 6.0 为基础,讲授数据库系统的基本概念和基本理论,使学生了解关系型数据库的基本概念和程序设计方法,能够独立编写VFP程序,并结合数据库的操作管理功能,实现信息管理与查询功能,为后续课程学习奠定基础。 通过本课程的学习,使学生掌握数据库的基本概念、操作、查询;掌握高级语言程序设计及可视化编程功能,掌握可视化编程技巧及技术。学完本课程后,学生应该能够独立编制小型数据库应用程序。 为了便于教师备课,掌握进度,我们给出该课程的教学指导书。但基于各学校的教学安排和情况有所不同,所以很难有统一要求,我们仅以每周3+2学时为例(3节上课,2节上机,按18周设计)写出教学要求。对于每周2+2学时的教学单位有些章节内容可以删略。 二、课程内容及其安排 (课程安排以教育部高职高专规划教材《Visual FoxPro6.0简明教程》为基础) 教学课程内容安排: 第一周 内容:第1章Visual FoxPro 6.0概述 教学目的: 要求学生掌握VFP6.0的功能,VFP6.0系统的软硬件环境,VFP6.0系统的安装及性能指标和VFP6.0文件组成。 教学重点与难点: 1.VFP6.0系统的启动 2. VFP6.0环境介绍 3.VFP6.0文件组成 作业: 1.VFP 6.0的主要特点是什么? 2.VFP 6.0主要使用哪两种菜单? 3.VFP 6.0的数据库文件和数据表文件的扩展名是什么? 第二周 内容:项目管理器 教学目的: 使学生学会项目管理器的建立和使用. 教学重点与难点: 1.项目管理器的建立和界面操作 2. 设计器与生成器的使用 3. 工作目录与搜索路径的建立 作业: 1.什么是项目管理器? 2.如何进入项目管理器 3.项目文件的扩展名是什么?

VisualFoxpro编程实例

实验五 Visual Foxpro编程实践 一. 实验目的与要求 掌握利用Visual Foxpro编制开发自己的应用程序的实践知识,并学会在程序调试中自行发现问题和修改程序代码,最终完成应用程序的无错运行。 二. 相关知识 利用Visual Foxpro自行开发编制应用程序的步骤: 1.设置好系统的工作环境(尤其注意工作目录的默认设置)。 2.如果是初次进行,应当先建立一个项目,为该项目命名,激活项目管理器。如果是接着上次的工作进行,则打开上次工作的本项目,同样也激活项目管理器。 3.在项目管理器的“数据”“数据库”下面创建一个数据库,并命名(如已创建,则跳过本步骤)。 4.在项目管理器的“数据”“数据库”“表”下面进行数据表的创建或修改工作,并输入少量的正确数据以便将来的运行调试(如果已经创建了数据表,则跳过本步骤)。 5.在项目管理器的“文档”下面创建该应用程序所用到的所有表单,设计好各表单的界面并为表单里的控件填写程序代码.(注意为表单添加各自的数据环境,否则会出错!) 6.试运行各表单,发现问题后重新修改有问题的表单的代码,反复调试和修改直至最后能无错运行。 7.将应用程序打包发布或制作成安装文件。 三. 实验容与步骤 本次实验以一个简单的学生成绩管理系统为例。首先,对该系统作一个简单的介绍:该应用系统为完成学生信息和成绩的管理系统,主要有以下几个应用模块: (1)用户登录管理:系统具有管理员功能,只有取得管理员权限的人才能使用本系统。 (2)数据添加功能:对学生基本信息、教师基本信息、班级信息、课程信息、学生成 绩信息进行添加录入。 (3)数据查询功能:对上述信息的基本查询。 (4)数据修改功能:对上述信息可进行修改工作。 (5)统计操作:可分别按个人成绩、单科成绩统计出最高成绩、最低成绩和平均成绩 等。 (6)打印功能:对上述信息可进行打印。 实验步骤如下: 1.数据库设计: 首先设置好系统的运行环境和工作目录,然后建立项目,为项目命名为“学生成绩管理系统”,激活项目管理器,并在在项目管理器的“数据”“数据库”下面创建一个数据库,命名为“学生成绩管理”,在“数据库”的“表”下面创建以下各数据表: 字段名称类型宽度 用户名字符型10 密码字符型10 字段名称类型宽度 学号字符型8 字符型10

FoxPro常用命令

FoxPro常用命令 1、Append [from] 2、Brow 3、Close [All] 4、Copy to 5、Count 6、Delete 7、Edit 8、For <条件> 9、Go Top/Button/n 10、Insert 11、Pack 12、Recall [All] 13、Replace 14、Select n 15、Sort on 16、Use [文件名] 17、Zap 18、FoxPro的运算符号及求和等运算函数 19、FoxPro的数据类型及类型转换函数 2007-12-09 | 常用Visul FoxPro命令、函数及程序语句 标签:FoxPro参考 有个朋友让我帮助处理一下用Excel建立的数据,本想用Delphi做处理,突然想到了FoPro,把Excel文件另存为DBF3的格式,然后用FoxPro做处理也很方便,而且让他学会处理,对他以后再做类似的处理也有好处,于是,搜集了一下Visul ForPro的相关资料,先复习了一下下,很快就完成了他的数据处理。 现在,把这些资料放到这,以后再查找也方便了。 一、主要命令: 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后

Visual FOXPRO中的常用命令和函数

Visual FOXPRO中的常用命令 命令结构 FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。 如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT] 常用子句 范围:表示记录的执行范围,可以是下面几项其中之一: ALL 表示全部记录; NEXT n 表示从当前记录开始的以下n条记录; RECORD n 表示第n号记录; REST 表示从当前记录到最后一条记录。 FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。 FOR条件:对满足条件的记录进行操作。 WHILE 条件:当遇到第一个不满足条件的记录时,停止命令执行。 以下命令中,大写的英文词为关键词,必须原样照写。 “常用子句”指以下几个可选子句: [范围] [FIELDS 字段名表] [FOR 条件] [WHILE 条件] 命令中的“列表”,指用“,”分隔的各项。如“字段名列表”就是将各个字段名用逗号分隔。部分英文词的意义: Databasename 数据名 tablename 数据表名 filename 文件名 Viewname 视图名 arrayname 数组名 一、数据库的建立、打开、关闭和删除 建立数据库: CREATE DATABASE [databasename|?] .DBC .DBT 从磁盘中删除数据库: DELETE DA TABASE databasename|? 打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE] 打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?] 指定的数据库databasename为当前数据库。 指定当前的数据库:SET DA TABASE TO [databasename] Databasename必须为已经打开的数据库。如果省略数据库名称databasename,则不指定当前

visualfoxpro知识点

第一章数据库系统概述 数据库系统(DBS):指引入数据库技术的计算机系统 特点:数据结构化,数据共享性高,程序和数据具有较高 的独立性,为用户提供良好的接口,统一管理和控 制数据,系统灵活,易于扩充. 数据库(DB):是存储在计算机设备上.结构化的相关数据的集合,不仅描述事物数据的本身,也包括相关事物之间的联系. 数据库管理系统(DBMS):是数据库系统中对数据进行管理的软件系统,是数据库的核心. 功能:数据定义功能,数据操纵功能,数据库管理和控制功能. 数据库管理员(DBA)的主要工作:数据库设计,数据库维护,改 善系统性能,提高系统效率 数据库设计的根本目的:解决数据资源共享问题 数据库系统的体系结构 概念模式:简称模式,是数据库中全体数据的逻辑结构和特征的描述, 是面向全部用户的公 共数据视图 外模式:又称子模式或用户模式是用户与数据库的接口. 内模式:又称物理模式或存储模式,描述数据在存储介质上的安排和存储方式。一个数据库只有一个内模式. 数据模型:客观事物及联系—概念模型—数据模型.

E-R模型:实体(矩形)属性(椭圆)联系(菱形) 在数据库设计阶段,将E-R图转化为关系数据模型的过程属于逻辑设计阶段。 两个实体间的联系:一对一的联系如班级与班长 一对多的联系如班级与学生 多对多的联系如学生与课程 数据模型有:层次模型,网状模型,关系模型:是用二维表结构描述,一张二维表就是一个关系 关系数据库 关系:一个关系就是一张二维表. 元组(记录):表中的一行. 属性(字段):表中的一列. 域:属性的取值范围. 关键字:一张表中的一列或若干列能够把不同的记录区分开来. 超关键字:二维表中能唯一确定记录的一列或几列,但它包含的字段可能是多余的. 候选关键字:如果超关键字去掉任何一个字段后都不能唯一确定,是候选关键字. 主关键字:外部关键字P10 关系的特点:(1)关系必须规范化.即表中不能再包含表. (2)同一关系中不允许出现相同的属性名. (3)关系中任意两个元组不能完全相同.

foxpro数据库命令总结

foxpro数据库命令总结 2010-12-13 20:54:50| 分类:软件URL | 标签:|字号大中小订阅 数据库和数据表典型及重点操作方式 create datebase <数据库名> 建立数据库 modi datebase <数据库名> 修改数据库 crea <数据表> 建立数据表 modify structure 修改数据表结构 use <数据表名> 打开数据表 append [blank] 追加数据 list stru 显示数据表结构 skip [<数值表达式>] 记录指针的相对定位 insert blank 插入空白记录 delete [<范围>] [for<条件>] 对记录作删除标记 recall [范围>] [for<条件>] 取消删除标记即恢复记录 browse [fields<字段名表>] [nodelete] [nomodify][partition <数值表达式>] 浏览修改数据 replase范围>] <字段名1> with <表达式> [for <条件>] 记录的替换 count [<范围>] [for<条件>] [to <内存变量>] 记录个数计算 sum [<范围>] [<数值型表达式>] [for <条件>] [to <内存变量表>] 库字段的求和 edit for <条件> 纵向编辑或修改 brow noappe noedit 不能向数据库中添加记录 brow nodelete nomodify既不能加上也不能去掉记录的删除标记 brow lock <数值表达式> 数据库中前面的几个字段被锁定 brow partition <数值表达式> [redit ledit]将浏览窗口分成两个窗口 brow font '宋体' ,18 part 30 redit 改变字体大小分割纵横两个窗口 calc sum(数学),sum(foxpro) to a1,a2 统计数学和数据库的总和 (提示:限制性的短语用在命令动词后时,不分前后顺序) ●copy stru to <数据库文件名> [fields <字段名表>] 数据库结构的复制copy to <文件名> sdf for <条件> [fiel <字段名表>] 生成文本 ●移除备注文件的数据 Delete record 4 Pack memo ●appe from <未打开的库文件> [for <条件>] [fiel <字段名表>]合并(链接)到当前数据库的末尾 ●index on <索引表达式> to <索引文件名> [for <条件>] 索引文件的建立 loca [<范围>] [for <条件>] 数据库的查询 ●按钮隐藏与显示: if this.caption="追加记录" https://www.wendangku.net/doc/cc16768179.html,mand2.visible=.t. this.caption="继续追加"

VF9.0数据库常用命令

VF 9.0常用命令 一、基本命令 APPEND 在表的末尾添加一个或多个新记录 APPEND FROM 从一个文件中读入记录,追加到当前表的尾部AVERAGE 计算数值表达式或字段的算术平均值 BROWSE 打开浏览窗口,显示当前或选定表的记录CHANGE 显示要编辑的字段 CLOSE 关闭各种类型的文件 COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表 COPY TO ARRAY 将当前选定表中的数据复制到数组 COPY TO 用当前选定表的内容创建新文件 COUNT 统计表中记录数目 CREATE 生成一个新的VisualFoxPro表 CREATE DATABASE 创建并打开一个数据库 DELETE 给要删除的记录做标记 DELETE DATABASE 从磁盘上删除数据库 DELETE VIEW 从当前数据库中删除一个SQL视图 DISPLAY 在VisualFoxPro主窗口或用户自定义窗口中显示与当前表有关的信息 DISPLAY DATABASE 显示有关当前数据库的信息,或当前数据库中的字段、命名连接、表或视图的信息

DISPLAY MEMORY 显示内存变量和数组的当前内容DISPLAY STRUCTURE 显示一个表文件的结构 DISPLAY VIEWS 显示当前数据库中关于SQL视图的信息以及SQL视图是否基于本地或远程表的信息 DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它DROP VIEW 从当前数据库中删除指定的SQL视图 FIND 查找记录 GO|GOTO 将记录指针移动到指定记录上 INSERT 插入记录 JOIN 将两个数据库文件合并 LIST 连续显示表或环境信息 LIST DATABASE 连续显示有关当前数据库的信息 LOCATE 按顺序搜索表从而找到满足指定逻辑表达式的第一个记录 MODIFY DATABASE 打开数据库设计器,让你能够交互地修改当前数据库 MODIFY STRUCTURE 显示表设计器 MODIFY VIEW 显示视图设计器 OPEN DATABASE 打开一个数据库 PACK 从当前表中永久删除标有删除标记的记录 RECALL 恢复所选表中带有删除标记的记录SCAN...ENDSCAN 运行扫描数据表文件

VisualFoxPro数据库编程函数大全

大全 数据库函数大全 VisualFoxPro数据库函数 ADATABASES()将所有打开数据库的名称和路径放到内存变量数组中 ADBOBJECTS()把当前数据库中的命名连接名、关系名、表名或sQL视图名放到一个内存变量数组中AFIELDS()把当前表的结构信息存放在一个数组中,并且返回表的字段数 ALIAS()返回当前表或指定工作区衰的别名 ASESSIONS()创建一个已存在的数据工作期ID数组 ATAGINFO()创建一个包含索引和键表达式的名字、数量和类型信息的数组 AUSED()将一个数据工作期中的表别名和工作区存入内存变量数组 BOF()确定当前记录指针是否在表头 CANDIDATE()判断索引是否为候选索引 CDX()根据指定的索引位置编号,返回打开的复合索引(.CDX)文件名称 CPDBP()返回一个打开表所使用的代码页 CREATEOFFLINE()由已存在的视图创建一个游离视图 CURSORGETPROP()返回VisualFoxPro表或临时表的当前属性设置 CURSORSETPROP()指定VisualFoxPro表或临时表的属性设置 CURSORTOXML()转换VisualFoxPro临时表为XML文本 CURVAL()从磁盘上的表或远程数据源中直接返回字段值 DBC()返回当前数据库的名称和路径 DBF()返回指定工作区中打开的表名,或根据表别名返回表名 DBSETPROP()给当前数据库或当前数据库中的字段、命名连接、表或视图设置一个属性 DELETED()返回一个表明当前记录是否标有删除标记的逻辑值 DESCENDING()是否用DESCENDING关键字创建了一个索引标识 DROPOFFLINE()放弃对游离视图的所有修改,并把游离视图放回到数据库中 EOF()确定记录指针位置是否超出当前表或指定表中的最后一个记录 FCOUNT()返回衰中的字段数目 FIELD()根据编号返回表中的字段名 FILTER()返回SETFILTER命令中指定的表筛选表达式 FLDLIST()对于SETmELDS命令指定的字段列表,返回其中的字段和计算结果字段表达式 FLOCK()尝试锁定当前表或指定表 FOR()返回一个己打开的单项索引文件或索引标识的索引筛选表达式 FOUND()如果CONTINUE、FIND、LOCATE或SEEK命令执行成功,函数的返回值为"真" FSIZE()以字节为单位,返回指定字段或文件的大小 GETFLDSTATE()返回一个数值,标明表或临时表中的字段是否已被编辑,或是否有追加的记录,或者记录的删除状态是否已更改 GETNEXTMODIFIED()返回一个记录号,对应于缓冲表或临时表中下一个被修改的记录 HEADER()返回当前或指定表文件的表头所占的字节数 IDXCOLLATE()返回索引或索引标识的排序序列 INDBC()如果指定的数据库对象在当前数据库中,则返回"真"(.T.) INDEXSEEK()在一个索引表中搜索第一次出现的某个记录 ISEXCLUSIVE()判断一个表或数据库是以独占方式打开的 ISFLOCKED()返回表的锁定状态 ISREADONLY()判断是否以只读方式打开表 ISRLOCKED()返回记录的锁定状态 KEY()返回索引标识或索引文件的索引关键字表达式 KEYMATCH()在索引标识或索引文件中搜索一个索引关键字 LOOKUP()在表中搜索字段值与指定表达式匹配的第一个记录 LUPDATE()返回一个表最近一次更新的日期

Visual FoxPro常用命令总结

Visual FoxPro常用命令总结 1、打开表命令: USE 表文件名 2、关闭表命令:USE 、CLOSE ALL 3、记录指针定位命令:GO 数值表达式(绝对移动)、SKIP(相对移动) 4、替换(修改)记录命令: REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式2…… [范围][FOR<条件>] 5、复制表命令: COPY TO 新文件名 [FOR〈条件〉][范围] 6、复制表结构命令:COPY STRU TO 新表文件名 [FIEL 〈字段名表〉] 7、查询命令:(1)条件查询:LOCATE FOR 〈条件〉 继续查找命令:CONTINUE 8、选择工作区命令: SELE 工作区号|别名 9、建立表之间的关联命令:SET RELATION TO 关联表达式 INTO 别名 10、表的更新命令: UPDATE ON 关键字段 FROM 别名 REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式2 …… [RANDOM] 11、交互式输入命令: (1)INPUT [提示信息] TO 内存变量 (2)ACCEPT [提示信息] TO 内存变量13、输出命令:?和?? 14、设置默认路径命令: SET DEFA TO 盘符:\路径 15、关闭表命令:CLOSE TABLE,CLEAR ALL 16、记录显示命令:LIST/DISP [范围][FOR 〈条件〉] 17、追加记录命令:(1)表尾追加:APPEND [BLANK] (2)表中插入:INSERT [BEFORE] [BLANK] (3)从其他文件中追加多条记录到当前表: APPEND FROM 文件名 [FOR〈条件〉][FIEL <字段名表>] 18、删除记录命令:DELE [范围][FOR<条件>] 19、彻底删除带标记记录命令:PACK 20、取消删除标记命令:RECALL [范围][FOR<条件>] 21、物理删除表中所有记录命令:ZAP 22、复制任何类型文件:COPY FILE 〈文件名1〉TO 〈文件名2〉 23、将单个记录发送到数组:SCATTER TO 〈数组名〉[FIEL〈字段名表〉] 24、将数组中的值发送到当前记录命令:GATHER FROM 数组名 25、将表中多条记录传送到数组命令:COPY TO ARRAY 数组名 26、将二维数组中的值传送到表中: APPEND FROM ARRAY 数组名 27、表的排序命令: SORT ON 〈字段1〉/A|/D,字段2/A|/D to 新表文件名

VisualFoxPro考试试题及答案

VFP考试试题及答案 一.单选题 1.关系模型的完整性不包括(A)。 A.迭代完整性 B.实体完整性 C.参照完整性 D.用户定义完整性 2.VisualFoxPro数据中的每一行称为(C)。 A.串标 B.行号 C.记录 D.编数 3.关系数据模型中的关系指的是(D)。 A.表行 B.表列 C.总和 D.二维表 4.常用的数据模型中有(C)。 A.比较模型 B.曲面模型 C.关系模型 D.对称模型 5.常用的数据模型中包括(A)。 A.层次模型 B.线性模型 C.双轨模型 D.瀑布模型 6.(A)是包含表中的一个或一组字段按一定顺序排列的数据列表。 A.索引 B.合并 C.列序 D.标号 7.数据库系统的三级模式中包括(B)。 A.循环模式 B.模式 C.高级模式 D.流行模式 8.常用的数据模型里有(B)。 A.回旋模型 B.网状模型 C.棱状模型 D.交叉模型 9.VisualFoxPro的表中每一列称作(A)。 A.字段 B.列标 C.名称 D.线型 10.数据库系统不包括(D)。 A.操作系统 B.数据表 C.数据库 D.计划书 11.数据模型描述的是(C)。 A.大小 B.颜色 C.事物间联系 D.特征 12.关系二维表中垂直方向的列称作(C)。 A.列名 B.特征 C.属性 D.行标

13.数据库系统三级模式中包括(A)。 A.外模式 B.层叠模式 C.交叉模式 D.圆环模式 14.数据库是指(A)的数据集合。 A.相关的 B.无序的 C.混合的 D.循环的 15.关系二维表中水平方向的行称作(A)。 A.元组 B.行标 C.数值 D.列值 16.数据库系统中不包括(B)。 A.数据库 B.空调 C.管理员 D.数据库管理系统 17.数据库系统的特点不包括(D)。 A.数据共享 B.减少数据冗余 C.避免不一致 D.数据交叉 18.数据库管理系统的英文缩写是(B)。 A.DA B.DBMS C.MANG D.GUANLI 19.数据库系统的组成中不包括(A)。 A.说明书 B.数据库管理系统 C.电脑主机 D.数据 20.关系二维表中列的取值围称作(A)。 A.域 B.值围 C.数据 D.区间 21.数据库的英文缩写是(C)。 A.SJK B.ABC C.DB D.OBJ 22.符合数据库特点的是(A)。 A.存储在计算机部 B.无序的 C.部无关的 D.用户独享 23.以下选项属于数值类数据的是(B)。 A.一二三 B.123 C.2012/2/1 D.ABC 24.关系R(D1,D2)的目等于(B)。 A.1 B.2 C.3 D.4 25.关系代数中的专门的关系运算中不包括(A)。 A.套用 B.选择 C.投影 D.连接 26.关系运算的类别中包括(C)。

Visual FoxPro数据库命令大全

Visual FoxPro数据库命令大全 ADATABASES() 将所有打开数据库的名称和路径放到内存变量数组中 ADBOBJECTS() 把当前数据库中的命名连接名、关系名、表名或sQL视图名放到一个内存变量数组中AFIELDS() 把当前表的结构信息存放在一个数组中,并且返回表的字段数 ALIAS() 返回当前表或指定工作区衰的别名 ASESSIONS() 创建一个已存在的数据工作期ID数组 ATAGINFO() 创建一个包含索引和键表达式的名字、数量和类型信息的数组 AUSED() 将一个数据工作期中的表别名和工作区存入内存变量数组 BOF() 确定当前记录指针是否在表头 CANDIDATE() 判断索引是否为候选索引 CDX() 根据指定的索引位置编号,返回打开的复合索引(.CDX)文件名称 CPDBP() 返回一个打开表所使用的代码页 CREATEOFFLINE() 由已存在的视图创建一个游离视图 CURSORGETPROP() 返回VisualFoxPro表或临时表的当前属性设置 CURSORSETPROP() 指定VisualFoxPro表或临时表的属性设置 CURSORTOXML() 转换VisualFoxPro临时表为XML文本 CURVAL() 从磁盘上的表或远程数据源中直接返回字段值 DBC() 返回当前数据库的名称和路径 DBF() 返回指定工作区中打开的表名,或根据表别名返回表名 DBSETPROP() 给当前数据库或当前数据库中的字段、命名连接、表或视图设置一个属性 DELETED() 返回一个表明当前记录是否标有删除标记的逻辑值 DESCENDING() 是否用DESCENDING关键字创建了一个索引标识 DROPOFFLINE() 放弃对游离视图的所有修改,并把游离视图放回到数据库中 EOF() 确定记录指针位置是否超出当前表或指定表中的最后一个记录 FCOUNT() 返回衰中的字段数目 FIELD() 根据编号返回表中的字段名 FILTER() 返回SETFILTER命令中指定的表筛选表达式 FLDLIST() 对于SETmELDS命令指定的字段列表,返回其中的字段和计算结果字段表达式 FLOCK() 尝试锁定当前表或指定表 FOR() 返回一个己打开的单项索引文件或索引标识的索引筛选表达式 FOUND() 如果CONTINUE、FIND、LOCATE或SEEK命令执行成功,函数的返回值为"真" FSIZE() 以字节为单位,返回指定字段或文件的大小 GETFLDSTATE() 返回一个数值,标明表或临时表中的字段是否已被编辑,或是否有追加的记录,或者记录的删除状态是否已更改 GETNEXTMODIFIED() 返回一个记录号,对应于缓冲表或临时表中下一个被修改的记录 HEADER() 返回当前或指定表文件的表头所占的字节数 IDXCOLLATE() 返回索引或索引标识的排序序列 INDBC() 如果指定的数据库对象在当前数据库中,则返回"真"(.T.) INDEXSEEK() 在一个索引表中搜索第一次出现的某个记录

foxpro命令大全

Visual foxpro 命令大全和函数大全 默认分类2009-09-14 23:42:07 阅读470 评论0 字号:大中小 ? 在下一行显示表达式串 ?? 在当前行显示表达式串 @... 将数据按用户设定的格式显示在屏幕上或在打印机上打印 ACCEPT 把一个字符串赋给内存变量 APPEND 给数据库文件追加记录 APPEND FROM 从其它库文件将记录添加到数据库文件中 AVERAGE 计算数值表达式的算术平均值 BROWSE 全屏幕显示和编辑数据库记录 CALL 运行内存中的二进制文件 CANCEL 终止程序执行,返回圆点提示符 CASE 在多重选择语句中,指定一个条件 CHANGE 对数据库中的指定字段和记录进行编辑 CLEAR 清洁屏幕,将光标移动到屏幕左上角 CLEAR ALL 关闭所有打开的文件,释放所有内存变量,选择1号工作区 CLEAR FIELDS 清除用SET FIELDS TO命令建立的字段名表 CLEAR GETS 从全屏幕READ中释放任何当前GET语句的变量 CLEAR MEMORY 清除当前所有内存变量 CLEAR PROGRAM 清除程序缓冲区 CLEAR TYPEAHEAD 清除键盘缓冲区 CLOSE 关闭指定类型文件 CONTINUE 把记录指针指到下一个满足LOCATE命令给定条件的记录,在LOCATE命令后出现。 无LOCATE则出错 COPY TO 将使用的数据库文件复制另一个库文件或文本文件 COPY FILE 复制任何类型的文件 COPY STRUCTURE EXTENED TO 当前库文件的结构作为记录,建立一个新的库文件 COPY STRUCTURE TO 将正在使用的库文件的结构复制到目的库文件中 COUNT 计算给定范围内指定记录的个数 CREATE 定义一个新数据库文件结构并将其登记到目录中 CREATE FROM 根据库结构文件建立一个新的库文件 CREATE LABEL 建立并编辑一个标签格式文件 CREATE REPORT 建立宾编辑一个报表格式文件 DELETE 给指定的记录加上删除标记 DELETE FILE 删除一个未打开的文件 DIMENSION 定义内存变量数组 DIR 或DIRECTORY 列出指定磁盘上的文件目录 DISPLAY 显示一个打开的库文件的记录和字段 DISPLAY FILES 查阅磁盘上的文件 DISPLAY HISTORY 查阅执行过的命令 DISPLAY MEMORY 分页显示当前的内存变量 DISPLAY STATUS 显示系统状态和系统参数

visualfoxpro的运算符与表达式

Visual FoxPro的运算符与表达式 运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符,而参与运算的数据称为操作数。表达式用来表示某个求值规则,它由运算符和配对的圆括号将常量、变量、函数、对象等操作数以合理的形式组合而成。 表达式可用来执行运算、操作字符或测试数据,每个表达式都产生唯一的值。表达式的类型由运算符的类型决定。在Visual FoxPro 6.0中有5类运算符和表达式: ?算术运算符和算术表达式 ?字符串运算符和字符串表达式 ?日期运算符和日期表达式 ?关系运算符和关系表达式 ?逻辑运算符和逻辑表达式 1.算术运算符与算术表达式 算术表达式也称数值型表达式,由算术运算符、数值型常量、变量、函数和圆括号组成,其运算结果为一数值。例如:50*2+(70—6)/8的运算结果为108.00。算术表达式的格式为: <数值1><算术运算符1><数值2>[<算术运算符2><数值3>…] (1)算术运算符 Visual FoxPro 6.0提供的算术运算符见下表。在这6个算术运算符中,除取负“-”是单目运算符外,其他均为双目运算符。它们运算的含义与数学中基本相同。 运算符名称说明 + 加同数学中的加法 - 减同数学中的减法 * 乘同数学中的乘法

/ 除同数学中的除法 ^或**乘方同数学中的乘方,如4^3表示43 %求余12%5表示12除以5所得的余数2 ? ( ) →^、** →*、/ → %→ +、- (2)表达式的书写规则 算术表达式与数学中的表达式写法有所区别,在书写表达式时应当特别注意: ?每个符号占1格,所有符号都必须一个一个并排写在同 一横线上,不能在右上角或右下角写方次或下标。例如:23要写成2^3,Xl十X2要写成X1+X2。 ?原来在数学表达式中省略的内容必须重新写上。例如:2X要写成2*X。 ?所有括号都用小括号(),且括号必须配对。例如: 3[x+2(y+z)]必须写成3*(x+2*(y+z))。 ?要把数学表达式中的有些符号,改成Visual FoxPro 6.0 中可以表示的符号。例如:要把2πr改为2*pi*r。 2.字符串运算符与字符串表达式 一个字符串表达式由字符串常量、字符串变量、字符串函数和字符串运算符组成。它可以是一个简单的字符串常量,也可以是若干个字符串常量或字符串变量的组合。Visual FoxPro 6.0提供的字符运算符有两个(其运算级别相同),见下表。 运算符名称 说明 +连接将字符型数据进行连接

Visual FOXPRO中的常用命令

Visual FOXPRO中的常用命令 目录 说明 一、数据库的建立、打开、关闭和删除 二、数据表和视图的建立、打开、关闭和删除 三、数据表和表结构的编辑、修改 四、数据表中数据操作(查询、插入、删除和修改等) 五、文件管理(文件和文件夹的复制、创建和删除) 六、数据的复制与传送 七、排序与索引 八、查找和定位 九、统计计算 十、程序控制 十一、其它 说明 命令结构 FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。 如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT] 常用子句 范围:表示记录的执行范围,可以是下面几项其中之一: ALL 表示全部记录; NEXT n 表示从当前记录开始的以下n条记录; RECORD n 表示第n号记录; REST 表示从当前记录到最后一条记录。 FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。 FOR条件:对满足条件的记录进行操作。 WHILE 条件:当遇到第一个不满足条件的记录时,停止命令执行。 以下命令中,大写的英文词为关键词,必须原样照写。 “常用子句”指以下几个可选子句: [范围] [FIELDS 字段名表] [FOR 条件] [WHILE 条件] 命令中的“列表”,指用“,”分隔的各项。如“字段名列表”就是将各个字段名用逗号分隔。 部分英文词的意义:Databasename 数据名tablename 数据表名filename 文件名Viewname 视图名arrayname 数组名 提示:加下划线的为本课程要求掌握的命令。 一、数据库的建立、打开、关闭和删除 建立数据库:

Visual foxpro 函数大全

一、 数值函数 数值函数用于数值运算,其自变量与函数都是数值型数据。 1.取绝对值函数ABS( ) 【格式】ABS() 【功能】计算nExp的值,并返回该值的绝对值。 2.指数函数EXP( ) 【格式】EXP() 【功能】求以e为底、nExp值为指数的幂,即返回ex的值。 3.取整函数INT( ) 【格式】INT() 【功能】计算nExp的值,返回该值的整数部分。 4.上界函数CEILING( ) 【格式】CEILING() 【功能】计算nExp的值,返回一个大于或等于该值的最小整数。 5.下界函数FLOOR( ) 【格式】FLOOR() 【功能】计算nExp的值,返回一个小于或等于该值的最大整数。 6.自然对数函数LOG( ) 【格式】LOG() 【功能】求nExp的自然对数。nExp的值必须为正数。 7.常用对数函数 【格式】LOG10() 【功能】求nExp的常用对数。nExp的值必须为正数。 8.平方根函数SQRT( ) 【格式】SQRT() 【功能】求非负nExp的平方根。 9.最大值函数MAX( )和最小值函数MIN( ) 【格式】MAX(,< nExp2>[,< nExp3>...]) MIN(,< nExp2>[,< nExp3>...]) 【功能】返回数值表达式中的最大值MAX( )和最小值MIN( )。 10.求余数函数MOD( ) 【格式】MOD() 【功能】返回nExp1除以nExp2的余数。余数的小数位数与nExp1相同,符号与nExp2相同。 11.四舍五入函数ROUND( ) 【格式】ROUND(,< nExp2>) 【功能】返回nExp1四舍五入的值, nExp2表示保留的小数位数。 12.π函数PI( ) 【格式】PI( ) 【功能】返回常量π的近似值 13.正弦函数SIN( ) 【格式】SIN()

相关文档