• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2007 の SQL文です。)

Access2007のSQL文で実行時エラーが発生する原因と解決方法は?

このQ&Aのポイント
  • Access2007のSQL文を実行する際に、実行時エラー '3137'が発生しました。このエラーは、SQL文の最後にセミコロン(;)が必要であるという要件を満たしていないためです。
  • また、別のSQL文を編集した際には、実行できるようになりました。このSQL文では、予算月別テーブルと予算実績テーブルを結合し、月度と開始日が一致するレコードの金額01フィールドに当年予算を設定しています。
  • 実行時エラー '3137'を解決するには、SQL文の最後にセミコロン(;)を追加する必要があります。また、SQL文の編集によってエラーが解消した場合は、正しい構文となっているかを確認する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

どうしたいのかよくわかりませんが、 エラーが発生するのは、 http://support.microsoft.com/default.aspx?scid=kb;ja;328828 の、 フィールドの値の合計、平均、カウント、その他の集計値を計算する クエリでは、データを更新できません。 の部分。 DSumなどの定義域関数を使って回避します。

shinkami
質問者

お礼

質問内容が不十分なのに、ご回答感謝します。 >フィールドの値の合計、平均、カウント、その他の集計値を計算する >クエリでは、データを更新できません。 分かりました。 単純に DoCmd.RunSQL ("update 予算明細 set 合計金額 = 金額01+金額02+……+金額11+金額12; ") で解決しました。 予算実績テーブル(月,科目ID,予算額,実績額)から月を列方向に並べた一覧表を作成するために 予算明細テーブル(科目ID,予算額,金額01,金額02,…,金額11,金額12,合計金額)に展開する処理です。

その他の回答 (1)

回答No.1

別途サンプルを作成して実行したわけではないので、間違っていたらごめんなさい。 上のSQLと下のSQLを比べると、セミコロンの前に半角スペースが下にはありますが、上にはありません。 こんな些細なことでできちゃったりしませんか??

shinkami
質問者

お礼

ご回答ありがとうございます。 DoCmd.RunSQL ("update 予算明細 set 合計金額 = 金額01+金額02+……+金額11+金額12; ") で解決しました。

関連するQ&A