実現したいこと
・SQLServerからの返しをACCESS上で表示したい
前提
ここに質問の内容を詳しく書いてください。
よろしくお願いいたします。
ACCESSで会員管理システムを作成中です。
ACCESSとSQLServer2014をODBC接続しています。
ACCESSからSQLServerのストアドを実行させています。
名称マスタ登録の際、同じIDや名前で登録すると「その○○はすでに使われています」のメッセージを表示させたいのですが、でません。追加・更新は出来ています。
SQLServerManagementStudio内で実行すればメッセージの所には「○○使われています」と出ます。
発生している問題・エラーメッセージ
問題:メッセージがACCESS側で出ない。 エラーメッセージ:無し
該当のソースコード
ALTER PROCEDURE [dbo].[stpGetMasCategoryBy編集中] -- Add the parameters for the stored procedure here @Cate nvarchar(40), @CateID int, @Bikou nvarchar(200), @StartDate date, @User nvarchar(20), @Jotai nvarchar(1) AS SET XACT_ABORT ON; BEGIN TRAN; -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here DECLARE --@count int, @Msg nvarchar(200)-- IF @Jotai = 1 BEGIN IF NOT EXISTS(SELECT intCateID FROM tblMasCategory WHERE intCateID = @CateID) --同じID(@CateID)が無い場合 BEGIN IF NOT EXISTS(SELECT strCate FROM tblMasCategory WHERE strCate = @Cate) BEGIN --同じ名前(@Cate)がない場合 INSERT INTO tblMasCategory (intCateID,strCate,datStartDate,datCreateDate,strCreateUser) VALUES (@CateID ,@Cate ,@StartDate ,getdate() ,@User) END ELSE --同じ名前(@Cate)がある場合 BEGIN set @Msg = 'その名前は使われています1' END END ELSE --同じID(@CateID)がある場合 BEGIN set @Msg = 'そのIDは使われています1' END END IF @Jotai = 2 BEGIN IF NOT EXISTS(SELECT strCate FROM tblMasCategory WHERE strCate = @Cate) --同じ名前(@Cate)がない場合 BEGIN UPDATE tblMasCategory SET strCate = @Cate, datUpdateDate = getdate(), strBikou = @Bikou, strUpdateUser =@User WHERE intCateID = @CateID END ELSE BEGIN --同じ名前(@Cate)がある場合 set @Msg = 'その名前は使われています' END END COMMIT TRAN; print @msg
試したこと
・[set @Msg =.....]の箇所を[PRINT......]でも試しましたがダメでした。
・[RETURN.....]でも試しましたがダメでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2023/03/29 06:31