2011-09-14 7 views
1

フィールドのテキストを数値または通貨フィールドに変換するクエリを実行します。C#のmsアクセスクエリのテキスト文字列を10進数または通貨タイプに変換しますか?

SELECT * FROM qryProjectData ORDER BY prj.ProjectDisplayNo 

私はのようなデータを持っている:

は、私のようなクエリを持っています。

362 
362.01 
362.2 
362.3 
362.4 
362.5 
362.6 
362.7 
362.8 
362.9 
362.10 
362.11 

私はそれをソートしましたが、結果は以下のようになります。

362 
362.01 
362.10 
362.11 
362.2 
362.3 
362.4 
362.5 
362.6 
362.7 
362.8 
362.9 

問題はテキストフィールドなので、正しくソートしないのはなぜですか。 10進数または通貨タイプに変換する必要があります。

解決策があれば、助けてください。

+0

..数値、通貨、記号と二重に隠れたテキストデータ型にCDecCSng、およびCDblを使用することができます.......

SELECT CCur(val(your_field_name)) FROM qryProjectData ORDER BY prj.ProjectDisplayNo; 

でそれを行うことができますあなたはすでにデータベースの小数フィールドとしてそれを持っていない理由は? –

+0

データがたくさんあるので...今度は変更できません – aagnee

+3

これを変更するには時間がかかるかもしれませんが(自動化できるはずです)、このタスクの後にそれを放棄する予定がない限り、長期的な利益。 –

答えて

3

私たちは、あなたがどれ

0

あなたはこのようCCur機能を使用することができます。

SELECT CCur(your_field_name) FROM qryProjectData ORDER BY prj.ProjectDisplayNo; 

は同じように動作し、同様 CDecCSng、および CDbl機能もあることを覚えておいてください。

+0

そのデータをソートする必要がありますが、ソートではなく「CCur」機能で試しました。 – aagnee

+0

CCur(値)を直接入力するとエラーが発生します。 – aagnee

+1

@aagnee:決してあなたはエラーがあるとは言わない - *常に*エラーの内容を詳細に伝える。 –

関連する問題