- ベストアンサー
数値型にしたい
品番と数量があるクエリがありこちらをテーブル作成する際に数値型にしたいです。 データ上 数量が四桁で710が0710となっています。 関数とか使うのでしょうか
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
以下のクエリの続きならば、ということで。 http://okwave.jp/qa/q7556958.html 上記のクエリの、 SELECT テーブル1.品番, テーブル1.数量 Temp.判定 のところで、 テーブル1.数量 を、 CLng([テーブル1].[数量]) AS 数量 に置き換えます。すなわち、 SELECT テーブル1.品番, CLng([テーブル1].[数量]) AS 数量 Temp.判定 FROM テーブル1 INNER JOIN (SELECT テーブル1.品番, IIf(Count(テーブル1.品番)>1,"重複") AS 判定 FROM テーブル1 GROUP BY テーブル1.品番) AS Temp ON テーブル1.品番 = Temp.品番; のようにします。このクエリを元にテーブル作成クエリを 作成し、実行すれば数量フィールドは数値型として作成 されます。 で、よろしいでしょうか。
その他の回答 (2)
- DexMachina
- ベストアンサー率73% (1287/1744)
> 関数とか使うのでしょうか 「テーブル作成クエリ」を使用してテーブルを作成されるのでしたら、 そうなるかと思います。 提示されたような「4桁の数字」(小数点なし)ということでしたら、 テーブルのデザインビューでの「整数型」に相当するCInt関数、 もしくは「長整数型」に相当するCLng関数を使用するのが よいかと思います。 参考: http://office.microsoft.com/ja-jp/access-help/HA001229018.aspx なお、「テーブル作成クエリ」の代わりに、予め作成しておいた テーブルに対して、「削除クエリ」(→全レコード削除に使用)と 「追加クエリ」とを組み合わせてやる方法を採ることもできます。 この場合、追加先テーブルでフィールドを予め「数値型」にして おけば、特に関数を使用しなくても、追加時に自動的に数値 に変換されます。 (但し、数値に変換できないデータがあった場合、そのレコード は追加できません) こちらの方が、テーブルに主キーや入力規則などを予め設定 しておくことができるので、お勧めです。 参考: http://www.mahoutsukaino.com/ac/ac2000/ac2000/actionq/action02.htm http://www.witc.co.jp/program/education/ops/ac/ac_05/ac_05_02_01.html
- shintaro-2
- ベストアンサー率36% (2266/6245)
>データ上 数量が四桁で710が0710となっています。 >関数とか使うのでしょうか 710→0710 と表示されていたとしても、 文字列だとは限りません。 数値データでも、セルの表示形式を”0000”(クォーテーション無し)と設定すると "1"も"0001"と表示されます。 仮に文字データになっていたとしたら、 どこかに1を入れてコピーし、形式を選択して貼り付けで”乗算(M)”を選択すればOKです。