2016-04-07 9 views
-1

私は、コマンドがフィールドの特定の領域に "描画"フィールドを追加する動的SQLステートメントを実行しようとしていますjの値に応じて。これは、テーブル「Revision」のフィールド「Rev」が表示されるいくつかのインスタンスが存在するためです。私はクエリ設計でこのステートメントを作成しましたが、テーブルの特定のフィールドを更新するためにのみ使用し、カウンタjには依存しません。私はJOIN式がサポートされていません。誰もがこの問題で私を助けることができますか?INNER JOIN VBAアクセス

Select Case selection(n) 
Case "A" 
    j = 1 
Case "B" 
    j = 2 
Case "0" 
    j = 3 
Case "1" 
    j = 4 
Case "2" 
    j = 5 
End Select 

With rs 
    While Not .EOF 
      DoCmd.RunSQL "SELECT Area.Drawn " & _ 
           "FROM (Revision INNER JOIN RevDesc ON Revision.Rev" & j & " = RevDesc.Rev) " & _ 
           "INNER JOIN Area ON Revision.LineNumber = ArealineNmuber ;" 
.MoveNext 
wend 
end with 
+0

'ArealineNmuber'? – David

+0

@David、問題を修正しました。Areaはテーブルで、lineNumberはフィールドでした。だから私は "。"それらの間の。しかし、今すぐ 'RunSQLアクションにはSQL文で構成される引数が必要です' –

+0

エラーメッセージをGoogleに入力することは、いつも始めるのに適しています:http://stackoverflow.com/a/27425050/328193 – David

答えて

0

おそらくあなたはOpenRecordsetのような方法を探してい...
LoppingレコードあなたはRUNSQL法によって実行することができて、簡単なUpdateを生成するために、結果フィールドを使用します。

EDIT:
例更新:

UPDATE [Revision] 
SET [Drawn] = (SELECT [Drawn] FROM [Area] WHERE [Area].[LineNumber] = [Revision].[LineNumber]) 
WHERE Exists(SELECT 1 FROM [RevDesc] 
    WHERE [RevDesc].[Rev] = [Revision].[Rev]);