* 说明:原表为Cjb.Dbf<见附件>,准考证号前4位为学校编码,要求根据成绩按 学校编码 分类排出 名次,排出的结果见 名次 字段,遇到不同的学校编码,名次从1开始排,当成绩相同时排出的名次一样,最后结果如:1133567
* 代码为VFP9版本
T1=Seconds()
Select Left(准考证号,4) 学校编码,准考证号,总成绩,000000 名次 From Cjb Order By 学校编码,总成绩 Desc Into Cursor Mcb ReadWrite
Go Top
Scatter Memva...
Create Cursor 原表 (单位 C(1),日期 C(8),完成量 N(10))
Insert Into 原表 Values ("A","20150301",10)
Insert Into 原表 Values ("A","20150302",30)
Insert Into 原表 Values ("A","20150303",50)
Insert Into 原表 Values ("B","20150301",20)
Insert Into 原表 Values ("B","20150302",40)
Insert Into 原表 Values ("B","20150303...
Set Date To Ansi
Set Century On
Set Safety Off
CLOSE DATABASES
Create Table tt1 (cname c(6),cyear c(6), Cmonth c(6),nnewsal N (9,2))
Insert Into tt1 Values ("hans", "1998","2",300)
Insert Into tt1 Values ("hans", "1998","3",300)
Insert Into tt1 Values ("hans", "1998","4",300)
Insert Into ...
a="1,2,3,4"
?evaluate(chrtran(a,",","+"))
VFP 6.0中Datetime在内存中的格式:http://bbs.csdn.net/topics/320165494
文本文件转换为DBF问题(有文本格式):http://bbs.csdn.net/topics/340041831
把一个 dbf 表导出为 xls 有几种方式?:http://bbs.csdn.net/topics/320113077
vfp导出excel的方法探讨 http://bbs.csdn.net/topics/320020197
如何保证excel数值字段转换成vf不失真啊:http://bbs...
Clear
Clear All
Close Databases
Set Collate To "MACHINE"
T1=Seconds()
Local Akm[6]
Akm[1]="语文"
Akm[2]="数学"
Akm[3]="英语"
Akm[4]="物理"
Akm[5]="化学"
Akm[6]="总成绩"
Use Cjb In 0
Create Cursor 前N名 (准考证号 C (10),语文 N(6),数学 N(6),英语 N(6),物理 N(6),化学 N(6),总成绩 N(6))
Append Fr...
Clear
Rand(-1)
lnNum=10 &&生成随机数个数
Dimension nStr[lnNum]
N=0
Do While n<lnNum
nItem = Ceiling(lnNum*Rand())
If Ascan(nStr,nItem)=0
nStr[N+1]=nItem
N=N+1
EndIf
EndDo
For Each nVar In nStr[lnNum]
? nVar
EndFor
方法...
Reccount()-Recno()+1<=N
N可以是任意的正整数
网址:http://bbs.bccn.net/thread-292155-1-111.html
字段名意思
grbh(个人编号)
sfz(身份证号)
xm(姓名)
dwbh(单位编号)
dwmc(单位名称)
jfsq(缴费属期)
jflx(缴费类型)
grjfjs(个人缴费基数)
grjfbj(个人缴费本金)
grjflx(个人缴费利息)
grjfbs(个人缴费标志)
grdzrq(个人到帐日期)
dwjfbj(单位缴...
Set Collate To "MACHINE"
Set Talk Off
T1=Seconds()
Clear
Close DataBases
Local Akm[2],Apm[7],Afs[2,7],TableName[2],cXbm
cXbm="校编码"
TableName[1]="成绩"
TableName[2]="成绩分析"
Akm[1]="语文"
Akm[2]="数学"
Apm[1]=1
Apm[2]=50
Apm[3]=100
Apm[4]=200
Apm[5]=300
Apm[6]=400
Apm[7]=500
Se...
Clear
lnYear=2015
lnMonth=2
lDate1=Date(lnYear,lnMonth,1) && 本月期初日期
lDate2=Gomonth(lDate1,1)-1 && 本月期末日期
lnDay1=Dow(lDate1,2)-1 && 与本周星期一之间相差的天数
lnDay2=lDate2-lDate1+1 && 本月天数
lnDay3=Ceiling((lnDay1+lnDay2)/7)*7 && 日历元素数
Create Cursor Tdate (星期一 N...
cStr="a b c d" && 变为 "a b c d"
Do While Space(2)$cStr
cStr=Strtran(cStr,Space(2),Space(1))
EndDo
MessageBox(cStr)
* 表格控件INIT事件
THISFORM.GRID1.ADDCOLUMN(1) && 在左边插入列。
THISFORM.GRID1.COLUMNS(THISFORM.GRID1.COLUMNCOUNT).NAME = "NewColumn"
THIS.COLUMNS(THISFORM.GRID1.COLUMNCOUNT).HEADER1.CAPTION=[序号]
THISFORM.GRID1.NEWCOLUMN.CONTROLSOURCE = "PADL(RECNO(),LEN(TRANSFORM(RECCOUNT())),[0])"
PUBLIC oForm
oForm = NEWOBJECT("Form1")
oForm.Show
RETURN
DEFINE CLASS Form1 As Form
Height = 300
Width = 420
Add Object Grid1 As Grid
PROCEDURE Load
CREATE CURSOR TEMP (F1 C(10), F2 C(10), F3 I)
INSERT INTO TEMP VALUES ("ABC", "123...
Clear
dDate=Date()
STORE [] TO CRQ,CRQ1
A=REPLICATE([ ],(DOW(Date(Year(dDate),MONTH(dDate),1),2)-1)*3)
?[本月日历:]+tran(date())
?[一 二 三 四 五 六 日]
FOR I=1 TO Day(GOMONTH(dDate-Day(dDate)+1,1)-1)
CRQ=CRQ+IIF(I=1,A,[])+PADL(I,2,[ ])+IIF(DOW(Date(Year(dDate),MONTH(dDate),I),2)=7,CHR(13)+CHR(...
Set Talk Off
* -- 创建 4 个测试用临时表
Create Cursor A01 (f1 C(20))
Create Cursor A02 (f1 C(20))
Create Cursor A03 (f1 C(20))
Create Cursor A04 (f1 C(20))
For ii = 0 To 3
cAlias = Textmerge('A0<<ii+1>>')
For m.jj = 1 To 10000 && 每个测试表插入 20 条测试用记录
Insert Into (cAlias)...
NOTE 区位码生成程序
CREATE CURSOR T (S N(2))
FOR I=1 TO 94
INSERT INTO T VALUES (I)
ENDFOR
SELECT PADL(A.S,2,[0])+PADL(B.S,2,[0]) AS QWM,CHR(160+A.S)+CHR(160+B.S) HZ,;
TRANSFORM(ASC(CHR(160+A.S)+CHR(160+B.S))) NASC FROM T A INNER JOIN T B ON A.S<=B.S OR A.S>B.S
lcStr="A1]中国"
?Strconv(lcStr,2)
结果:A1]中国
然后通过For EndFor方法提取出汉字
CSTR=[103]
A=CSORT(CSTR)
LIST MEMORY LIKE A
FUNCTION CSORT(AA)
PUBLIC ASTR(LEN(AA))
FOR I=1 TO LEN(AA)
ASTR(I)=SUBSTR(AA,I,1)
ENDFOR
=ASORT(ASTR)
RETURN @ASTR
LPARAMETERS CTABNAME
GO BOTTOM
*--- 检查最后一条记录是否为"小计"行
IF AT("小计",EVALUATE(FIELD(1)))>0
MESSAGEBOX("已经有小计记录",64,"系统信息")
RETURN
ENDIF
*--- 在数据表最后插入一条记录
INSERT INTO (CTABNAME) ((FIELD(1))) VALUES (PADC("小计",FSIZE(FIELD(1)),"-"))
FOR I=NZDS TO FCOUNT()
IF TYPE(FIELD(I))="N"
...