- ベストアンサー
ACCESS2003クエリの結合した表示形式が
ACCESS2003でクエリを作成しました。各テーブルのフィールドを結合したのですが 表示形式が思ったようになりませんでした。 【Aテーブル】 フィールド:学部NO データ型:数値型 書式:00 【Bテーブル】 フィールド:学科NO データ型:数値型 書式:00 【ABクエリ】 フィールド:学籍NO:[Aテーブル]![学部NO]&[Bテーブル]![学科NO] 【ABクエリ】の結果が数字が4桁表示されません。 (例) 0101 と表示してほしいのですが、 11 と表示されます。 各テーブルでは、01と表示されるのですが・・・。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
各テーブルごとの型は数値です。 書式は各テーブルごとに表示する方法を指定しているにすぎません。 つまり、データを取得する時やフィールドの連結といったば場合、01が自動で1とフォーマットされております、というか1そのものなのです。 クエリも然りで、 テーブルで学科NOは01と表示されていても、実際は1なのです。 &で連結される時には、1&1 となり、値は、11となります。 ですので、それぞれの1を00型に文字列(フォーマット)にする必要があり、 それを&で連結させてあげなくてはなりません。
その他の回答 (1)
- tissue001
- ベストアンサー率21% (28/132)
回答No.1
SELECT CStr(Format(A.学部NO,"00")) & CStr(Format(B.学科NO,"00")) AS 学籍 FROM A, B; 以上 どうでしょうか?
質問者
お礼
Format関数だけを使用してみましたら、きちんと表示されました。 関数が苦手なので目をそらしていました。 回答ありがとうございます。
お礼
上記の補足、無かったことにしてくださいm(__)m 入力する時に01と入れていないだけでした。 これで、関数を使用せずに、データ型に変えてすれば、 きちんと表示されました。 わかりやすい解説ありがとうございました。
補足
解答ありがとうございます。 テーブルで、学科NOをデータ型にして書式を00にすると 01と表示されず、1となります。 関数か何かを使わないと、書式だけではだめなのでしょうか?