Date: Thu, 19 Feb 2004 13:10:48 +0900
 From: who@sub.example.jp
 
 
夏目です。いつも、拝見しております。
ADPからMSDEへの文字列の受渡しにつまずいています。
次のようなVBAで、MSDEのストアドプロシージャを実行しました。
With MyCM
            .ActiveConnection = MyCN
            .CommandType = adCmdStoredProc
            .CommandText = "sp_QCPC_GetData3"
            
            .Parameters.Append .CreateParameter("ControlNum", adVarChar,
adParamInput, 13, gstrControlNum)
            
            .Parameters.Append .CreateParameter("ControlNum1", adVarChar,
adParamOutput, 16)
            
            .Execute
End With
Alter Procedure sp_QCPC_GetData3
	@ControlNum nvarchar(13),
	@ControlNum1 nvarchar(16) OUTPUT
 As
	set nocount on
	SET @ControlNum1 = @ControlNum
	return
gstrControlNumは、"TL-タイプ8-00"という文字列です('タイプ8'が全角です)。
帰ってきたControlNum1をみると、、"TL-タイプ8-0"となり、1文字欠けています。
次に、ストアドプロシージャ
Alter Procedure sp_QCPC_GetData4
		
 As
	set nocount on
	Declare @ControlNum nvarchar(13)
	Declare @ControlNum1 nvarchar(16)
	SET @ControlNum = 'TL-タイプ8-00'
	SET @ControlNum1 = @ControlNum
	SELECT @ControlNum1
	return 
を実行すると、正常に、"TL-タイプ8-00"が帰ってきます。
adVarCharとnvarcharは、同じと考えていましたが、受渡しがうまくいっていないよ
うです。
どうしてこうなるのか、教えていただけないでしょうか。
Access2000、MSDEです。
  
| [MSDE/SQLServerに関して、今、どんなことにお困りですか?] |  
| よろしければお困りの内容を、電子メールで教えて下さい。 |  
| 
質問を電子メールで作成する
 |  
 
  [ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧] 
                                 
                        |