将存储过程返回值分配给 VBA 变量

2023-11-26

这应该很容易,但我还没有找到真正简洁的答案。我在 sql server 中有一个非常简单的存储过程,它返回一个整数值。我想要做的就是将该返回值放入变量中以便在 Access 中使用。

存储过程:

ALTER PROCEDURE [dbo].[out_GetNextID]
@NextSumID integer
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here
SELECT @NextSumID = IDENT_CURRENT('Outage Summary')+IDENT_INCR('Outage Summary')
RETURN @NextSumID
END

我正在使用 ADODB 执行存储过程,我觉得问这个问题很愚蠢,但是在运行 cmd.Execute 后如何访问 Access 中的返回值?提前致谢,并对这个蹩脚的问题表示歉意。


有两种方法,使用输出参数或设置一个ReturnValue(下面讨论)。对于 OUTPUT 参数,引用此SO link:

本质上你只需要创建一个SqlParameter,设置Direction 到Output,并将其添加到SqlCommand 的Parameters 集合中。然后 执行存储过程并获取参数值。

请参阅该页面中的代码。

但是,您还需要在变量声明中包含单词 OUT(或 OUTPUT):

@NextSumID integer OUT

当您将变量声明为 OUT(或 OUTPUT)时,它将自动返回,无论过程完成时它具有什么值,因此您可以只使用 RETURN。

从存储过程返回数据:MSDN

相反,您可以使用RETURN @NextSumID因为您只是返回一个整数值。对于这种方法,您需要将参数指定为ReturnValue:

theParameter.Direction = ParameterDirection.ReturnValue

该方法将进一步讨论这里(MSDN).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将存储过程返回值分配给 VBA 变量 的相关文章

随机推荐

  • 在 Swift 中生成随机单词

    我正在尝试探索 Swift 编程语言 我在 Swift API 中搜索 发现了UIReferenceLibraryViewController班级 我发现如果一个单词是真实的还是不真实的 该方法会返回一个布尔值 dictionaryHasD
  • 如何使用 Visual Studio Text Visualizer 实现自定义类型?

    在 Visual Studio 2015 以及某些旧版本 中 调试 C 代码时 可以显示string通过带有放大镜图标的下拉列表显示各种可视化工具 文本 XML HTML JSON 中的变量 这也适用于某些非字符串类型 例如 System
  • 不带引号的 JavaScript 对象文字键的规则?

    在 JavaScript 中 您可以像这样定义一个对象 var d 1 test 我可以设置一个带有负数索引的键 如下所示 d 1 test2 但如果我尝试在文字初始化中使用负数 则会收到错误 var d 1 test 1 test2 Un
  • ClientScript.RegisterStartupScript 不起作用

    我已经搜索过 SO 和 google 但我似乎无法让它工作 该代码位于我的 asp net 应用程序中 取消 按钮的代码隐藏单击事件中 但似乎没有关闭弹出窗口 有任何想法吗 try if btnCancel Text Close Strin
  • bash 使用 zsh 等快捷方式扩展 cd

    是否有可能在 bash 中扩展类似的东西 cd u lo b to cd usr local bin 抱歉 我无法早点发布 我正在工作 并且绑定功能比我最初想象的更容易出现问题 这是我想出的 绑定以下脚本 bin bash HOME bas
  • node.js - 在进程之间共享套接字

    我读到可以在进程之间共享套接字 这在 Node js 中也可行吗 我在 node js 中看到了集群 api 但这不是我要找的 我希望能够在一个进程中接受连接 也许发送和读取一点 并在一段时间后将此套接字传递给另一个完全独立的 node j
  • 如何将Makefile重写为android.mk?

    在我的新项目中 我需要基于一个c编写的项目 我知道我可以使用 NDK 来做到这一点 但这里有一个问题 如何重写标准Makefile进入Android mk 更进一步 在Android中 我可以忽略ndk 直接使用jni构建项目 将c项目适配
  • 如何在 Electron 中访问 的 DOM?

    我刚刚开始使用 Electron 之前有使用过 node webkit nw js 的经验 在 nw js 中 我能够创建 iframe 然后访问所述 iframe 的 DOM 以获取标题 图标等内容 几天前 当我拿起 Electron 将
  • 将本地 .aar 文件添加到我的 gradle 构建中

    所以我创建了一个Android库并成功将其编译成 aar文件 我将这个 aar 文件命名为 projectx sdk 1 0 0 aar 现在我希望我的新项目依赖于这个 aar 所以我所做的是这个帖子 但这篇文章让我感到困惑 因为我没有得到
  • 导入android.support.v7无法解决

    我是安卓新手 目前 我有adt bundle windows x86 20131030 zip Windows 32 位 已安装 并已成功安装 Android SDK 和 Eclipse 另外 我还更新了 Android SDK 管理器中的
  • 用于 Ruby on Rails / ActiveRecord 的优雅 PostgreSQL Group by

    尝试使用 PostgreSQL 检索按日期分组的 ActiveRecord 对象数组 更具体地说 我正在尝试翻译以下 MySQL 查询 posts Post all group gt date date conditions gt loca
  • 具有其他表的多个 id 的 SQL 字段

    有人可以告诉我如何创建这个数据库结构吗 这是一个例子 Table countries id countryname 1 US 2 DE 3 FR 4 IT 现在我有另一个表 产品 我想在其中存储该产品可用的所有国家 地区 Table pro
  • 使用 js (jquery) 查找所有 YouTube 链接

    假设有一个包含内容和 YouTube 链接的 div 我想获取该 YouTube 链接并将其嵌入 div p Here is a cool video Check it out http www youtube com watch v oH
  • mysql 选择没有表的日期

    我只需要返回一个月内所有日期的列表 我没有访问特定的表 所以我需要一个 sql select 语句 如果给定二月份 则返回以下内容 Day 2011 02 01 2011 02 02 2011 02 03 etc etc 2011 02 2
  • 什么是好的 PHP 模板系统? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 集成 PHP 的最好 最简单的模板系统是什么 使用它有什么好处 我目前根本不使用它 并且我认为这可能有助于将内容与演示文稿进一步分离 PHP 本身就
  • cartopy set_xlabel set_ylabel (不是刻度标签)

    使用 cartopy 地图时 我无法添加 xlabel 或 ylabel 有没有办法做到这一点 我不是在寻找刻度标签 import matplotlib pyplot as plt import cartopy ax plt axes pr
  • 使用导航组件重新加载片段

    我正在使用导航组件加载我的片段 如下所示 https developer android com guide navigation navigation getting started navController findNavContro
  • SQL 查询中的 IF 条件

    我是 SQL Server 的新手 请帮我在查询中编写以下逻辑 If getnow gt today 4 PM Then SELECT FROM table WHERE MailDate is Tomorrow Else SELECT FR
  • Haskell 中函子如何工作?

    我正在尝试学习 Haskell 并且我已经完成了所有基础知识 但现在我陷入困境 试图了解函子 我读过 函子将一个类别转换为另一个类别 这是什么意思 我知道有很多问题要问 但有人可以给我一个吗简单的英语函子的解释或者可能是简单的用例 我不小心
  • 将存储过程返回值分配给 VBA 变量

    这应该很容易 但我还没有找到真正简洁的答案 我在 sql server 中有一个非常简单的存储过程 它返回一个整数值 我想要做的就是将该返回值放入变量中以便在 Access 中使用 存储过程 ALTER PROCEDURE dbo out