string ls_file_swap
long i,j
li_FileNum = FileOpen("D:\PB制作\zuixin\1.txt", lineMode!, Write!, LockWrite!, Append!)
dw_1.setsort('city,tmpname,tmpadd,dhgsh,tmptel_1,zj,cls,bianma,tmpname1,tmpname2,beizhu,jibie,city1,cls1,bianma1,isok,sfjd')
//
dw_1.sort()
j = dw_1.rowcount()
if j>0 then
ls_file_swap =dw_1.getitemstring(1,'city') +""+dw_1.getitemstring(1,'tmpname')+""+ dw_1.getitemstring(1,'tmpadd') + ""+dw_1.getitemstring(1,'tmptel_1')
for i = 2 to j
if dw_1.getitemstring(i,'tmpname') = dw_1.getitemstring(i - 1,'tmpname') then
//如果公司名称相同,则取出下列字段
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(i,'dhgsh') +""+dw_1.getitemstring(i,'tmptel_1')+""+string(dw_1.getitemnumber(i,'zj'))+""+dw_1.getitemstring(i,'cls')&
+""+dw_1.getitemstring(i,'bianma')+""+dw_1.getitemstring(i,'tmpname1')+""+dw_1.getitemstring(i,'tmpname2')+""+string(dw_1.getitemnumber(i,'jibie'))+""+dw_1.getitemstring(1,'beizhu')&
+""+dw_1.getitemstring(1,'city1')+""+dw_1.getitemstring(1,'cls1')+""+dw_1.getitemstring(1,'bianma1')+""+string(dw_1.getitemnumber(i,'Isok'))+""+string(dw_1.getitemnumber(i,'sfjd'))
else
//如果不相同,则取出下列字段并另起一行
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(1,'city') +""+dw_1.getitemstring(i,'tmpname') +"" + dw_1.getitemstring(i,'tmpadd') + "" +dw_1.getitemstring(i,'tmptel_1')
end if
FileWrite(li_FileNum, ls_file_swap)
next
end if
当dhgsh有几个时它就重复几次。
就像这样.不知道到底循环错在什么地方了。怎么会成这样。大虾帮帮我!!!
XX卫生院 XX乡高村街 64900173
XX卫生院 XX乡高村街 64900173
科室部 64900203
XX卫生院 XX乡高村街 64900173
科室部 64900203
门诊骨科 64900132
XX卫生院 XX乡高村街 64900173
科室部 64900203
门诊骨科 64900132
内科门诊 64900073
这里只列出了其中的一些列。本来想要的结果应该是这样的
XX卫生院 XX乡高村街 64900173
科室部 64900203
门诊骨科 64900132
内科门诊 64900073
可是事与愿违啊。郁闷。。。。。
5 个解决方案
#1
if比较和
dw_1.getitemstring(1,'city')
有问题!
用一个变量保存tmpname 方便点
string sname
j = dw_1.rorcount()
if j>0 then
sname = dw_1.object.tmpname[1]
ls_file_swap =dw_1.getitemstring(1,'city') +""+dw_1.getitemstring(1,'tmpname')+""+ dw_1.getitemstring(1,'tmpadd') + ""+dw_1.getitemstring(1,'tmptel_1')
for i = 2 to j
if snam = dw_1.object.tmpname[i]
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(i,'dhgsh') 。。。
else
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(i,'city') +""+dw_1.getitemstring(i,'tmpname') +"" + dw_1.getitemstring(i,'tmpadd') + "" +dw_1.getitemstring(i,'tmptel_1')
snam = dw_1.object.tmpname[i]
next
end if
再调试看看吧!
dw_1.getitemstring(1,'city')
有问题!
用一个变量保存tmpname 方便点
string sname
j = dw_1.rorcount()
if j>0 then
sname = dw_1.object.tmpname[1]
ls_file_swap =dw_1.getitemstring(1,'city') +""+dw_1.getitemstring(1,'tmpname')+""+ dw_1.getitemstring(1,'tmpadd') + ""+dw_1.getitemstring(1,'tmptel_1')
for i = 2 to j
if snam = dw_1.object.tmpname[i]
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(i,'dhgsh') 。。。
else
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(i,'city') +""+dw_1.getitemstring(i,'tmpname') +"" + dw_1.getitemstring(i,'tmpadd') + "" +dw_1.getitemstring(i,'tmptel_1')
snam = dw_1.object.tmpname[i]
next
end if
再调试看看吧!
#2
很麻烦吧.
把内容导进一个数据表中,然后根据业务需求,进行distinct和having count(*)>1就行了。
把内容导进一个数据表中,然后根据业务需求,进行distinct和having count(*)>1就行了。
#3
可以直接建个group类型的dw 按前两列分组
保存时直接dw_group.saveas("D:\PB制作\zuixin\1.txt", text!, FALSE)
保存时直接dw_group.saveas("D:\PB制作\zuixin\1.txt", text!, FALSE)
#4
做一个表,用SQL来写,简单方便好多
#5
lz要干嘛?
#1
if比较和
dw_1.getitemstring(1,'city')
有问题!
用一个变量保存tmpname 方便点
string sname
j = dw_1.rorcount()
if j>0 then
sname = dw_1.object.tmpname[1]
ls_file_swap =dw_1.getitemstring(1,'city') +""+dw_1.getitemstring(1,'tmpname')+""+ dw_1.getitemstring(1,'tmpadd') + ""+dw_1.getitemstring(1,'tmptel_1')
for i = 2 to j
if snam = dw_1.object.tmpname[i]
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(i,'dhgsh') 。。。
else
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(i,'city') +""+dw_1.getitemstring(i,'tmpname') +"" + dw_1.getitemstring(i,'tmpadd') + "" +dw_1.getitemstring(i,'tmptel_1')
snam = dw_1.object.tmpname[i]
next
end if
再调试看看吧!
dw_1.getitemstring(1,'city')
有问题!
用一个变量保存tmpname 方便点
string sname
j = dw_1.rorcount()
if j>0 then
sname = dw_1.object.tmpname[1]
ls_file_swap =dw_1.getitemstring(1,'city') +""+dw_1.getitemstring(1,'tmpname')+""+ dw_1.getitemstring(1,'tmpadd') + ""+dw_1.getitemstring(1,'tmptel_1')
for i = 2 to j
if snam = dw_1.object.tmpname[i]
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(i,'dhgsh') 。。。
else
ls_file_swap = ls_file_swap + "~r~n" + dw_1.getitemstring(i,'city') +""+dw_1.getitemstring(i,'tmpname') +"" + dw_1.getitemstring(i,'tmpadd') + "" +dw_1.getitemstring(i,'tmptel_1')
snam = dw_1.object.tmpname[i]
next
end if
再调试看看吧!
#2
很麻烦吧.
把内容导进一个数据表中,然后根据业务需求,进行distinct和having count(*)>1就行了。
把内容导进一个数据表中,然后根据业务需求,进行distinct和having count(*)>1就行了。
#3
可以直接建个group类型的dw 按前两列分组
保存时直接dw_group.saveas("D:\PB制作\zuixin\1.txt", text!, FALSE)
保存时直接dw_group.saveas("D:\PB制作\zuixin\1.txt", text!, FALSE)
#4
做一个表,用SQL来写,简单方便好多
#5
lz要干嘛?