• ベストアンサー

ACCESS2003クエリの結合した表示形式が

ACCESS2003でクエリを作成しました。各テーブルのフィールドを結合したのですが 表示形式が思ったようになりませんでした。 【Aテーブル】 フィールド:学部NO データ型:数値型 書式:00 【Bテーブル】 フィールド:学科NO データ型:数値型 書式:00 【ABクエリ】 フィールド:学籍NO:[Aテーブル]![学部NO]&[Bテーブル]![学科NO] 【ABクエリ】の結果が数字が4桁表示されません。 (例) 0101 と表示してほしいのですが、   11  と表示されます。 各テーブルでは、01と表示されるのですが・・・。 宜しくお願いします。

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

  • ベストアンサー
  • tissue001
  • ベストアンサー率21% (28/132)
回答No.2

各テーブルごとの型は数値です。 書式は各テーブルごとに表示する方法を指定しているにすぎません。 つまり、データを取得する時やフィールドの連結といったば場合、01が自動で1とフォーマットされております、というか1そのものなのです。 クエリも然りで、 テーブルで学科NOは01と表示されていても、実際は1なのです。 &で連結される時には、1&1 となり、値は、11となります。 ですので、それぞれの1を00型に文字列(フォーマット)にする必要があり、 それを&で連結させてあげなくてはなりません。

osukaru200
質問者

お礼

上記の補足、無かったことにしてくださいm(__)m 入力する時に01と入れていないだけでした。 これで、関数を使用せずに、データ型に変えてすれば、 きちんと表示されました。 わかりやすい解説ありがとうございました。

osukaru200
質問者

補足

解答ありがとうございます。 テーブルで、学科NOをデータ型にして書式を00にすると 01と表示されず、1となります。 関数か何かを使わないと、書式だけではだめなのでしょうか?

その他の回答 (1)

  • tissue001
  • ベストアンサー率21% (28/132)
回答No.1

SELECT CStr(Format(A.学部NO,"00")) & CStr(Format(B.学科NO,"00")) AS 学籍 FROM A, B; 以上 どうでしょうか?

osukaru200
質問者

お礼

Format関数だけを使用してみましたら、きちんと表示されました。 関数が苦手なので目をそらしていました。 回答ありがとうございます。

関連するQ&A