• 締切済み

テーブル作成クエリで新テーブル作成時に、オートナン

SELECT Q_ユニオンクエリ.* INTO 新テーブル FROM Q_ユニオンクエリ; テーブル作成クエリで、新テーブルを作成するときに、 元テーブルにはないフィールドを作成することは可能ですか? 元テーブルには主キーがなく、 カテゴリ、品名 というフィールドしかない場合、 テーブル作成クエリで新テーブル作成時に、オートナンバー型の主キーを付ける方法はありますか?

みんなの回答

回答No.2

作成するときには出来ませんが作成後であれば、 作成したテーブル名が、新テーブル なら 下記で 主 というフィールド名のオートナンバー型主キー(インデックス名は PrimaryKeyName )が 作成されます。 SQL文は色々あるようですが、 ALTER TABLE 新テーブル ADD Column 主 AutoIncrement Constraint PrimaryKeyName Primary Key; VBAなら(2行目はオマケ) Currentdb.Execute("ALTER TABLE 新テーブル ADD Column 主 AutoIncrement Constraint PrimaryKeyName Primary Key;") CurrentDb.TableDefs("新テーブル").Fields("主").OrdinalPosition = 0

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

1)まずCreate table文でテーブル定義する。 2)レコードはinsert into 新テーブル select * from Q_ユニオンクエリで作成。 1)は、キーワード「ACCESS Create table COUNTER」でググる 2)は、Select *と書いたが、ユニオンクエリの列名が新テーブルの列名と ー到するよう列挙して別名を付与して下さい。

関連するQ&A

  • Accessでのテーブル作成や追加クエリなどについての質問です。

    ◆テーブル作成クエリで作成するテーブルにオートナンバー型のフィールドを設けたい。◆ (ナンバーが必ず1から振られることが条件) ※補足※ あらかじめオートナンバー型を含むテーブルを用意し、追加クエリ&削除クエリを使用すればよいという意見もありますが、この場合オートナンバー型のフィールドはカウントをアップし続けてしまう為断念。 ★教えてほしい事★ テーブル作成クエリからオートナンバー型のフィールドを作成できるのか? もしくは あらかじめオートナンバー型を含むテーブルを用意し削除クエリでテーブルのデータを空にしてから追加クエリでデータを入力しても必ずオートナンバー型のフィールドの先頭値は"1"から始まるようにできるか? 宜しくお願い致します。

  • Access2000のテーブル作成クエリについて

    テーブル作成クエリを使用し、作成された新しいテーブルを見ると、Yes/No型のフィールドのレコードが 0 や -1 に変換されています。 これを回避、または後からチェックボックスの形式に訂正する方法はないでしょうか? もうひとつ 作成された新しいテーブルでは、コピー元のテーブルで「主キー」となっていたフィールドが「主キー」ではなくなります。どうしてなのでしょうか?

  • テーブル作成クエリで作成したテーブルに連番をふりたい

    こんにちは。 ACCESS97を利用しているのですが(OSはWin2000)、 クエリーで作成したテーブルに連番を振ることは出来ますか? テーブル作成クエリーで5フィールドのテーブルを作成するようにしているのですが、できあがったテーブルの先頭フィールドに1から連番をふりたいのです(計6フィールドのテーブルをクエリーから作成したい)。 イメージとしては、デザインビューでテーブルを作成したときに、1フィールド目にオートナンバー型を利用するのと同じ感じで。。 方法が思いつきません。。 よい方法がありましたらご協力をお願い致します

  • ユニオンクエリで0と表示される。

    教えてください。 4つのテーブルをユニオンクエリでひとつにしたく以下のようにSQLに書きました。 SELECT ID AS フィールド1 ,No AS フィールド2, Remark AS フィールド3 FROM テーブル1 UNION ALL SELECT ID,No,Remark FROM テーブル2 UNION ALL SELECT ID,No,Remark FROM テーブル3 UNION ALL SELECT ID,No,Remark FROM テーブル4 フィールド2のNOには数字が入っているのですがフィールド2の列にはすべて0と表示されて数字がででてきません。ID(オートナンバー型)とRemark(短いテキスト型)はちゃんと表示されます。もとのテーブル1と2のNoは数値型 テーブル3と4のNoは短いテキスト型です。なにが原因でどうしたら数値が表示されるようになりますか?

  • ユニオンクエリでWHERE句を使うのは不可能でしょうか?

    アクセス2003です。 (select * from Q1) UNION ALL (select * from Q2) UNION ALL (select * from Q3); WHERE (((番号) Like "*001")); としても 「SQLステートメントの後に文字が見つかりました。」 となってしまいます。 「番号」と言うフィールドは Q1、Q2、Q3どのクエリにもあり (select * from Q1) UNION ALL (select * from Q2) UNION ALL (select * from Q3); のみなら正常に動作します。 作成したユニオンクエリで「フィルタの対象」で「*001」と入力したらちゃんと思い通りに動作します。 ユニオンクエリで条件抽出は不可能でしょうか? よろしくお願いします。

  • Accessのテーブル作成クエリで・・・

    Access2000で「テーブル作成クエリ」を作ろうとしておます。 デザインビューの画面では、既存テーブルの項目をクエリのフィールドへ追加していきますが、 (・・・ここまでは極普通のクエリ作成方法です) それ以外のフィールドとして、先頭に”オートナンバー”を設けることは可能なのでしょうか? また、その場合どのように設定したらよいか、教えていただけますか? 何卒、よろしくお願いいたします。

  • ACCESSのSQLクエリについて

    AccessでのSQLについて教えてください。 リンクテーブルAから新しいテーブルAを作成し、その新テーブルにオートナンバー型のフィールドを追加して、そのフィールドに主キーを設定する、という作業をしたいと思っています。 以下の3つの構文のクエリをそれぞれ作って出来たのですが、この操作を一度に行いたくて、以下のように1つのクエリに入れると、「FROM句の構文エラーです」と出てきてしまいます。 全くの素人で仕組みは全然理解できてないので、ちょっと調べたのですがよくわかりません。上手くいく入力方法を教えていただけると嬉しいです。よろしくお願いいたします。 SELECT Sheet1A.F1, Sheet1A.F2, Sheet1A.F3, Sheet1A.F4, Sheet1A.F9 INTO A FROM Sheet1A ALTER TABLE A ADD ID COUNTER ALTER TABLE A ADD PRIMARY KEY (ID);

  • Access クエリで新規テーブルを作成

    お世話になります。 クエリで新規テーブルを作成することは可能でしょうか。 テーブル作成クエリだと、既存のテーブルで抽出した内容で新規に作成する ことになるかと思います。 今回はまっさらな新規のテーブルを作成したいところです。 例えば、フィールド名とデータ型が  ID オートナンバー  受注日 日付型  商品   テキスト型 の場合だと、どのようになりますでしょうか。 ご教授の程、宜しくお願い致します。

  • アクセスクエリ メモ型だとエラーになる

    アクセスのテーブル1(主キーなし)に *********************************************************** フィールド1(メモ型) あああ いいい ううう いいい *********************************************************** と言うデータがあるのですが 「あああ」「ううう」は1個で「いいい」は2つあります。 これを、クエリ1で *********************************************************** SELECT テーブル1.フィールド1, Count(テーブル1.フィールド1) AS フィールド1のカウント FROM テーブル1 GROUP BY テーブル1.フィールド1; *********************************************************** と作り、 新しいクエリで *********************************************************** SELECT テーブル1.フィールド1, クエリ1.フィールド1のカウント FROM テーブル1 INNER JOIN クエリ1 ON テーブル1.フィールド1 = クエリ1.フィールド1; *********************************************************** としたいのですが、 メモ型ではダメなのでしょうか? メモ型でフィールドを宣言しつつ、 このようなクエリを作るにはどうすればいいですか? テキスト型にすると問題なくいけます。

  • Access 2000、ユニオンクエリーがどうしても出来ない!

    初歩の質問ですが、ユニオンクエリーが出来ません。 やりたい事は非常に単純です↓↓ 1:テーブル1、テーブル2、テーブル3があります。 2:各テーブルのデータ内容は様々ですが、共通項目として「品番」を持っています。但しテーブル1は「製品名」、テーブル2と3は「品番」という項目名になっています。 3:各テーブル内に、品番が幾つ入っているか、集計クエリでカウントします。項目名が違うので以下のように処理しました。  <テーブル1の場合>    フィールド|品番のカウント: 製品名|タイトル: "テーブル1"    テーブル |テーブル1     集  計 |カウント  <テーブル2(或いは3)の場合>    フィールド|品番のカウント: 品番|タイトル: "テーブル2"    テーブル |テーブル2     集  計 |カウント 4:3の集計クエリーを繋ぎ、テーブル1~3の品番件数を一気に表示させたい  <ユニオンクエリの内容>     SELECT *     from Q0_カウント_テーブル1     UNION select *     from Q0_カウント_テーブル2     UNION select *     from Q0_カウント_テーブル3; 5:私の予想としてはこんな風↓↓出てくるはずだったのですが・・・     品番のカウント| タイトル     ------------------------------        30   | テーブル1        20   | テーブル2        23   | テーブル3  6:結果は「From句の間違いです」と出ます。他の質問も見ましたが、自分のSQLのどこを直せば良いのかわかりません・・・教えてください!

専門家に質問してみよう