【发布时间】:2019-05-05 00:22:38
【问题描述】:
这里的第一个问题,希望有人能提供帮助!
我将 Access 后端转换为 SQL 服务器,将前端保留在 Access 中。
我遇到了一些需要帮助的事情。
在 Access 中,我有一个使用用户定义函数的查询,以便将表中的行中的一些数据合并到一个变量中。 (通过打开一个记录集并枚举,每次添加到一个变量。)
例如:
查询有一个字段调用函数,如下所示:
产品名称:产品(合同 ID)
VBA 函数“Product()”根据 ContractID 搜索表。循环遍历它找到的每一行,并将一个字段的结果连接到一个变量中,最终返回给查询。
显然,将此查询作为视图移动到 SQL 服务器意味着该函数将不会在 Access 中找到。
我可以使用函数或存储过程来做同样的事情吗? (我以前从未使用过它们)
我必须强调,由于非常严格的生产环境安全性,我无法在运行时创建、更改或删除表。
如果有人能给我一个例子,我真的很感激。
所以我需要能够从上面显示的视图中调用它。
假设我正在查看数据的表称为 tbl_Products,它有 2 列:
|合同ID |产品 |
那该怎么做?!任何帮助都非常感谢!
安迪
【问题讨论】:
-
SQL Server 不是 Access,这里需要进行范式转换。没有要运行的 VBA 函数,您的查询需要实现该查找。幸运的是,SQL Server 比 Access 更能做到这一点。您可以使用 CTE、表值函数或仅使用嵌套查询,......无论什么让您的船摇摆不定。但是这里没有人可以为您编写该查询。您需要查看该 VBA 函数在做什么,并为它编写一个等效的 T-SQL 查询......然后使用它。
-
显然有人可以...非常感谢 Albert D. Kallal 的出色示例和解释。我知道我必须使用 T-SQL 编写一个函数,我只需要一点帮助就可以让我起步。
标签: sql-server tsql ms-access vba