从Excel执行Oracle Query(DML)

我可以将现有表/视图的结果链接到Excel电子表格(通过从ODBC向导的“select数据库和表格”窗口中select表格,但是我想执行原始查询。

我想基于单元格值生成一个查询(作为一个string)。 然后,用户可以手动“刷新”将要发送当前string到Oracle的数据表并返回结果。

有没有办法将原始查询(DML)的结果链接到Excel电子表格?

将数据库表链接到电子表格后,可以使用macros执行此操作。 假设您的链接表从单元格A1开始:

' Build your query string - using whatever cell values you need sqlQuery = "select * from myTable" ' Get the cursor on the top left cell of the existing linked table Range("A1").Select ' Set the CommandText of that QueryTable to your new query and refresh it With Selection.QueryTable .CommandText = sqlQuery .Refresh BackgroundQuery:=False End With 

试试看…

我在这里和这里的博客里都有一次(好的,两次)。 也许,这对你有一些帮助。

刘若英

您必须设置查询,然后在查询中创build一个参数来限制结果集。 通常情况下,你有这个查询填充一个新的工作表。 系统会提示您input参数的值。 将其设置为单元格引用,并选中该checkbox以自动重新查询单元格是否更改。