|
> アルファベット:テキスト型、数値:数値型
・アルファベットフィールド
> (2)コンボボックスの集合値ソース↓
> 「SELECT alfabetコード.ID, alfabetコード.アルファベット FROM alfabetコード;」
> 列数:1、連結列1
コンボボックスの設定が間違っていますね。
現在は、IDフィールドの内容がコンボボックスの値として認識されます。
コンボボックスの値集合ソースを
SELECT alfabetコード.アルファベット FROM alfabetコード
ORDER BY alfabetコード.ID
のように修正すれば、アルファベットでの抽出もできるようになると思います。
ただし、現在は、コンボボックスで数字(1〜3)が表示されていると思いますが、
そこが、アルファベットフィールドの内容が表示されるようになります。
・数値フィールド
数値型の場合、
> WHERE アルファベット = '3' AND 数値 BETWEEN 0006 AND 0100
0006 とかは扱えません。
実際は、Accessが型変換を自動的に行ってくれているのだと思いますが、
基本的には、抽出対象のフィールドにきちんと型をあわせてやる方が
いいです。
入力の際に、6 とかを入れるか、VBAでSQL文を生成する際に、変換するか
ですね。
> If Not IsNull(Me!kazu4) Then
> strWhere = strWhere & " AND 数値 BETWEEN " & Me!kazu3 & " AND " & Me!kazu4
> Else
> strWhere = strWhere & " AND 数値 =" & Me!kazu3
> End If
この部分を、
If Not IsNull(Me!kazu4) Then
strWhere = strWhere & " AND 数値 BETWEEN " & Val(Me!kazu3) & " AND " & Val(Me!kazu4)
Else
strWhere = strWhere & " AND 数値 =" & Val(Me!kazu3)
End If
のように変更してください。
|
|