2017-02-25 15 views
1

SQLの更新クエリで小さな問題が発生しています。しかし、私はこの問題について私の頭を得ることはできません。あまりSQLに精通していない。MS Access sql - クエリの構文を更新します。

選択に基づいて、テーブル(7DARphases)から選択された行がコピーされ、別のテーブル(7tblDAR)に挿入されます。挿入されたすべての行のプロジェクトID(PRJID列)は、フォームから取得された固定値(PID)で更新する必要があります。 問題です:追加された行のPRJID列に固定値を挿入する必要がある部分で構文の問題に直面しています。

コードは次のとおりです。

Set dbs = CurrentDb 

PID = Me.PRJID.Value 

sqlstr = "INSERT INTO 7tblDAR (Phase, Deliverable, Link_PIM_temp, Link_PIM_WB, Description, Accept_criteria, Deliv_type, TollgateID, Workstream, Accountable, ClientRACI) SELECT [7DARphases].Phase, [7DARphases].Deliverable, [7DARphases].Link_PIM_temp, [7DARphases].Link_PIM_WB, [7DARphases].Description, [7DARphases].Accept_criteria, [7DARphases].Deliv_type, [7DARphases].TollgateID, [7DARphases].Workstream, [7DARphases].Accountable, [7DARphases].ClientRACI FROM 7DARphases WHERE ((([7DARphases].SolType) Like '*2PP*')) ORDER BY [7DARphases].Phase, [7DARphases].Deliverable;" 

sqlUpdt = "update 7tblDAR set PRJID = '" & Me.PRJID.Value & "' from 7tblDAR where tblDAR.PRJID = """"" 


dbs.Execute sqlstr, dbFailOnError 

dbs.Execute sqlUpdt, dbFailOnError 

'sqlstr' は正常に動作して行を挿入します。 しかし、「sqlUpdt」のエラーを与える:
「ファイル名を指定して実行時エラー3075:クエリ式の構文エラー(演算子がありません)...」

あなたはこれで私を助けてください。

可能であれば、このアクションを1つのクエリ自体で実行することをお勧めします。

答えて

0

値を挿入するときに値を入れないのはなぜですか?

sqlstr = "INSERT INTO 7tblDAR (Phase, Deliverable, Link_PIM_temp, Link_PIM_WB, Description, Accept_criteria, Deliv_type, TollgateID, Workstream, Accountable, ClientRACI, PRJID) 
    SELECT . . ., 
      '" & Me.PRJID.Value & "' 
    WHERE [7DARphases].SolType Like '*2PP*') 
    ORDER BY [7DARphases].Phase, [7DARphases].Deliverable;" 

これにより、後で更新する手間が省けます。

+0

PerfectttソリューションGordon ...このソリューションの多くの多くのありがとう –

関連する問題