Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

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

时 间:2006-03-05 00:00:00
作 者:竹笛   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:近日需要将去年销售明细(约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群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助