Tag: 参数化查询

在Excel中使用VBA查询参数

以下是我必须在Excel中创build参数化查询的代码。 我正在运行MS Excel 2013.我正在做的是试图连接到SQL Server数据库。 从这里我想查询这个数据库使用单个单元格,您键入一列的值,并查询数据库中该列(WHERE子句)的所有行。 这个单元格应该是dynamic的,所以当你改变它的值的时候,它会改变查询的结果。 这是我有的代码 Sub ParameterQueryExample() '—creates a ListObject-QueryTable on Sheet1 that uses the value in ' Cell Z1 as the ProductID Parameter for an SQL Query ' Once created, the query will refresh upon changes to Z1. Dim sSQL As String Dim qt As QueryTable Dim rDest As Range '–build […]

excel vba:暂停参数化的SQL查询来完成?

我有一个工作簿,其中几个数据提要根据某些下拉菜单/用户操作将parameter passing回SQL查询。 这样可以保持工作簿的修剪,改进计算等 – 将所有项目级别的细节保存在工作簿中是不现实的。 我的VBA的一些元素依赖于来自这些参数化查询的数据的评估。 这就产生了这个问题 – 在评估macros中的所有内容之前,VBA不会等待parameter passing回查询。 我很好奇,如果任何人有任何想法或build议的最佳做法,以编程方式暂停VBA执行,直到饲料刷新。 我现在的工作就是把我的VBA分成两部分,把依赖于改变的数据的东西放到一个单独的函数中,然后使用application.ontime来暂停X秒。 Application.OnTime Now + TimeSerial(0, 0, 10), "Restart" 这是一个90%的解决scheme,但不够理想。 时间的长短是任意的 – 在一个非常缓慢的连接上,它不够长,在一个很快的连接上,这是不必要的缓慢。 理想情况下,有一些方法可以等待Excel准备就绪,然后继续。 与使用MS Internet Controls库时的使用方式类似 Do Until .document.ReadyState = "complete" 暂停执行,直到IE返回就绪状态。 任何更优雅的解决scheme的策略? 编辑:下面每个jon,添加代码并解释SQL查询如何工作: select sts1.studentid, sts1.alphascore as testcycle, sts2.numscore as lexile, sts3.alphascore as gleq, sts4.numscore as nce from ps.studenttestscore sts1 join ps.students stu […]

在Excel中使用单元格作为参数在SQL中创build参数化查询

所以在MS Excel中,我从SQL Server中的数据库中导入了一个表。 我想创build一个参数化的查询,你有两个单元格。 说这两个单元格是G1和G2。 G1采用参数/类别,G2从参数/类别中获取一个值,并查询您导入的表(本质上是一个从单元格input中dynamic的WHERE子句)。 有人可以告诉我如何做到这一点?

使用VBA在参数化查询中查询Excel中的SQL Server

我想使用VBA在Microsoft Excel中查询表格。 我已经写了一些代码来尝试和完成这个任务,但我不断收到运行时错误“1004”说这是一个通用的ODBC错误。 我不知道我需要做什么才能让这个代码正常运行,所以我可以查询这个表。 我正在使用SQL Server Express,即我连接的服务器: .\SQLEXPRESS 数据库: Databaselink 查询产品表VBA代码: Sub ParameterQueryExample() '—creates a ListObject-QueryTable on Sheet1 that uses the value in ' Cell Z1 as the ProductID Parameter for an SQL Query ' Once created, the query will refresh upon changes to Z1. Dim sSQL As String Dim qt As QueryTable Dim rDest […]

如何在Excel中使用参数化查询使用列作为参数?

我正在尝试开发一个电子表格,可以在外部数据源中find相应的logging。 所以,假设我有列A的身份值列表。 我想开发列B,它可能显示表中的行数与该值。 就像是: AB 758348 "=SELECT COUNT(*) FROM MYTABLE WHERE IDVALUE=$A$1" 173483 "=SELECT COUNT(*) FROM MYTABLE WHERE IDVALUE=$A$2" … 等等。 所以,我想我会使用参数化查询(其中IDVALUE =?),但是这会提示我input参数值,而不是使用单元格左侧的值。 有什么办法可以做到这一点?