accessユーザーです
accessで以下のようにするとsqlserverのテーブルにupdateできるのですが
DoCmd.RunSQL "DROP PROCEDURE [SP_旅行貯金へ給与追加]", -1
DoCmd.RunSQL "CREATE PROCEDURE [SP_旅行貯金へ給与追加] AS UPDATE dbo.共栄会旅行貯金 SET [" & 月日FLD & "] = '" & 月日指定 & "', [" & 控除額FILD & "] = 給与.旅行 FROM dbo.給与 INNER JOIN dbo.共栄会旅行貯金 ON dbo.給与.SNAM = dbo.共栄会旅行貯金.SNAM", -1
DoCmd.OpenStoredProcedure "SP_旅行貯金へ給与追加", acViewPreview, acEdit
--------------------------------------------------------------
sqlserverで以下のようにパラメーター変数作成して実行しますとupdateできません
フィールド名を@Mfld 変数および@KOUfld変数 にしているのですが無理があるのでしょうか
CREATE PROCEDURE [dbo].[SP_旅行貯金へ給与追加]
(@Mfld nvarchar(255), @Msitei nvarchar(255),@KOUfld nvarchar(255))
AS
BEGIN
UPDATE dbo.共栄会旅行貯金 SET @Mfld = @Msitei, @KOUfld = 給与.旅行 FROM dbo.給与 INNER JOIN dbo.共栄会旅行貯金 ON dbo.給与.SNAM = dbo.共栄会旅行貯金.SNAM
END
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
SQLの動的実行にする必要があります。
(1)SQLを文字列として組み立てる変数を宣言
(2)SQLを文字列として組み立て
(3)(2)をexecuteで実行
以下のような感じです。
declare @sqlstmt varchar(500)
set @sqlstmt = 'UPDATE dbo.共栄会旅行貯金 SET '
+ @Mfld + '=' + @Msitei + ',' + @KOUfld
+ '= 給与.旅行 FROM dbo.給与 INNER JOIN dbo.共栄会旅行貯金 '
+ 'ON dbo.給与.SNAM = dbo.共栄会旅行貯金.SNAM'
execute (@sqlstmt)
この回答への補足
早速お返事ありがとうございます
すみませんaccess側では下記のようにprgしてsqlを実行させています
------------------------------------------------
Dim L As Integer
Dim 月日FLD, 控除額FILD, 月日指定 As String
月日指定 = Format(F2!NENGETU, "@@@@\/@@")
Dim PS As New ADODB.Recordset
PS.Open "SELECT SUM(K1) AS K1, SUM(K2) AS K2, SUM(K3) AS K3, SUM(K4) AS K4, SUM(K5) AS K5, SUM(K6) AS K6, SUM(K7) AS K7, SUM(K8) AS K8, SUM(K9) AS K9,SUM(K10) AS K10, SUM(K11) AS K11, SUM(K12) AS K12, SUM(K13) AS K13,SUM(K14) AS K14, SUM(K15) AS K15, SUM(K16) AS K16 FROM dbo.共栄会旅行貯金", db, adOpenStatic, adLockOptimistic
For L = 1 To 16
If PS("K" & L) = 0 Then
月日FLD = "M" & L: 控除額FILD = "K" & L
Exit For
End If
Next L
DoCmd.SetWarnings False
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = db
cmd.CommandText = "SP_旅行貯金へ給与追加"
cmd.CommandType = adCmdStoredProc
cmd.Parameters("@Mfld") = 月日FLD
cmd.Parameters("@Msitei") = 月日指定
cmd.Parameters("@KOUfld") = 控除額FILD
cmd.Execute
--------------------------------------------------
エラーはなく正常に終了しますが更新されていません?
DoCmd.RunSQLの場合は[" & 月日FLD & "]で [をつければフィールド名と認識するようですがsqlの場合は[でするとうまくいきません
よろしくおねがいします
どうもsqlserverでは変数でフィールド指定はできないようですね
dropからCREATEでやるしかないようですね
ありがとうございまとた
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 預金・貯金 個人の貯金と夫婦の貯金 8 2022/12/09 17:11
- 所得・給料・お小遣い 旅行積立金、130万の壁について質問です。 夫の扶養に入る予定なのですが、退職先の旅行積立金を年収と 2 2022/04/18 22:50
- 家賃・住宅ローン 群馬銀行住宅ローン仮審査通りました。 貯金調べられると聞きましたが群馬銀行のは給与振込と家賃や保険の 1 2022/03/25 00:28
- 法人税 サラリーマンが個人で法人を設立した場合、自分の給与を法人の運用資金とする方法 5 2023/07/04 22:41
- 預金・貯金 お金は使うものか、貯めるものか 9 2023/04/22 00:29
- 預金・貯金 給与が入ってからの各口座への分配方法の知恵をお貸しください 6 2022/03/28 10:46
- ホテル・旅館 全国旅行支援は非課税世帯への給付金等よりも 2 2022/10/16 19:06
- 父親・母親 25歳、実家暮らしです。 手取り15万で、残業した月で変動ありです。 今家に15000円入れているの 8 2022/09/12 07:44
- その他(家族・家庭) お金に取り憑かれている 考え方を変えたい 7 2022/11/27 01:26
- 所得・給料・お小遣い 数ヶ月前から夫にお小遣いとは別で 会社から支給される交通費を全額渡しています そして現場が変わり交通 2 2022/10/04 11:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
労働保険料の計算は賃金の発生...
-
給与明細は給与振込日の何日前...
-
準公務員って?
-
手書きの賃金台帳で教えて頂き...
-
「給与振込」と「総合振込」の...
-
給与の所定項目で【100%歩引】...
-
減給10分の1ってことは10...
-
Salary JPY 10.0M - JPY 14.0M ...
-
フィールド名を変数にしている...
-
自営業の妻だけど給与がほしい。
-
フルキャストの即給について
-
フリーランスの在籍状況証明書...
-
この質問アプリで返信する人っ...
-
会社から連絡があり、「給与の...
-
公務員で退職した場合、最後の...
-
簿記二級レベルの初歩的な問題...
-
社会保険料に疑問・・・
-
アルバイト代と社員給与の両方...
-
給与取得者と給与所得者の使い...
-
給与の一部が差し引かれて困っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
労働保険料の計算は賃金の発生...
-
給与明細は給与振込日の何日前...
-
この質問アプリで返信する人っ...
-
手書きの賃金台帳で教えて頂き...
-
「給与振込」と「総合振込」の...
-
減給10分の1ってことは10...
-
準公務員って?
-
自営業の妻だけど給与がほしい。
-
給与の所定項目で【100%歩引】...
-
Salary JPY 10.0M - JPY 14.0M ...
-
AKBグループ・坂道グループの平...
-
運送業者は、2024問題で労働時...
-
柔道整復師で株式会社を立ち上...
-
フルキャストの即給について
-
公務員で退職した場合、最後の...
-
転職して給与沢山貰える会社で...
-
週刊誌記者っていう商売の魅力
-
給与規定どおりの計算でなくて...
-
保険料額が上がるギリギリの金...
-
社会人4年目、基本給248000円。...
おすすめ情報