| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4424 人关注过本帖, 2 人收藏
标题:如何在一个表中寻找出某个字段中的记录它们的长度相同但内容不同
只看楼主 加入收藏
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
sdta 版主:
Local lcBkkm,lcKddm,lcStr
Store "" To lcBkkm,lcKddm,lcStr
Create Cursor Tj (考点代码 C(5),科目 C(10))
Select * From ls2 Into Cursor Temp
Scan
   For lnI=1 To Alines(Abkkm,Alltrim(报考科目),",")
       Insert Into Tj Values (Temp.报名点代码,Abkkm[lnI])
       If Not Alltrim(Abkkm[lnI])$lcBkkm
          lcBkkm=lcBkkm+Iif(Empty(lcBkkm),"",",")+Alltrim(Abkkm[lnI])+" N(4)" && 提取报考科目
       EndIf
   EndFor
Endscan
Messagebox(lcBkkm)
Create Cursor Tjb (考点代码 C(5),&lcBkkm,小计 N(5))

Select 考点代码,科目,Count(*) 人数 From Tj Group By 1,2 Into Cursor Temp
Scan
   If Alltrim(考点代码)==lcKddm
   Else
      Insert Into Tjb (考点代码) Values (Temp.考点代码)
   EndIf
   Replace (temp.科目) With temp.人数 For Alltrim(考点代码)==Alltrim(Temp.考点代码) In Tjb
   lcKddm=Alltrim(考点代码)
Endscan

Insert Into Tjb (考点代码) Values ("合计")
Select Tjb
For lnI=2 To Fcount()-1
    lcStr=lcStr+Field(lnI)+Iif(lnI<Fcount()-1,"+","")
    Sum Evaluate(Field(lnI)) To X
   
Messagebox( Evaluate(Field(lnI)),0,"代码结果3")&&我在此处插入此代码,看一下结果,消息框提示是0
图片附件: 游客没有浏览图片的权限,请 登录注册
是何原因?

Replace Record Reccount() (Field(lnI)) With X && 列合计
EndFor
Replace All (Field(Fcount())) With Evaluate(lcStr) && 行小计
Browse
2014-05-25 16:03
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
Sum命令后,记录指针到文件尾(不是最后一条记录,Eof()=.F.)
Go Recno()

Messagebox( Evaluate(Field(lnI)),0,"代码结果3")

看下会是什么结果


[ 本帖最后由 sdta 于 2014-5-25 16:38 编辑 ]

坚守VFP最后的阵地
2014-05-25 16:32
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用sdta在2014-5-25 16:32:01的发言:

Sum命令后,记录指针到文件尾(不是最后一条记录,Eof()=.F.)
Go Recno()

Messagebox( Evaluate(Field(lnI)),0,"代码结果3")

看下会是什么结果
结果是如图,表示已到最后一条记录了
图片附件: 游客没有浏览图片的权限,请 登录注册
2014-05-25 17:17
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
我把Messagebox( Evaluate(Field(lnI)),0,"代码结果3")放到Sum命令前面,同样也提示0,又作何介释?请教。
2014-05-25 17:22
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
无法解释

坚守VFP最后的阵地
2014-05-26 00:01
dalianliyang
Rank: 2
等 级:禁止发言
帖 子:37
专家分:23
注 册:2013-1-30
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2014-05-26 07:06
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
不要用go recn(),sum之后记录指针已经在表的最后一条记录的后面,即recn()已经超出了记录范围。改用go bott或go top就不会出错了。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-05-26 07:52
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用sylknb在2014-5-25 17:22:33的发言:

我把Messagebox( Evaluate(Field(lnI)),0,"代码结果3")放到Sum命令前面,同样也提示0,又作何介释?请教。

那很可能是表的记录指针已经被移动到记录范围之外了。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-05-26 07:53
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
也只能如此介释了
2014-05-26 08:27
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用tlliqi在2014-5-21 01:07:05的发言:

zkm='地理,化学,历史,生物,数学,物理,英语,政治'
nkm=alines(fkm,zkm,[,])
FOR i=1 TO nkm
select 报名点代码,SUM(IIF(fkm(i)$报考科目,1,0)) &fkm(i)人数 FROM ls2 GROUP BY 1 into table &fkm(i)
endf
tlliqi班主:
select 报名点代码,SUM(IIF(fkm(i)$报考科目,1,0)) &fkm(i)人数 FROM ls2 GROUP BY 1 into table &fkm(i)
中。为何二者不同?
把上面的部份语句作如下改动,就报错?

SUM(IIF(fkm(i)$报考科目,1,0)) fkm(i)人数

SUM(IIF(&fkm(i)$报考科目,1,0)) &fkm(i)人数
&函数不是把字符串变量的值替代过来吗?
for i=1 to fcount()
a=fiel(I)
repl &a. with ...
endfor
为什么在sql语句中有的地方行,有的不行?
2014-05-26 16:45
快速回复:如何在一个表中寻找出某个字段中的记录它们的长度相同但内容不同
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026101 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved