关于access条件赋值问题

我现有一组数据,例如图1,现在我想做成图2的数据。另外怎么给一个字段赋6位数不重复的数?数据有上万条。每种重复需要调整的不超50条。望高手帮帮解决!
图1

图2

第1个回答  2014-12-30
通过Access查询是无法实现的,但可以考虑以下两种方法:
一:excel辅助法:较简单,适合一次性操作
1)将数据导出到excel中,
2)排序后用countif公式取次数复制粘贴,C2=countif($A$1:$A2,$A2)-1,
3)再弄个辅助列合并两列文本生成新的TBBH值,D2=if(C2=0,B2,B2&"-"&C2)
4)最后再把数据导回Access
二:access内部编程:在模块中定义一个新过程,具体思路如下:
1)新建一个recordset(rs1),数据源:select distinct BSM from 表1
2)rs1内do/loop循环,将每条记录的BSM值赋值给一个文本变量myString
3)再新建recordset(rs2),数据源:select * from 表1 where BSM = '” & myString & "'"
4)rs2内do/loop循环,将每条记录的ID值赋值给一个长整变量myID,再用I=I+1取自动序列号
5)if I > 0 则取字段ID值,用docmd.runsql方法执行更新查询:update 表1 set TBBH = '" & 字段TBBH的值 & "-" & I & "' where ID = " & myID
6)结束rs2循环后,I=0
7)结束rs1循环后,全部更新完成
这种方法太麻烦。但调试成功后执行起来倒是很快,适合重复性操作。本回答被提问者和网友采纳
相似回答