MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[510]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(510番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
Re: ローカル一時テーブルの INSERT について

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 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。