2025-03-01 02:28:50
表名 con,字段名zsbc,麻烦帮我写下,我的水平不够。
dim I as integer, myStr as string, rs as dao.recordset
set rs = currentdb.openrecordset("select ID, zsbc from con")
with rs
.movefirst
do until .eof
mystr = .fields("zsbc").value
if instr(1,mystr,"警察")>0 then
I = I+1
myStr = replace(mystr,"警察","警察" & I)
docmd.runsql "UPDATE con SET zsbc = '" & mystr & "' WHERE ID = " & .fields("ID").value
.movenext
loop
end with
set rs = nothing
这是个vba函数么,执行语句也帮我写下好么,最好有个全的,谢谢
插入模块,在模块中输入下面的代码,然后点三角按钮直接运行就可以了:
sub test()
dim I as integer, myStr as string, rs as dao.recordset
set rs = currentdb.openrecordset("select ID, zsbc from con")
with rs
.movefirst
do until .eof
mystr = .fields("zsbc").value
if instr(1,mystr,"警察")>0 then
I = I+1
myStr = replace(mystr,"警察","警察" & I)
docmd.runsql "UPDATE con SET zsbc = '" & mystr & "' WHERE ID = " & .fields("ID").value
end if
.movenext
loop
end with
set rs = nothing
end sub
提示,用户定义类型未定义(, rs As dao.Recordset),是不是要把zsbc字段类型有特定要求?
测试过,没问题。DAO是默认引用的。
不好意思,我实际操作的字符串不是警察,而是abstract-min1,是不是这个字符串有问题?
对,改下吧
怎么改啊,麻烦了,我vba不太好
把代码中的"警察"改成"abstract-min1"
这个我改了,但是报用户定义类型未定义啊,我用的是access2003
2003需要引用dao,方法可参考如下链接:http://www.accessoft.com/article-show.asp?id=316