これはうまくいくはずですが、なぜそうでないのか分かりません。私は答えを見つけるまで、またはそれを私につながる何かを見つけるまで、通常、この事をやって作業、または精練フォーラムで非常に良い。Access 2010 VBAでSQLステートメントを作成し、フォームからフィールド値に基づいて複数値フィールドの内容を取得します
Private Sub Command94_Click()
'Set SQL Statement
Dim strSQL As String
Dim strSQL1 As String
strSQL = [Forms]![frmYMAD_Coordinator]![YMAD_Number]
strSQL1 = "SELECT YMAD_Category.value " & _
"FROM tblYMAD " & _
"WHERE YMAD_Number = '" & strSQL & "' ;"
MsgBox (strSQL1)
End Sub
しかし、これは私が私のメッセージボックステストで取得していますものです:
SELECT YMAD_Category [値] YMAD_Number = '25' tblYMAD FROM;。。
今、フィールドYMAD_Category
は複数値フィールドで、YMAD_Number
はtblYMAD
フィールドであるともfrmYMAD_Coordinator
上のフィールドの名前。
私は明らかに何かが不足していますが、それが何であるかはわかりません。クエリデザインビューでSQLを書くAccessで作業するクエリを取得できますが、VBAではなく、複数値フィールドから結果を取り出すことができます。
何か助けていただければ幸いです。
あなたがあなたのコードに基づいて得るべきものです。 'YMAD_Number'はテキストフィールドか数字フィールドですか?それが数値の場合、あなたの問題は一重引用符の使用です。 – SunKnight0
'YMAD_Number'は数値フィールド(_Autonumber_)です。一重引用符を削除して何が起こるかを見てみましょう。 – ackdaddy
'@ SunKnight0'は動作しません。メッセージボックスが表示されます。 SELECT YMAD_Category.value FROM tblYMAD WHERE YMAD_Number = 25; – ackdaddy