• 締切済み
  • すぐに回答を!

Accessで、自動的にテーブルを新規作成をする方法。

お世話になっております。 access上で、mainテーブルとsubテーブルを作成するとします。mainとsubの関係は1対∞です。 その時に、mainテーブルにレコードが一つ増えるたびに、subテーブルを新規作成するというVBAはありますか。 その際にリレーションシップも組まれるといいです。 そんなVBAがなくとも、違うやり方で解決できないでしょうか。ご回答お願いします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数408
  • ありがとう数4

みんなの回答

  • 回答No.2
  • ARC
  • ベストアンサー率46% (643/1383)

普通、この手の入力をする時には、 ・メインフォーム-サブフォーム構造をとる。この場合だと、メインテーブルとサブテーブルの入力を平行して行うことができる。 ・あらかじめメインテーブルをマスタとして作成しておきサブテーブルの入力時にコンボボックスなどを使って、メインテーブルのIDを入力する。 といった方法を使いますよね。 こういう方法では、駄目でしょうか?

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • ACCESS テーブル作成の日付付与の自動化

    いつもお世話になっております。 ACCESSアクセスのクエリ作成方法をご教示願います。 現在、バックアップ用として、毎日テーブルクエリ作成でテーブルを作成しています。 毎日毎日、その日の日付の入ったバックアップを作っているのですが、ワンクリックで、その日の日付の入ったクエリを作成することは可能でしょうか。 ex)本日4/25であれば、ワンクリック→【バックアップ_110425】TBL作成完了 こうしたことがACCESSで可能かどうか、可能であれば、やり方をご教示頂けないでしょうか。 VBAを記載し添削頂きたいところですが、さっぱり見当がつかないため、VBA表記できませんが、それでも良ければご回答いただけますと有難いです。

  • Accessのフォームにて顧客番号を検索して無ければ新規作成したい

    Access2003のフォームで社員管理システムを作ろうとしていますが、VBAの記述でわからないことがあるので、教えてください。 まず、テキストボックス「txt_検索」に社員番号を入力し「cmd_検索」ボタンを押すと、社員管理テーブルの社員番号フィールドより検索をします。 社員管理テーブルに該当するレコードがある場合は、レコードの編集となり、社員番号がない場合はテキストボックス「txt_社員番号」に「txt_検索」の値を入れた新規レコードの作成としたいのです。 入力した値でレコードの検索をして、無いなら新規作成といったコードは どのような記述になるのか教えてください。 よろしくお願いいたします。

  • Accessでフォームとレポートの新規作成ができない

    Access2003でテーブルとクエリを作成し、フォームを作ろうと思ったら、新規作成を含むフォームのメニューが全てグレーになっていて、新規作成することができません。 また、デーブルはクエリの画面には「デザインビューでテーブルを作成する」等の言葉が入っていますが、フォームには何も入っていません。 フォームの新規作成をするにはどうしたらよいのか教えて下さい。よろしくおねがいします。

  • 回答No.1
  • yousmz
  • ベストアンサー率10% (1/10)

ponponさんはどういう目的でこのようなことをしたいのですか? 通常テーブルのリレーションシップというのはテーブルひとつに対してNこのテーブルということではなく、メインテーブルの1レコードに対してsubテーブルのNレコードということを意味します。 目的がはっきりとわからないので何とも回答できませんが、SUBテーブルのキーの持たせ方で操作するほうがプログラム上も、その後の扱い上も良いと思いますが。

共感・感謝の気持ちを伝えよう!

質問者からの補足

回答ありがとうございます。 おっしゃるとおり、私の考え方がおかしかったようです。 あらかじめ一つのテーブルにIDを振っておいてそこから レコードを取得させていくことで解決できそうなのでやってみます。早とちりをしてしまってすみませんでした。

関連するQ&A

  • 新規作成ができない

    Access2000を新規購入し、Accessの勉強を始めたばかりなのですが、新規作成をすると「Microsoft SQL Serverデータベースウィザード」が起動してしまい次に進むことができません。 (SQLウィザードがでないようにしたい) パソコンスクールでは普通にテーブルを作ったりしているのですが、なぜこのようなウィザードが起動してしまうのでしょうか?インストールは普通にインストールして行いました。 考えられる原因をお教えいただけるとありがたいです。

  • AccessVBAにて動的にテーブルを作成する方法

    AccessVBAにて現在入力された値に従ってAccessVBAにて動的にテーブルを作成したいのですが方法がわかりません。 作成するテーブルの要件として列のデータ型は全てテキスト型で構わないのですが列数を可変にしたいのです。 対策をご存知の方ご教授願います。 宜しくお願いします。

  • ACCESSでcsv テーブルを利用する良い方法は?

    いつもお世話になっています。ACCESS はまったくの素人です。 csv で提供される6種類程度の元データがあり、定期的にファイル単位で更新されます。これを現在はテーブルにリンクしているのですが、処理が重くて困っています。インポートすると劇的に軽くなりますが、元ファイルの更新時に手間が増えて困ります。具体的には再度インポートしてテーブルを上書きするとリレーションシップが切れてしまうので、一度全てのレコードを削除して、新たに全レコードを追加すると言う手順を思い描いています。 このような場合、どうするのが効率的なのでしょうか。よろしくお願いいたします。

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

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

  • Accessのテーブルで

    わかる方どうか教えてください。 Accessのテーブルで、ひとつのテーブル内のフィールド欄に”+”ができていて”-”にすると、そのレコードに対するテーブルが表示されるものがあるのですが、それはどのようにして作成しているのでしょうか? 説明が書いてあるHPなどわかる方がいたら教えてください。 よろしくお願いします。

  • ACCESSで、新規か更新かの判断

    Accessを学び始めてまもないです。 質問内容、ことば等にに不備がありましたら申し訳ありません。 やりたいことは以下のとおりです。 フォームをあるテーブルと連結(レコードソースにテーブルを指定)して、 登録、削除、検索を行おうとしています。 (ウィザードで作成されたようなインタフェースは使いません) 基本的には新規登録状態で、 削除、検索の場合は別(サブ)フォームを開いてレコードを指定し、メインのフォームに戻って作業します。 お聞きしたいことは、 VBAで、メインのフォームが新規登録状態か更新状態かを知るにはどうしたらいいのでしょうか? (いわゆる、ウィザードで作成した単票形式で自動的に作成される、移動ボタン、新規登録ボタンのそのときの状態です) いまいち、私はAccessの仕組みが分かっていないようで、 ご迷惑をおかけしますが、よろしくお願いいたします。

  • Accessでテーブルのリンクを新規テーブルに保存

    ExcelのデータをAccessのテーブルでリンクしています。 そのデータをクエリで必要なレコードだけを抽出します。 抽出したデータのみを新規テーブルとして保存したいんですが、保存の仕方がわかりません。 Access2000です。 どうかよろしくお願いします。

  • Access2003 テーブル内の列を削除が出来ない

    Access2003 テーブル内の列を削除が出来ない いつもお世話になっております。 リレーションシップを設定していないのに、テーブル内の列を削除しようとすると 『このフィールドにはリレーションシップが設定されています・・・ リレーションシップウィンドウで関連するリレーションシップを 削除する必要があります』と表示されて列の削除が出来ません。 そこでリレーションシップ ウィンドウを開いてみますが リレーションシップ ウィンドウには何も表示されておりません。 この場合どのようにして列を削除すれば 良いか教えていただけませんでしょうか? 非常に困っております。よろしくお願いいたします。

  • 2つのaccessテーブルのレコード数を合わせたい

    一つは200レコードあるリンクテーブルです。 このリンクテーブルとあるテーブル(Bテーブル)を合体させたいと思いました。 そのあるテーブルは主キーであるIDとチェックボックスの2つのフィールドだけです。 このB]テーブルの主キーとリンクテーブルの主キーとリレーションでつなげました。 しかし、そのBテーブルはレコードが全く無いのでチェックボックスが出て来ません。 リンクテーブルのレコード数分、手動で作成したらチェックボックスと組み合わさります。 これでは、毎回毎回リンクテーブルのレコード数を数えて同じ分だけBテーブルでレコードを作成しなくてはいけません。 自動で同じだけのレコードを作ることはできますでしょうか? VBAでレコード数を数えて・・・・とかするのでしょうか?

  • Accessフォームの新規レコードについて

    いつもお世話になっています。 Access2000でフォーム作成をしているときにちょっと詰まってしまいました。 クエリからフォームの作成を行うと、フォームの新規レコードの追加ができないんです! テーブルからフォームを作成する場合は新規レコードの追加は可能でした。 クエリがあるとどうしても新規レコードの追加ができなくなってしまいます。 クエリからフォームを作成して、新規レコードの追加を行えるようにすればどうしたらいいんでしょうか? よろしくお願いします。

専門家に質問してみよう