• ベストアンサー

ACCESSのクエリーで

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

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 案だけですが。 まったく同じ構造の空テーブルを作成します。 そこに、欠けのない連番のコードのみを入力しておきます。 この新しいテーブルに対して、元のテーブルとコードが一致するという条件で、更新クエリで品名を書き換えます。 SQL文だと、 UPDATE 新テーブル SET 新テーブル.品名 = 旧テーブル.品名 WHERE 新テーブル.コード = 旧テーブル.コード という感じでしょうか。 あとは、いっそのことデータをエクスポートして、Excel上で操作するとかでしょうか。

Geek
質問者

お礼

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

その他の回答 (1)

  • laputart
  • ベストアンサー率34% (288/843)
回答No.2

クエリーは基本的には元になるレコードが必要ですから クエリーだけでは解決しないかと思います。 元のテーブルをいじるのがいやなら 次の方法があります。 (1)ダミーのテーブルを作成 コードにオートナンバーで1-100までとか レコードを追加 (2)このダミーテーブルのコードと最初のテーブルの コードをリレーションで結合して新しいクエリーを 作成 表示はダミーテーブルのコード+元テーブルの商品名 とするとご希望の表示が可能です。 SQLは以下のようになります 以下の例では元のれーぶるをテーブル2 ダミーテーブルをテーブル3としています。 SELECT テーブル3.コード AS テーブル3_コード, テーブル2.商品名 FROM テーブル3 LEFT JOIN テーブル2 ON テーブル3.コード = テーブル2.コード; ★最初にダミーテーブルに空のレコードを必要数作成 するのにはVBAを使うと便利です。

Geek
質問者

お礼

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

関連するQ&A