0

MS Access 2010 の大規模な (650 MB) データ テーブルに対してクエリを実行する必要があります。フィールドのすべてのデータ型はテキストですが、データ型がテキストであっても一部のフィールドにはすべて数字が含まれています。したがって、たとえば、指定されたフィールドで 10 より大きい値を持つすべてのレコードを選択するには、テキストから long int に変換する必要があります。しかし、これを行うたびに、おそらくテキスト フィールドの数値の比較が原因で、型の不一致エラーが発生します。以下は、すべてテキスト データ型のフィールドから選択するクエリの SQL です。

SELECT [Organization legal name], [Number of Group Practice members], City, State  
FROM massivetable  
WHERE Clng([Number of Group Practice members])>10  
AND State='CT';  

デザイン ビューでフィールドのデータ型を long integer に変換しようとしましたが、操作を実行するのに十分なメモリがないというメッセージが表示されて操作が失敗します。

型変換エラーをスローせずに、値が 10 より大きいすべてのレコードを選択するように上記のコードを修正する方法を教えてもらえますか?

4

1 に答える 1

3

IsNumeric 関数を使用します。

SELECT [Organization legal name], [Number of Group Practice members], City, State  
FROM massivetable  
WHERE Iif(IsNumeric([Number of Group Practice members]), Clng([Number of Group Practice members]), 0) >10  
AND State='CT'; 
于 2013-11-08T02:54:07.807 に答える