• ベストアンサー

数値型にしたい

品番と数量があるクエリがありこちらをテーブル作成する際に数値型にしたいです。 データ上 数量が四桁で710が0710となっています。 関数とか使うのでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

以下のクエリの続きならば、ということで。 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)
回答No.3

> 関数とか使うのでしょうか 「テーブル作成クエリ」を使用してテーブルを作成されるのでしたら、 そうなるかと思います。 提示されたような「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)
回答No.1

>データ上 数量が四桁で710が0710となっています。 >関数とか使うのでしょうか 710→0710 と表示されていたとしても、 文字列だとは限りません。 数値データでも、セルの表示形式を”0000”(クォーテーション無し)と設定すると "1"も"0001"と表示されます。 仮に文字データになっていたとしたら、 どこかに1を入れてコピーし、形式を選択して貼り付けで”乗算(M)”を選択すればOKです。

関連するQ&A