プロが教えるわが家の防犯対策術!

助けてください
下記のコードなのですが、新たに「監督費」のフィールドを追加したいのですが、認識してくれません
「INSERT INTO ステートメントに認識できないフィールド <フィールド名> があります。正しい名前を入力したかを確認して、もう一度操作してください。(Error 3127)」
とエラーメッセージが出てしまいます

何が原因なのかわかりません

テーブルT物件情報とT共同受注には「監督費」フィールドは存在します

cond = "NZ(B.結果,0) = 0 AND B.確度 IN ('B') AND " & _
"FORMAT(B.発注予定時期,""YYYY/MM"") " & _
"BETWEEN '" & 年月1 & "' AND '" & 年月3 & "' "
Set db = CurrentDb
Set qr = db.QueryDefs("QS_EIGYO_BC")

qr.sql = "SELECT J.部署コード, FORMAT(B.発注予定時期,""YYYY/MM"") AS 年月, B.確度, " & _
"CCUR(NZ(J.受注金額,0)) AS 金額, CCUR(NZ(J.粗利,0)) AS 粗利, CCUR(NZ(J.監督費,0)) AS 監督費 " & _
"FROM T共同受注 AS J " & _
"INNER JOIN T物件情報 AS B ON J.物件番号 = B.物件番号 " & _
"WHERE " & cond & " " & _
"UNION ALL " & _
"SELECT E.部署コード, FORMAT(B.発注予定時期,""YYYY/MM"") AS 年月, B.確度, " & _
"CCUR(NZ(B.受注金額,0)) AS 金額, CCUR(NZ(B.粗利,0)) AS 粗利, CCUR(NZ(B.監督費,0)) AS 監督費 " & _
"FROM T物件情報 AS B " & _
"INNER JOIN Q部署担当者 AS E " & _
"ON B.責任者コード = E.担当者コード " & _
"WHERE " & cond & " AND " & _
"B.物件番号 NOT IN (SELECT 物件番号 FROM T共同受注)"
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM __B;"
'下記でエラー
DoCmd.RunSQL "INSERT INTO __B SELECT * FROM QS_EIGYO_BC"
DoCmd.SetWarnings True

A 回答 (1件)

細かい検証はしていませんが、気になる点。



>DoCmd.RunSQL "INSERT INTO __B SELECT * FROM QS_EIGYO_BC"

__B と言うテーブルに「監督費」フィールドはありますか?
なければ追加してください。


上記で解決しない場合、下記を補足して下さい。

使用しているソフト名とバージョン
各テーブルの詳細(テーブル名、フィールド名、データ型の一覧)
「Q部署担当者」というクエリ?の内容(SQL文)
    • good
    • 0
この回答へのお礼

>__B と言うテーブルに「監督費」フィールドはありますか?
>なければ追加してください。

上記の通りでした
__Bというテーブルが隠しオブジェクトになっていて、見つけられなかったのが原因でした。。

有難うございました

お礼日時:2007/10/30 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A