2017-10-11 1 views
0

以下のコードは、Access VBAで構文エラーを返します。この同じコードを正常に機能したクエリ設計で使用していました。私は、SQLコードがクエリデザインモードとVBAクエリとで異なる場合があることを理解していますが、このコードをAccess VBAでエラーなく実行する方法を特定できません。VBAアクセスでこのSQL文の構文に何が問題になっていますか?

SELECT TOP 1 
    MAX(CurrentWeek.WeekEnding) AS MaxOfWeekEnding, 
    CurrentWeek.NWA, CurrentWeek.[NWA Description], CurrentWeek.Plan 
FROM 
    CurrentWeek 
INNER JOIN 
    (tblNWABasic 
INNER JOIN 
    tblProjects ON tblNWABasic.ProjectID = tblProjects.ProjectID) ON CurrentWeek.NWA = tblNWABasic.NWA 
GROUP BY 
    CurrentWeek.NWA, CurrentWeek.[NWA Description], CurrentWeek.Plan 
HAVING 
    (((CurrentWeek.[NWA Description]) Like "*direct cite*")) 
ORDER BY 
    MAX(CurrentWeek.WeekEnding) DESC; 
+0

'テーブルまたはクエリをCurrentWeek'ますか?それはクエリの場合、それは実際に引き起こしている可能性がありますように、我々は、クエリの定義を参照する必要があります問題。 – this

+0

CurrentWeekはテーブルです。私はそれを理解し、コードを調整します。 – delnav222

答えて

1

ダイレクトサイト部分には角括弧がありませんでした。修正されたコードの一部を以下に示します:

Like " * [direct cite] * ")) 

上記のコードでは、働いてきたはずですが、実際に終わった何だったのワーキング:

Like ' *[direct cite]* ')) 
+0

これは意味をなさない。それは一定の文字列の中にあります - アクセスは括弧を気にしません(少なくともそれは構文エラーを引き起こさないでしょう)。 – Andre

1

あなたのコードは、二重引用符"ないblockquotes “ “で囲む必要があります。あなたはまた、例えば""*direct cite*"""*direct cite*"を変更する(クエリでそれらを倍にすることによって、すべての二重引用符をエスケープする必要があります。

SELECT TOP 1 Max(CurrentWeek.WeekEnding) AS MaxOfWeekEnding, CurrentWeek.NWA, CurrentWeek.[NWA Description], CurrentWeek.Plan FROM CurrentWeek INNER JOIN (tblNWABasic INNER JOIN tblProjects ON tblNWABasic.ProjectID = tblProjects.ProjectID) ON CurrentWeek.NWA = tblNWABasic.NWA GROUP BY CurrentWeek.NWA, CurrentWeek.[NWA Description], CurrentWeek.Plan HAVING (((CurrentWeek.[NWA Description]) Like ""*direct cite*"")) ORDER BY Max(CurrentWeek.WeekEnding) DESC; 

このサブルーチンは、引用符をエスケープするプロセスを簡素化します。単純に文字列をコピーしますWindowsのクリップボードには、EscapeDoubleQuotesInClipboardを実行し、あなたのコードに新しい文字列を貼り付けます。

Sub EscapeDoubleQuotesInClipboard() 
    With CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") 
     .GetFromClipboard 
     .SetText Replace(.GetText, Chr(34), Chr(34) & Chr(34)) 
     .PutInClipboard 
    End With 
End Sub 
関連する問題