Date: Thu, 22 Mar 2001 20:44:37 +0900
From: "deml" <who@example.co.jp>
こんばんは、サイトーと申します。
#堀川さんがお忙しいそうなので(^^;でも代わりにはなりませんがm(._.)m
なんか、最後のストアドをキックする時のコネクションが違っているだけの
ような気がします。
> Private Sub 一時テーブル作成_Click()
> Dim sql$
> On Error GoTo err_proc
> sql$ = "CREATE TABLE #MyTempTable ( " & vbCrLf & _
> " ID INT PRIMARY KEY , " & vbCrLf & _
> " DT VARCHAR(20) " & vbCrLf & _
> ") " & vbCrLf
> cn.Execute sql$, , adCmdText
> Exit Sub
> err_proc:
> cn_err
> End Sub
このcnは、CurrentProject.Connectionですよね?
> Private Sub vb_Click()
> On Error GoTo Err_vb_Click
> Dim sql$
> Dim strCtrl As Integer
> strCtrl = Me.T_ID2
> sql$ = "INSERT [MyTable] "
> sql$ = sql$ & "SELECT ID ,'" & strCtrl & "',DT FROM [#MyTempTable]"
> cn.Execute sql$, , adCmdText
> Exit Sub
> Err_vb_Click:
> MsgBox Err.Description
> End Sub
こちらも、CurrentProject.Connectionですよね?
> ストアドプロシージャからの実行が出来ません。
> (直接ダブルクリックでの実行は出来ます。パラメータ手入力で)
この場合は、CurrentProject.Connectionだと思いました。
> **** ストアドプロシージャ*****
> Alter Procedure ストアドプロシージャ1
> @id2 [INT]
> AS
> SET NOCOUNT ON
> INSERT MyTable
> SELECT ID,@id2,DT
> FROM #MyTempTable
> RETURN
> ****VBでの実行文****
> Private Sub sp_Click()
> On Error GoTo Err_sp_Click
> Dim cmd As New ADODB.Command
> Set cmd.ActiveConnection = cn
> cmd.CommandType = adCmdStoredProc
> cmd.CommandText = "ストアドプロシージャ1"
> cmd.Parameters.Refresh
> cmd.Parameters(1) = Me!T_ID2
> cmd.Execute
> MsgBox "sp"
> Exit Sub
> Err_sp_Click:
> MsgBox Err.Description
> End Sub
ここでなんですけど、このときのcnは、CurrentProject.Connection
には、なっていないのではないですか?
なっていたら、おそらくcmd.Parameters.Refreshがエラーになると
思います。なので、cnを
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Set cn = CurrentProject.Connection
として、
cmd.Execute , Me!T_ID2
で、キックしてみてください。
一度お試しを。
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|