2009-05-04 116 views
2

这可能是一个简单的问题,但我真的不知道我在做什么,所以希望有人能帮助我。将Excel中的数据与数据库结合起来

我收到一份Excel电子表格,其中有两个相关的列用于我的任务。第一列是“外部ID”,第二列是“内部ID”。我需要使用内部ID作为关键字从我们的数据库中选择一串数据(使用各种连接),但是所有这些数据都需要链接回外部ID,并且Internal/External之间的唯一链接是这个电子表格。

例如,假设电子表格的行看起来是这样的:

ExtID IntID 
AB1234 2 

,我需要选择所有相关的ID为#2在我们的数据库中的项目的数据,但我没有办法让数据库中的“AB1234”,所以我需要用电子表格将这些数据返回到“AB1234”。

完成此操作的最简单方法是什么? Excel的版本是Excel 2007,数据库是Oracle,如果这是相关的。

请注意,我只有生产数据库的读取权限,因此创建表格和导入电子表格数据以进行连接不是一种选择。

+0

贵公司/客户确实应该做一些艰难的思考,为什么他们从他们的数据库完全独立的电子表格中的关键数据。 – 2009-05-04 19:50:22

+0

数据并不重要,我简化了情况,它需要一次性报告。 – 2009-05-04 19:56:51

回答

1

编辑基于评论

1 -使用MS Access导入Excel工作表的表。

2 -链接到你的数据库表,也从MS Access

外部数据标签 - >其他数据来源 - > ODBC连接 - >选择yours->挑表(S)你想内

3 -编写访问查询关系,它们之间你想

Create->查询设计 - >删除你想要的表中的值,拖行比较,点击运行

0

通常我会使用复制粘贴和具有宏的良好列模式编辑器来完成此类任务。如果你只有几个Excel文件,它工作正常。

0

很大程度上取决于您对自己所拥有的工具的熟悉程度。

你有一个你熟悉的工具,可以很容易地使用IntID来查找这些记录吗?如果是这样,您是否可以执行查询并将结果粘贴到原始电子表格中的IntID列的右侧列中?

如果是的话,你将有你想要什么,用下面列的表格: EXTID(原件) INTID(原件) INTID(甲骨文) Col1中(从Oracle) col2的(从Oracle)等....

0

我对Oracle并不熟悉,但是我知道很多数据库可以让你在表名前添加#或类似的东西并创建临时表。其他人有一个临时数据库,你可以创建一些东西。有时你可以创建一个临时表,即使你不能做其他事情,但选择。

如果你有机会做到这一点,我会做功能JosephStyons提示(#2),插入记录到临时表,并以此为基础进行查询。

0

使用Excel和VBA,您可以使用ActiveX Data Objects(ADO)为使用OLE DB提供程序特定数据库的高级别路。这使您可以读取数据库中的数据,然后可以查询该数据并将结果存储在电子表格中。

Oracle OLE DB provider
ADO Guide

相关问题