设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2822|回复: 7
打印 上一主题 下一主题

[其它] 怎样批量更新字段中的内容?[已解决]

[复制链接]
跳转到指定楼层
1#
发表于 2011-7-12 16:19:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 宏魔法师 于 2011-7-13 16:01 编辑

现在有一个Access数据库,其中有2张表 1、tblSALES (基础数据表)  2、tblMC_ajdj  (tblSALES中MC_ajdj字段的内容汇总)
,我想把tblSALES表中的一个字段MC_ajdj其中的内容都替换成 tblMC_ajdj中相应内容的数字编号。
现在的问题是这个ACCESS数据库内容太大,本来用手工更新的,需要花太多时间,有没有VBA程序可以使用,批量更新下,非常感谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2011-7-12 16:39:15 | 只看该作者
另外再补充下:我不奢望,一次全部更新,一个一个更新都可以的,关键是此数据表太大,200M多,所以一定要用VBA来更新。
3#
发表于 2011-7-12 17:16:25 | 只看该作者
两张表根本就不存在任何关系,不知道LZ想怎么更新。
4#
发表于 2011-7-12 17:46:48 | 只看该作者
宏魔法师 发表于 2011-7-12 16:19
现在有一个Access数据库,其中有2张表 1、tblSALES (基础数据表)  2、tblMC_ajdj  (tblSALES中MC_ajdj字 ...

UPDATE tblSALES SET tblSALES.MC_ajdj = DLookUp("ID","tblMC_ajdj","MC='" & [MC_ajdj] & "'");
5#
 楼主| 发表于 2011-7-13 06:36:57 | 只看该作者
感谢 todaynew .
你给出的查询更新非常好,但我这里因为表数据太大,在210000行时就报错,说数据太多不能更新。有什么方法可以解除这个什么最大值设定.
另外,我想通过VBA来更新,但通过你给出的语句不能通过,请查看下问题出在哪里?
DoCmd.SetWarnings False
  DoCmd.RunSQL "UPDATE tblSALES SET tblSALES.MC_ajdj = DLookUp([ID],[tblMC_ajdj],[MC]='" & [MC_ajdj] & "')"
  DoCmd.SetWarnings True
6#
发表于 2011-7-13 11:20:20 | 只看该作者
回复 宏魔法师 的帖子

如果数据那么多的话,不如根据条件分成几个查询(按日期或者ID段等等),然后执行宏来更新。
又或者分几次导出到Excel表,用Vlookup函数处理后,链接表再追加上去(原先的表导出后即删除全部记录)。
7#
发表于 2011-7-13 08:36:53 | 只看该作者
实在不行,就用CTRL+F查找替换得了
就是要手动一个一个替换,看你的表也就是搞个16次
8#
 楼主| 发表于 2011-7-13 16:00:47 | 只看该作者
感谢asklove
我用了你的方法,虽然工作非常繁琐,花了几乎一个上午的时间,终于好了。
感谢roych
提出的意见也很好,我会试着操作下,多学习下Access知识。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-28 15:52 , Processed in 0.127066 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表