VBA中现有对象已使用的名称 [英] Name already used by an existing object in VBA

查看:347
本文介绍了VBA中现有对象已使用的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在VBA中,我试图使用OraDynaSet对象创建一个临时表,并在将其用于另一个选择之前获取一些数据。

 code> strSQL =create table user1.new12 as(_ 
&Select lca.coupon_upc,lca.division from lca where lca.campaign_id =& campaign_id&_
&MINUS_
&选择mcr.coupon_upc,mcr.division from mcr其中mcr.campaign_id =& campaign_id&)
设置OraDynaSet = objdatabase.DBCreateDynaset我已经打开了与用户user1的连接,以执行一些选择。执行此DDL之前查询。现在,当我执行VBA代码时,它会抛出一个错误ORA:009955 Name is used by a existing object。我在哪里错了?

解决方案

如果您只是使用该临时表进行单个后续查询,那么使用它可能更容易一个内联视图:

  select t.coupon_upc,t.division from 
(select lca.coupon_upc,lca来自lca的.division其中lca.campaign_id = campaign_id
MINUS
选择mcr.coupon_upc,mcr.division from mcr其中mcr.campaign_id = campaign_id)t
其中{clauses here ...}

Tim


In VBA, I am trying to use OraDynaSet object to create a temporary table and fetch some data into it before using it for another select.

strSQL = "create table user1.new12 as(" _
    & "Select lca.coupon_upc,lca.division from  lca where lca.campaign_id = " & campaign_id & "" _
    & "MINUS " _
    & " Select mcr.coupon_upc,mcr.division from  mcr where mcr.campaign_id = " & campaign_id & ")"
    Set OraDynaSet = objdatabase.DBCreateDynaset(strSQL, o&)

I have opened up the connection with the user user1 to perform a number of select queries before executing this DDL. Now, when I execute the VBA code, it throws an error "ORA:009955 Name is used by an existing object". Where am i going wrong?

解决方案

If you're just using that temporary table for a single follow-on query, then it might be easier just to use an "inline view":

select t.coupon_upc, t.division from
   (select lca.coupon_upc,lca.division from  lca where lca.campaign_id = campaign_id
     MINUS 
    select mcr.coupon_upc,mcr.division from  mcr where mcr.campaign_id = campaign_id) t
 where {clauses here...}

Tim

这篇关于VBA中现有对象已使用的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆