ms-access - 将存储过程分配给 Microsoft Access 中的 report.recordset
问题描述
我听说你只能这样做是 adp,我直接连接到 SQL Server,并且想将存储过程分配给记录,我得到只能在 adp 文件中完成的错误?
我没有链接到 SQL Server,我使用 ODBC 驱动程序直接连接到它。
有什么办法可以将此存储过程分配给报告?
谢谢..
解决方案
您所要做的就是在 Access 中创建一个查询,但将其标记(更改)为一个 pass-thougthh 查询。
所以,pt查询可以是
Exec MyStoredProcedure
保存查询。现在只需将此查询用作报告的来源。你真的不需要在这里写任何代码。当然,如果您需要传递一个值或某种参数?
好吧,那么您可以使用以下代码:
假设存储过程返回给定发票编号的数据。
因此,您的代码将如下所示:
dim strInvoiceNumber as string
strInvoiceNumber = InputBox("Enter invoice number")
currentdb.QueryDefs("MyPass").sql = "EXEC StorProc " & strInvoiceNumber
' code here follows to open report
docmd.OpenReport "MyInoice",acViewPreview
因此,您可以创建一个直通查询,并在查询中键入任何将运行/调用存储过程的 exec 或命令。如前所述,如果没有参数,那么您根本不需要编写任何代码 - 只需创建传递查询,并将其用作报告的源。
推荐阅读
- stored-procedures - 队列并发触发的 Azure Function
- r - 用于按组计算平均值并忽略 NA 的循环
- ios - 如何动态调整 Storyboard 视图下方的按钮?
- html - 位于相同高度的 div
- angular - 在 /dist 文件夹中构建 Angular 资产
- vb.net - 如何用点生成随机数?
- react-native - 错误:未定义无法从 React Native 中的“AppNavigator.js”解析模块“./Home”
- javascript - 通过调用函数从另一个组件更改组件中的值
- c# - 如何修复错误代码 CS1503?
- nixos - 如何安装一些 nix 包?