键盘按键的键名和键值对照表
按键
F1
F2
F3
F4
F5
F6
F7
F8
F9
复制数据到数组(当前记录)
scather to aa
scather 命令只能将当前记录添加到数组,要批量的将一个表中的数据转移到另一个表中,用copy to
COPY TO ARRAY ArrayName
例COPY TO ARRAY aMyArray FIELDS LIKE A*,P* EXCEPT PARTNO*
备注型字段的打开
下例使用 Visual FoxPro 示例数据库 TestData,然后用包含 NOEDIT 和 RANGE 选项的 MODIFY
MEMO 命令打开 Employee 表中第一条记录的备注字段 Notes。以只读方式在“编辑”窗口中打开备注字段,并选中前 10
个字符。
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE employee
MODIFY MEMO Notes NOEDIT RANGE 1,10
COPY MEMO 命令 复制当前记录中的指定备注字段的
copy structure to 表名
*复制表的结构到一个新表中
copy structure extended to 表结构文件
use biao1
copy structure extended to biao2&&复制表1的结构信息到表2
COPY STRUCTURE EXTENDED 命令
COPY STRUCTURE EXTENDED TO FileName
参数
FileName
指定要创建的新表。
DATABASE DatabaseName
指定新表要添加到的数据库。
NAME LongTableName
为新表指定一个长名。长名最多可包含 128 个字符,并可以在数据中代替短文件名。
FIELDS FieldList
指定只有 FieldList 中的字段才包含到新表的记录中。如果省略 FIELDS
FieldList,则所有字段在新表中都有一条记录。
当前选定表每个字段的信息都复制到新表的一条记录中。新表的结构为包含 18 个字段的固定的格式。下表列出了字段及其内容
字段 字段类型 内容
FIELD_NAME
有两张表,要统计出每位教师的平均分,以前一个一个的算,有点费事,想了一点小方法,共同看一下是否实用。
表fenggong
表chengji
班分 科
先
今天在网上下了一个下了VF9.0。SP2的英文版,以前一直用6.0,感觉界面不太美观,并且有些功能不支持,用9.0,还找了一个序列号,特高兴。
我这几天找着用编程的方法解决日常的一些问题,虽然费点事,感觉还是有提高的,特别是对SQL中的联接又有了新的认识,有一点成功的喜悦。
用select
select c avg(c) from biao group by c 就行了,唉......
AT(cSearchexpression_r_r, cexpression_r_rSearched [, nOccurrence])
select biao1.*,biao2.* from biao1,biao1
select a.*,b,* from biao1 as a,biao2 as b
select top 10 from biao order by column1
select top 10 percent from biao order by column1 desc
*查询符合条件的百分比数,按降序排列
*select 不仅能从表或视图中检索数据,它还能够从其他
查询语句所返回的结果集合中查询数据。例
select a.column1,b.column1 from biao1 a, (select * from
biao2 where column2>90 from biao2) as b where
a.column1=b.column2
select * from biao1 where column1 between value1 and
value2
select * from biao1 where column1 in (value1,value2,value3)
select * from biao1 where column1 not in
(value1,value2,value3)
*vf中的sql语句中like可使用的通配符中有%和_
示任意多个字符,后者表示单一字符。
select * from biao1 where column1 like '王_'
select * from biao1 where column1 like '王%'
select * from biao1 where column1 like '%王%'
select * from biao1 where
*假设现有一个原始表shi.dbf,列A,列B,列C,A是代表姓名,B是科目列,C是成绩列
*一个学生有多科成绩,科目是固定的,有9科,用1-9代表,如何把科目也变成一列,就像平常的成绩册一样
*使用注意,原始表的列只能用ABC,科目代表只能用从1开始的数字,中间不能缺。
close all
set safety off
sele distinct b from shi into cursor lin &&看共有几科
ma=recc()
sele distinct a from shi into cursor lin&&选出不重复的姓名
copy to biao
for hh= 1 to ma
na='b'+alltrim(str(hh))
alter table biao add column &na n(5)
next&&修改表的结构,添加列
sele a
use shi
sele b
use biao
sele shi
go top
do while not eof()&&依次循环,找出相应的列添加
mb=a
mc=b
mx=c
sele biao
locate for a=mb
if found()
my=mc+1
mz=fields(my)
replace &mz with mx
endif
sele shi
skip
enddo
set safety on
brow
close all
set safety off
my='wen10'&&要统计的表名
ma=30&&统计的多少个段
mb=20&&要统计的每个段的差
*假设要统计的分数表按C列(班级)分类,统计每个班的各名次段(列l)的人数。
for tt=1 to ma
if tt=1
select c,count(c) from &my into cursor lin ;
where l=<tt*mb group by c
copy to shi
copy to shi1
sele a
use shi
alter table shi add column mm c(8)
sele shi
replace all mm with 'm'+alltrim(str(tt*mb))
else
select c,count(c) from &my into cursor lin ;
where l=<tt*mb group by c
copy to shi1
sele shi
append from shi1
replace all mm with 'm'+alltrim(str(tt*mb)) for mm=<'0'
endif
next
drop table shi
set safety on
CHRTRAN() 函数
将一字符串中的某些字符替换为另一些字符。
语法
CHRTRAN(字符表达式1,字符表达式2,字符表达式3)
返值类型
字符型
参数描述
字符表达式1:字符串,其中的某些字符将被替换。
字符表达式2:确定字符表达式1中的哪些字符将被替换。
字符表达式3:用于替换的字符。
看了上面的内容后可能还是有点稀里糊涂,那就用一个例子来说明吧:
? CHRTRAN('AABCDEF', 'ACE', 'XYZ')
显示结果是:XXBYDZF
即用“X”替换“AABCDEF”中的“A”,“Y”替换“C”,“Z”替换“E”。这下明白了吧:)
注意
? CHRTRAN('AABCDEF', 'ACE', 'XY')
显示结果是:XXBYDF,“E”被删掉,或者说“XY”中第3个字符是空字符,“E”被这个空字符替换了。
说明
另有一个函数 STRTRAN(),主要用于双字节的字符,如字符串中有中文,最好使用这个函