设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 5058|回复: 12
打印 上一主题 下一主题

[查询] [求助]表名改了查询怎么办

[复制链接]
跳转到指定楼层
1#
发表于 2007-7-7 19:05:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<>看到版主有加班,敬佩!赶紧问个问题</P>
<>由于某种原因,我要修改表名(顺便改成英文的),可是查询、窗体、报表都要跟着改,工作量很大,特别是查询。</P>
<>有没有可以偷懒的办法?</P>
<P>请指教!</P>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-7-7 19:23:00 | 只看该作者
查询可在SQL编辑状态下采用查找替换的方法
3#
 楼主| 发表于 2007-7-7 20:55:00 | 只看该作者
谢谢大师!但我没找到,是不是要复制到WORD里面处理?
4#
发表于 2007-7-8 05:26:00 | 只看该作者
<DIV class=quote><B>以下是引用<I>gdfsslec</I>在2007-7-7 11:05:00的发言:</B><br>
<>看到版主有加班,敬佩!赶紧问个问题</P>
<>由于某种原因,我要修改表名(顺便改成英文的),可是查询、窗体、报表都要跟着改,工作量很大,特别是查询。</P>
<>有没有可以偷懒的办法?</P>
<P>请指教!</P></DIV>
<P>更改查询的方法:<br>
<P>Dim StrSql As String    </P>
<P>Dim AQueryDef As QueryDef<br></P>
<P>CurrentDb.QueryDefs.Refresh<br>Set AQueryDef = CurrentDb.QueryDefs("查询1")<br>StrSql = Replace(AQueryDef.Sql, "AA", "BB")<br>AQueryDef.Sql = StrSql<br>
<P><br>
<P>上面的例子是把查询1的AA替换成BB,在这基础上加上循环读取所有查询的语句,即可以自动替换所有的查询<br></P>
[此贴子已经被作者于2007-7-7 21:32:15编辑过]

5#
 楼主| 发表于 2007-7-8 08:24:00 | 只看该作者
<>太厉害了!大师就是大师!</P>
<>谢谢了!这可省了大劲了</P>[em01]
6#
发表于 2007-7-10 06:41:00 | 只看该作者
学习下循环和替换
7#
发表于 2007-7-10 08:33:00 | 只看该作者
<DIV class=quote><B>以下是引用<I>一点通</I>在2007-7-7 11:23:00的发言:</B><BR>查询可在SQL编辑状态下采用查找替换的方法</DIV>
<>
<>在查询的SQL编辑状态,好象查找替换工具不能用(VBE中可以)</P>

点击这里给我发消息

8#
发表于 2007-7-10 17:54:00 | 只看该作者
<>使用replace.mde 或 replace.mda这个插件,是国外的大师作品</P>
<><a href="http://www.rickworld.com/download.html" target="_blank" >http://www.rickworld.com/download.html</A></P>
<>我一直用它,整个Access替换,甚至包括启动 自定义属性 代码 表名 窗体等几乎所有对象及属性</P>
<P>不过未注册版有少量限制,但不妨碍使用</P>

点击这里给我发消息

9#
发表于 2007-7-10 17:55:00 | 只看该作者
如果没有记错,在access2002或以上版本,修改表名,查询里引用的表名应该会自动改变,access2003还有个功能可检查相关性
10#
 楼主| 发表于 2007-7-10 21:49:00 | 只看该作者
<>根据andymark版主的指点,我是这样弄的:</P>
<>rivate Sub Replac() <br>Dim tmpQuery As Object <br>Dim strQuery As String <br>Dim AQueryDef As QueryDef <br><br><br>For Each tmpQuery In CurrentData.AllQueries <br>    If Not tmpQuery.name Like "MSys*" Then <br>        strQuery = tmpQuery.name <br>        Set AQueryDef = CurrentDb.QueryDefs(strQuery) <br>        strsql = Replace(AQueryDef.SQL, "客户", "cust") <br>        AQueryDef.SQL = strsql <br>    End If <br>Next tmpQuery </P>
<P>.......................................<br><br>For Each tmpQuery In CurrentData.AllQueries <br>    If Not tmpQuery.name Like "MSys*" Then <br>        strQuery = tmpQuery.name <br>        Set AQueryDef = CurrentDb.QueryDefs(strQuery) <br>        strsql = Replace(AQueryDef.SQL, "cust客户名称", "custname") <br>        AQueryDef.SQL = strsql <br>    End If <br>Next tmpQuery <br><br>End Sub <br></P>
[此贴子已经被作者于2007-7-10 14:09:19编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 20:31 , Processed in 0.184298 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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