セルにSQL SELECTクエリがあります (image)です。私はSQLクエリの文字列として自分のセル内の文字列を使用するためにVBAを使用しようとしていますが、文字列の一部だけを読み込みます。セルでは、クエリ(引用符なし)の長さは685文字です。変数(実行時)では、クエリは185文字分(引用符付き)です。ここでExcelでvbaがセル内でSQL SELECT文を読み取る
SELECT Contacts.[Last Name],
Contacts.[First Name],
Contacts.[Maricom E-Mail],
Contacts.[Project, Org, Team]
FROM Contacts
WHERE (((Contacts.[Project, Org, Team])=""Proj - MDM"")
AND ((Contacts.[Active?])=Yes))
OR (((Contacts.[Project, Org, Team])=""Team%"")
AND ((Contacts.[Active?])=Yes))
OR (((Contacts.[Project, Org, Team])=""Orgs - CM"")
AND ((Contacts.[Active?])=Yes))
OR (((Contacts.[Project, Org, Team])=""Orgs - Document Team"")
AND ((Contacts.[Active?])=Yes))
OR (((Contacts.[Project, Org, Team])=""Orgs - Process Engineering"")
AND ((Contacts.[Active?])=Yes))
OR (((Contacts.[Project, Org, Team])=""Orgs - QA"")
AND ((Contacts.[Active?])=Yes))
ORDER BY Contacts.[Last Name];
私は(私はコードで前述した「文字列としてMYQUERY薄暗い」を使用し、セルがテキストとして書式設定された)セルを読み取るために使用するコードです::ここでは、細胞内のクエリがある
ここでmyQuery = Range("Project1Query").Value
は、文字列として宣言された変数でクエリです:
"SELECT Contacts.[Last Name],
Contacts.[First Name],
Contacts.[Maricom E-Mail],
Contacts.[Project, Org, Team]
FROM Contacts
WHERE (((Contacts.[Project, Org, Team])=""Proj - MDM"") AND "
変数は、データのために、次の要求で使用されて
:
ReviewersData.Open myQuery, ReviewersConn, adOpenStatic, adLockOptimistic
どのように500文字が途切れるかについての考えはありますか?
※お問い合わせは*ご記入ください。あなたの質問を読むために人々をスクロールさせないでください。 – Siyual
"" Proj - MDM ""一重引用符を使用するようです。 'Proj - MDM' –
固定長文字列の最大文字列長は2^16 = 65535文字です。可変長の文字列の最大長は約20億文字です(2^31)。 文字列をセルにコピーするときに文字列変数に代入し、 'Debug.Print sqlStr'を実行すると文字列全体が返されます。 'Debug.Print Len(sqlStr)'は本当に685を出力します。 –