My cboUserID
onForm2
では、バインド値として47が選択されています。
このクエリは空のフィールドを返します。
SELECT Forms!Form2!cboUserID;
コンボのプロパティが必要であることをdbエンジンに明示的に伝えると、このクエリの結果として.Value
単一のスラッシュ文字( )が得られます。/
SELECT Forms!Form2!cboUserID.Value
しかし、このクエリは、コンボのバインドされた値のデータ型として「Long」を教えてくれます。これは正しいです。
SELECT TypeName(Forms!Form2!cboUserID.Value)
そこでCLng()
、コンボの値を長整数としてデータベースエンジンに通知する関数を試しましたが、このクエリにより、コンボで選択された値である47...が得られました。
SELECT CLng(Forms!Form2!cboUserID.Value);
なぜそうなのか私にはわかりません。私はこれまでこれを試したことがありません。コンボに適したデータ型変換関数を試してみることをお勧めします。[ CLng
; CInt
; CDbl
; CStr
; CDate
; など]また、2010年がないため、テストにAccess2007を使用しました。2010年も同様に動作することを願っています。