プロが教える店舗&オフィスのセキュリティ対策術

ACCESSのクエリで
たとえば下記のテーブルがあったとき

コード 品名
1   商品001
3   商品003
4   商品A
7   商品BB

と有ったときACCESSのクエリで
1   商品001
2
3   商品003
4   商品A
5
6
7   商品BB
のようにテーブルに無いコードのところは空番にしないで
番号をだけを付けるのは可能でしょうか?
もとのテーブルはいじりたくないので・・・

もし、やり方が有るならば教えてください

A 回答 (2件)

こんにちは。

maruru01です。

案だけですが。
まったく同じ構造の空テーブルを作成します。
そこに、欠けのない連番のコードのみを入力しておきます。
この新しいテーブルに対して、元のテーブルとコードが一致するという条件で、更新クエリで品名を書き換えます。
SQL文だと、

UPDATE 新テーブル SET 新テーブル.品名 = 旧テーブル.品名 WHERE 新テーブル.コード = 旧テーブル.コード

という感じでしょうか。

あとは、いっそのことデータをエクスポートして、Excel上で操作するとかでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます
参考にさせていただきます

お礼日時:2004/11/25 16:29

クエリーは基本的には元になるレコードが必要ですから


クエリーだけでは解決しないかと思います。

元のテーブルをいじるのがいやなら
次の方法があります。

(1)ダミーのテーブルを作成
コードにオートナンバーで1-100までとか
レコードを追加

(2)このダミーテーブルのコードと最初のテーブルの
コードをリレーションで結合して新しいクエリーを
作成
表示はダミーテーブルのコード+元テーブルの商品名
とするとご希望の表示が可能です。

SQLは以下のようになります
以下の例では元のれーぶるをテーブル2
ダミーテーブルをテーブル3としています。

SELECT テーブル3.コード AS テーブル3_コード, テーブル2.商品名
FROM テーブル3 LEFT JOIN テーブル2 ON テーブル3.コード = テーブル2.コード;

★最初にダミーテーブルに空のレコードを必要数作成
するのにはVBAを使うと便利です。
    • good
    • 0
この回答へのお礼

ありがとうございます
やはりこのやり方になってしまうのですね

お礼日時:2004/11/25 16:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す