2012-05-04 151 views
0

我有一个连接到Oracle数据库的电子表格。它使用从数据库中抽取特定字段的查询填充Excel。我想查看它正在使用的查询,以便我可以修改它。如何查看填充Excel电子表格的Oracle查询?

它使用Office 2003 &的Oracle 11g。目前,它会自动刷新最新数据。我需要对查询进行逆向工程,所以它只能提供来自昨天的所有信息。

任何人都可以建议吗?

+2

是否Alt-F11在Excel中查看VBA代码? – MatBailie

+0

是的,谢谢,这似乎打开了VBAProject视图!我可以从这里找到查询吗? – GrumP

+0

现在是时候去探索。您可能会发现模块等已被密码保护。也许有点像搜索“SELECT”或“EXEC”一样有趣? – MatBailie

回答

0

我没有的版本的Excel在我的电脑上,所以我不能给你一个确切的按钮按下/屏幕看,但是我已经做了堆与各种数据库嵌入数据源。

你需要看的“外部数据”连接。我想在2003年,你仍然可以用数据右键单击表格并从那里访问外部数据属性(以及选择'刷新')

在里面你会发现一个导致定义的按钮: - 一个表(/图) - 或SELECT语句

select语句是你需要看看。

注意:有两种方法可以查看他的查询 - 一种加载外部MS查询工具 - 您不需要 - 而另一种只在Excel中显示原始查询 - 这正是您想要的。

+0

当我右键单击时,我可以看到编辑查询,数据范围属性,参数(灰色)和刷新数据。当我点击编辑查询时,它会加载一个小窗口“Microsoft ODBC for Oracle Connect”,然后“连接到数据源”,并打开一个基本向导来从db中选择要显示的列。 – GrumP

+0

我觉得你很接近...你可以检查数据范围属性吗,你看到一个图标就像拿着文档的手?这应该点击一个属性对话框,让你编辑查询定义。我使用XL2007,但我认为外部数据向导在2003年是相同的。 –

1

我们仍在使用的Excel 2003也。我从来没有看到任何像拿着文件的手的图标,但我找到了一个方法。当您选择编辑查询时,只需点击下一个按钮,直到按钮更改完成,您将看到一个保存查询按钮。我保存了查询,然后进入笔记本,它看起来像这样 -

XLODBC 
1 
DBQ=J:\SHEALY.mdb;DefaultDir=J:\;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes; 
SELECT `Inventory by Class - Detail`.ITEMNO, `Inventory by Class - Detail`.CLASS, `Inventory by Class - Detail`.ONHAND, `Inventory by Class - Detail`.EPLANT_ID FROM `J:\SHEALY`.`Inventory by Class - Detail` `Inventory by Class - Detail` WHERE (`Inventory by Class - Detail`.ITEMNO Like 'I%') OR (`Inventory by Class - Detail`.ITEMNO Like 'UI%') ORDER BY `Inventory by Class - Detail`.ITEMNO, `Inventory by Class - Detail`.EPLANT_ID 


ITEMNO CLASS ONHAND EPLANT_ID 

我的目标是找到原始源查询。这告诉我什么是,然后我可以回到源并改变选择标准。

+0

这非常有趣。我明天会看看这个! – GrumP

0

在Excel 2013:

  1. 数据>现有连接
  2. 上(之一)的连接(一个或多个)
  3. 属性>定义

的SQL将双击在命令文本