根据条件表批量更新目标表某字段的值的函数 -张志
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


根据条件表批量更新目标表某字段的值的函数

发表时间:2006/3/5 评论(1) 浏览(14142)  评论 | 加入收藏 | 复制
   
摘 要:近日需要将去年销售明细(约10万条记录)增加一个“省市名称”字段,tbl销售明细2005表中有“省市代码”字段,需要根据省市代码将省市名称写入到表"tbl销售明细2005"中的省市名称中,特写函数AccHelp_BatchUpdateTwoTblData,经测试,整个过程(约10万条记录)仅需要3秒钟左右。
正 文:
Function AccHelp_BatchUpdateTwoTblData(Table1 As String, Table1UpdateFld As String, Table1FldWhere As String, Table2 As String, Table2FldWhere As String, Table2SourceFld As String)
'Table1 要更新数据的表名称(目标表)
'Table1UpdateFld 要更新的Table1表(目标表)中的字段名称
'Table1FldWhere 要更新的Table1表(目标表)的条件字段名称
'Table2 表名称(条件表)
'Table2FldWhere 表Table2(条件表)的条件字段名称
'Table2SourceFld 表Table2(条件表)的目标字段名称
'功能:
'当Table1表Table1FldWhere字段值等于able2表中Table2FldWhere字段值,
'   将Table2表中的Table2SourceFld字段中的值写入Table1表的able1UpdateFld字段中
'作者:竹笛 (微软最有价值专家)
'说明:您可以无偿地在您自已开发的软件中应用此函数,为了尊重作者的劳动,请保留这些说明信息。同时您不得用于盈利的商业用途,欢迎大家提出修改意见,并就此函数与作者交流
'邮箱:admin@accessoft.com
Dim strSQL As String
DoCmd.SetWarnings False
strSQL = "UPDATE " & Table2 & " INNER JOIN " & Table1 & " ON " & Table2 & "." & Table2FldWhere & " = " & Table1 & "." & Table1FldWhere & " SET " & Table1 & "." & Table1UpdateFld & " = " & Table2 & "." & Table2SourceFld
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
End Function

'调用代码示例
Sub Test()
'tbl销售明细2005表中有字段:省市;省市代码,其中"省市"这个字段数据全部为空,因为是新加上的字段
'tbl省市代码表中有字段:省市代码;省市名称

Call AccHelp_BatchUpdateTwoTblData("tbl销售明细2005", "省市", "省市代码", "tbl省市代码表", "省市代码", "省市名称")
End Sub


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【Access入门】通过更新查询将表中空值更新为0值的示例,空值变...  【麥田  2013/4/2】
【Access基础扫盲】更新查询--“更新到”  【小赵  2013/8/29】
【Access入门】一个简单的生成表与更新查询示例  【沧海桑田  2013/9/27】
【Access更新查询】更新表中数据至目标表指定字段的示例一则  【麥田  2013/12/18】
【Access更新查询】比赛提前或延迟两小时,日期时间加2小时,更...  【麥田  2013/12/31】
【Access更新查询】通过更新查询将表中0值更新为空值的示例,0...  【麥田  2014/5/14】
常见问答
技术分类
相关资源
文章搜索
关于作者

张志

文章分类

文章存档

友情链接