- ベストアンサー
アクセスの桁数あわせ
今、私が困っているのは桁数のあわせ方です。 今エクセルのシートを二つインポートしたんですが、片方は1~20の連番のフィールド(テキスト型)があります。もう一つは01~20の連番のフィールド(テキスト型)です。この二つのテーブルの間にリレーションシップをとりたいので型は揃えておかないといけないのは分かるのですが、共に『01~20』の連番にしたいのですがやり方がわかりません。 テーブルのデザインビューの、定型入力や書式をいじってみたんですが、「01」などにはなりません。 色々調べたら『format関数』を使うや更新クエリを使うなど書いてあったのですが、使用方法などよく分かりません。 すみませんが、どなたか教えて下さい。お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
簡単に言うと、Format関数は、数値を指定した書式で文字列に変換するもので、二番目の引数(""の中)は、エクセルのセルの書式設定の「ユーザー定義」で見ることが出来るような形式を指定します。Accessのヘルプを初めて見ました(^^;)が、情報量が多すぎて却って分かり難いですね。自分はエクセルの書式の知識で済ませています。 VALは文字列を数値に変換する関数で、A0123といったコードで、Aより後ろの3文字を取り出して、数値の123に変換し、1足して124にしてから、 "A" & Format(Val(Mid("A0123", 2, 4)) + 1, "0000") でA0124にする,なんて時に使います。 参考URLで、自動採番(発番)の項をご覧になると参考になると思います。 http://www.mahoutsukaino.com/ 自分はこのサイトの管理人の著書で万年初心者を脱却しました。
その他の回答 (2)
- don9don9
- ベストアンサー率47% (299/624)
失礼ながら、質問者様は少し頭が固いかな?とお見受けします。 質問者様は過去にExcel上で今回と同じこと (1桁と2桁の数字が混在しているデータで、1桁の頭に0をつけて"01"のようにする) が出来ないかという質問をされていますよね。 http://oshiete1.goo.ne.jp/qa5143620.html Accessにインポートしたデータをいったん削除して Excelの元データを上記質問で教わった方法で"01"のように加工してから 再度Accessへインポートしなおす、という方法もあったと思います。 それは思いつきませんでしたか? もう解決したみたいですので「こんなやり方もあるよ」という 参考程度で読んでいただけると幸いです。
お礼
don9don9さんの言うとおり、私は以前も同じような質問を出しいました。なので、この方法は思いついたのでうすが、エクセルの方はオリジナルデータでしたしデータ量が半端なかったので、できるだけいじりたくなく思い、このような質問をしてしまいました。 ご指摘ありがとうございました。
- mitarashi
- ベストアンサー率59% (574/965)
変更したいフィールド名を仮にcodeとしたとき、クエリ/新規作成/デザインビューで、対象のテーブルを選択し、抽出したいフィールドを選択後、更新クエリに切り替え、codeのレコードの更新欄に、Format(Val([code]),"00")と入力後、更新クエリを実行してやれば良いです。
補足
お答えありがとうございました。mitarashiさんのおかげでできました。けれど、このVal関数の使い方、もしくはFormat関数の使い方を詳しく教えていただけるありがたいんですけど・・・ 本当に申し訳ないんですが、よろしくお願いします。
お礼
なるほど!!分かりやすい説明ありがとうございました。mitarashiさんにはよくお世話になっていて申し訳ないぐらいです。本当にありがとうございました。