私はvbaアクセスとSQLサーバーを使用しています。私はスペースがあるMaterial ID
という名前のフィールドがあるフォームを持っています。さて、私はストアプロシージャでこれを渡そうとしていますが、実際にどのように渡すのか分かりません。私が働いてきたコードは次のようになります。上記のコードで vbaアクセスのプロシージャを格納するために、名前にスペースを含むパラメータを渡すにはどうすればよいですか?
If frm.Tag Then
strFilter = "usp_MovePending '" & UserStr & "'"
strFilter = strFilter & "," & frm!MaterialID
DB.QueryDefs("qryMovePending").Connect = SQLConnectString
DB.QueryDefs("qryMovePending").ReturnsRecords = False
DB.QueryDefs("qryMovePending").sql = strFilter
DB.QueryDefs("qryMovePending").Execute dbFailOnError
End If
は、私は明らかにMicrosoft access can't find the field 'MaterialID' referred to in your expression
を言って私にエラーを与えたスペースなしfrm!MaterialID
を使用しました。そして、私が[frm!Material ID]
を空白にしておくと、何も返されません。私もそれの周りに一重引用符を保持しようとしましたが、それは値なしで一重引用符を返しました。助けてください。
frm![Material ID]? frm( "Material ID")? – Jeremy
またfrm.Material_ID。私はアクセスがスペースをアンダースコアで置き換えると信じています。 –
Protip:フィールド名にスペースや特殊文字を使用しないでください。 –