http://q.hatena.ne.jp/1297307393#comment

上記の質問の事をAccessでやろうとした場合、どのような関数を使えばいいでしょうか?
Access 2007の更新クエリでやろうと思っています。

デザインクエリで、TABLE_AのIDフィールドを追加し、「レコードの更新」欄で下記の
関数を入れて動かしたら思ったような動作がしませんでした・・・

IIf([ID]>8,Format([ID],"00000000"),Format([ID],"0000000000000"))

Accessではどのように実現すればよいでしょうか?よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2011/02/13 00:01:58
  • 終了:2011/02/20 00:05:04

回答(1件)

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492011/02/13 02:24:06

ポイント60pt

【1】SELECT文で確認

SELECT id, IIF(LEN(TRIM([id]))<=8,FORMAT(TRIM([id]),"00000000"),FORMAT(TRIM([id]),"0000000000000"));
FROM テーブル

idフィールドにおいて前後に空白文字などが含まれていると面倒なのでTRIM関数を用いていますが、絶対に目に見えない/見えづらいものがないというのであればTRIM関数は除去してもかまいません

 

【2】UPDATE文に置き換えて実行

UPDATE テーブル
SET id = IIF(LEN(TRIM([id]))<=8,FORMAT(TRIM([id]),"00000000"),FORMAT(TRIM([id]),"0000000000000"));

 

URLはありません

http://q.hatena.ne.jp/answer

id:popattack

ご回答ありがとうございます!さっそく明日試してみます。

2011/02/13 22:14:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません