- ベストアンサー
【急】Access 4桁の数字の頭に0をつけて5桁にしたい
4桁の数字が入っているフィールドで、頭に0をつけたいです。 一括で簡単にできる方法を、至急教えて下さい!
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
sanbitです。 クエリでしたらできますか?更新クエリで案内します。 (1)該当テーブルで選択クエリを作成ください。 (2)このクエリをデザインモードで開く→クエリ画面で右クリックするとプルダウンメニューがでます。 →一番上のSQLビューをクリック→何やら表示しています。これを消して UPDATE テーブル名 SET テーブル名.フィールド名 = "0"+[フィールド名] WHERE Len([フィールド名])=4; 2行をコピーしてください、 テーブル名とフィールド名3箇所(同じ名前になります)を変更してください。 スペースドット 大小のカッコ など間違うと大変です。 (3)クエリは一旦閉じてダブルクリックで実行します。 クエリは画面上で右クリックで、表示モードが変えられます。 なお、念のため元のテーブルはコピーを取ってから実行ください。 データは更新してしまいます。間違っていたら元に戻せません なお、前回のフォーム閉じてフォームをクリックすれば実行モードになります、ボタンをクリックすればイベントに書いた内容を実行してくれます。 フォームはデータを表示させたり、ボタンでいろんな処理をするのにしようします。
その他の回答 (6)
- sanbit
- ベストアンサー率32% (16/50)
sanbitです。一番簡単には実行するには フォームにコマンドボタンを作成して、イベントこの1行をそのままコピーし、 テーブル名とフィールド名3箇所(同じ名前になります)を変更し フォームの実行ボタンを押す。同じような処理で確認済みです。 フォームのボタンは実行後OKなら削除してください。 なお、念のため元のテーブルはコピーを取ってから実行ください。
お礼
フォームは初めて使用するのですが、「デザインビューでフォームを作成する」を選択し、 『詳細』に式をコピペし、名前を変更しました。 この後の作業、フォームの実行ボタンを押すのはどうしたら良いのかてこずっています(^-^;) マニュアルを見ながら、完成させたいと思います。 本当に初心者で申し訳ありません。ご丁寧にご回答いただき、大変助かりました。 ありがとうございました!
- sanbit
- ベストアンサー率32% (16/50)
>4桁と5桁が混在していて、4桁のものにだけ0をつけたいんです。 DoCmd.RunSQL "UPDATE テーブル名 SET フィールド名 = '0'+フィールド名 WHERE Len(フィールド名)=4;" フィールド名のデータが4桁の場合フィールド名のデータの頭に「0」を付けてくれます。 参考まで!
お礼
それぞれの式は、更新クエリの「レコードの更新」へ入力すれば良いのでしょうか?
- bin-chan
- ベストアンサー率33% (1403/4213)
見た目だけなら、 select format(<列名>, '00000') from <テーブル名> ; 更新するなら、テーブルのデザインで書式設定か、 文字列だよ、なら以下の更新クエリを実行。 (無試験なのでバックアップしてくださいね) update <テーブル名> set <列名>=format(<列名>, '00000') where len(<列名>)=4 ;
お礼
それぞれの式は、更新クエリの「レコードの更新」へ入力すれば良いのでしょうか?
- keemun_s
- ベストアンサー率77% (7/9)
更新クエリで一括でできます。 変更するテーブル名をtest、変更するフィールドをidとすると 更新クエリに「id」をフィールドでもってきます。 レコードの更新のところを『"0" & [test]![id]』 &の前後に半角スペース忘れずに。
お礼
4桁と5桁が混在していて、4桁のものにだけ0をつけたいんです。 要するに、全部5桁に揃えたいのです。
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
すみません。書式に入れる値は「00000」ですね。
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
項目の書式に「0000」と設定するのはダメですか? 内容違いでしたらスルーして下さい。
お礼
できました! 連日、遅い時間までお付き合いいただき、本当にありがとうございました。 とても丁寧にご指導いただいたお陰で、今後の工数がウンと減ります。 感謝の気持ちでいっぱいです。20点しか差し上げられないのが悔しいです(>_<) 本当に、本当にありがとうございましたm(__)m