No.1
- 回答日時:
昔の話ですが、SQLserverへODBCでコネクションを張ってMS-ACCESSからDB操作したことがあります。
そのときは不可能でした。ODBCはSQLserverからのリターンコードを受け取ることが出来ない仕様だったと記憶しています。今回のお話ではADO経由ということなので推測の域を出ませんが、ADOもOLEコントロールの一部なのでODBC経由のOLEコントロールなのかなと考えます。となると冒頭同様、「リターンは受け取れない仕様」ではないでしょうか。自信ありません。いい加減でごめんなさい。
アドバイスありがとうございます。
出来ないだろうという情報でもありがたいです。
でないとずっと調べつづけそうなので、、、
別の仕様も視野に入れてみます。
No.2
- 回答日時:
コンピューター [技術者向け] > プログラミング > Visual Basic
No.1648176 質問:SQL ServerのストアドでOUTPUTパラメータを2つ
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1648176
に、VB.NETでADO.NETを使ってストアドのOUTPUTパラメータを受け取る例があります。
おそらくADO.NETでできることは、面倒さえいとわなければADOでもできるかと思います。
No.3ベストアンサー
- 回答日時:
#2のxcrOSgS2wYさんが飛ばしているリンク先の、.NETサンプルを書いた者です。
.NETからVB6へのコンバートをやってみました。
(いつもと逆方向への変換なので、違和感がありました^^;;;)
ストアドは、参考URLのまま利用しています。
Option Explicit
Sub Main()
Const DEF_ストアド名 As String = "ストアド"
Dim l_adoCnn As ADODB.Connection
Dim l_adoCmd As ADODB.Command
Dim l_adoRec As ADODB.Recordset
Set l_adoCnn = New ADODB.Connection
Set l_adoCmd = New ADODB.Command
'コネクション設定
l_adoCnn.CursorLocation = adUseClient '← これ重要、結構忘れられる。
l_adoCnn.Open "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=master;uid=sa;pwd=sa"
With l_adoCmd
'コネクションをコマンドに設定
Set .ActiveConnection = l_adoCnn
'コマンド種別 = ストアド
.CommandType = adCmdStoredProc
'ストアド名を指定
.CommandText = DEF_ストアド名
'パラメータ追加:戻り値
.Parameters.Append パラメータ作成(l_adoCmd, "@戻り値", adInteger, 4, adParamReturnValue)
'パラメータ追加:引数(I/I/O/IO)
.Parameters.Append パラメータ作成(l_adoCmd, "@パラム1_VAR_I", adVarChar, 12, adParamInput, "abcde")
.Parameters.Append パラメータ作成(l_adoCmd, "@パラム2_INT_I", adInteger, 4, adParamInput, 2)
.Parameters.Append パラメータ作成(l_adoCmd, "@パラム3_VAR_O", adVarChar, 26, adParamOutput)
.Parameters.Append パラメータ作成(l_adoCmd, "@パラム4_INT_IO", adInteger, 4, adParamInputOutput, 3)
End With
'ストアド実行
Set l_adoRec = l_adoCmd.Execute
'実行結果を出力
Dim i As Integer
Dim l_str結果 As String
With l_adoCmd
For i = 0 To .Parameters.Count - 1
l_str結果 = l_str結果 & i & vbTab & .Parameters(i).Name & vbTab & .Parameters(i).Value & vbCrLf
Next
End With
Call MsgBox(l_str結果, vbInformation, "結果出力")
End Sub
'パラメータ作成関数
Private Function パラメータ作成( _
ByRef p_adoコマンド As ADODB.Command _
, ByVal p_strパラメータ名 As String _
, ByVal p_dtpDBタイプ As ADODB.DataTypeEnum _
, ByVal p_intサイズ As Integer _
, ByVal p_pdrパラメータ種別 As ADODB.ParameterDirectionEnum _
, Optional ByVal p_obj初期値 _
) As ADODB.Parameter
Dim l_adoPrm As ADODB.Parameter
Set l_adoPrm = p_adoコマンド.CreateParameter(p_strパラメータ名, p_dtpDBタイプ, p_pdrパラメータ種別, p_intサイズ)
l_adoPrm.Value = IIf(IsMissing(p_obj初期値), vbNull, p_obj初期値)
Set パラメータ作成 = l_adoPrm
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- Ruby vscode 文字化け 1 2022/05/21 19:17
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
SQL ServerのストアドでOUTPUTパラメータを2つ
Visual Basic(VBA)
-
VB6でのPL/SQLの実行について
Visual Basic(VBA)
-
VBScriptからストアドプロシージャのOUT変数の取得について
Microsoft ASP
-
-
4
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
5
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
6
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
7
TextBoxでEnterキーを押すと、にあるButtonを押したのと同じ効果を出す方法
Visual Basic(VBA)
-
8
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
9
SHELLコマンドがうまく動かないです VB6.0
Visual Basic(VBA)
-
10
プロシージャまたは関数の引数が多すぎますのエラー
Visual Basic(VBA)
-
11
.NETからストアドプロシージャを実行
Visual Basic(VBA)
-
12
Visual Basicから、プリンタの印刷設定を変更する方法。
Visual Basic(VBA)
-
13
バッチで実行するVBScriptからのストアドプロシージャの実行
その他(プログラミング・Web制作)
-
14
ストアドプロシージャーのパラメーターに配列
SQL Server
-
15
VB6 配列を初期化したい
Visual Basic(VBA)
-
16
VB6のAttribute VB_Nameの意味について
Visual Basic(VBA)
-
17
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
18
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
-
19
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
20
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba 実数および実数タイプの変...
-
Excelのマクロについて教えてく...
-
VBA レジストリの値の読み方に...
-
Excel VBA 定義されたプロージ...
-
Excel マクロについての相談
-
エクセルVBAについて
-
Vba SelStart、SelLen教えてく...
-
エクセルの合計を自動で表示さ...
-
Excelのマクロでワードのテキス...
-
Excelについて
-
2つのマクロでチェックボックス...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBAの質問になります Userform内で
-
VBA listBoxから
-
VBAで各列の"+"と"o"の合計数を...
-
VBA初心者 Ctrl+での操作、ボタ...
-
VBA 複数条件の分岐処理の上手...
-
VB.net(VB)で、フォームにExcel...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBでストアドの戻りパラメータ...
-
SQL ServerのストアドでOUTPUT...
-
SQL*LoaderのDATA引数
-
Console.ReadLine()で、入力デ...
-
インラインフレームでpdfフ...
-
REDOログファイルを移動したい...
-
バッチファイル
-
MMAPのMAP_SHAREDについて
-
ORA-01013のエラーについて経験...
-
CASE文のエラーについて
-
DOSプロンプトとコマンドプロン...
-
PL/SQLでログを確認したい。
-
PL/SQLのコンパイルエラーにつ...
-
PL/SQL PLS-00103エラーについて
-
「ORA-00907: 右カッコがありま...
-
4GB = 4096MB ではない?
-
Oracleの起動時に、マウントし...
-
PCC-S-02201エラーの対処を教え...
-
はじめまして!
-
SQL*Plusで、コマンドの返答を...
おすすめ情報