- ベストアンサー
Accessの構成をコピーしたい
こんにちは。 日報の入力にAccessを使用しています。 18年度に使用していたものを19年度も使いたいのですが テーブル・クエリ・フォーム・レポートの リレーションシップや構成はそのままで データを消して、オートナンバーも1から始める というようなことはできるのでしょうか? データベースを作った人間が辞めてしまっているので このような使いやすいデータベースをつくることが難しいのです。 お知恵ありましたら、どうぞ宜しくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
新しいAccessデータベースを作成して、[ファイル]->[外部データの取り込み]->[インポート]で、コピー元のAccessデーターベースを指定します。 そして、「テーブル」「クエリ」…をそれぞれすべて選択してインポートします。 その時、オプションで「テーブルの構造のみ」を選択すればデータはインポートされません。
その他の回答 (6)
- venzou
- ベストアンサー率71% (311/435)
#5です。補足します。 mdbファイルごと別ファイル(別テーブル)にするという意味です。もちろんテーブル構成やリレーションシップはそのままです。
- CHRONOS_0
- ベストアンサー率54% (457/838)
>データベースの仕様変更なども、過去のデータを引きずる必要がないのでやり易いです。 新しいテーブルを作れば他のテーブルとのリンクやクエリとのリンクをやりかえることになってしまいます そんな面倒なことをやる必要が無いように組むのが基本だと思いますよ 質問者さんも >テーブル・クエリ・フォーム・レポートの >リレーションシップや構成はそのままで といっておられますしね
- venzou
- ベストアンサー率71% (311/435)
>普通は年度ごとにテーブルを分けるというようなことはしません 私の経験上から言うと、よくある事です。(^^; データベースの理論上は不適切かもしれませんが、Accessのような小規模データベースならこういう使い方も多いと思います。仕事の多くは年度単位で締めますし、前年度のものはCD-Rなどに保存すればデータの改ざんも出来ないし。データベースの仕様変更なども、過去のデータを引きずる必要がないのでやり易いです。 私の場合、年度をまたいでデータを参照する必要がなければデータベースを分けます。ケースバイケースだと思います。質問主さんのやり方でも全く問題ないと思います。 オートナンバーに関しては、実質問題ないかもしれませんが、気分的に新年度は1から始めたいと思います。(私の場合)
- CHRONOS_0
- ベストアンサー率54% (457/838)
普通は年度ごとにテーブルを分けるというようなことはしません どんどん新しいものを付け加えていき、いらなくなったものは 削除するか保存用のテーブルに追い出します >オートナンバーも1から始める この必要があるかどうか辞めた人に聞いてみるのが一番いいでしょう オートナンバーは入力順を表すユニークな数字でさえあれば 抜けがあろうと何から始まっていようと関係ないというのが普通の使い方です テーブルを新しく作るというのはかなり大幅な改造になります
- venzou
- ベストアンサー率71% (311/435)
別回答 mdbファイルをコピーして、テーブルのデータを削除。 [ツール]→[データベースユーティリティ]→[最適化] これで、オートナンバーは1から始まると思います。 基本的には#1さんの方法をお勧めしますが、テーブル数が少ない場合はこちらの方が早いかもしれません。 テーブル数が多い場合や、参照結合性など設定しているようでしたらこの方法は適しません。
- kakkysan
- ベストアンサー率37% (190/511)
難しく考える事は有りません。 旧MDBをコピーして、今年度用に名前を変更後、 更新したいテーブルのデータを削除(一括削除できます)すればそれで済むことでしょう。 クエリ・フォーム・レポートを変更するのは大変ですから、そこは何もさわりません(触ってはいけません)。 新しくテーブルにどのようなデータを入力するのか分かりませんが、日報ということですから、日々の事柄をフォーム上で入力していくのだとすると、以上で事は済むでしょう。 (カレンダー関係があるとするとそこは更新が必要なのかな?分かりませんが) 参考になれば幸いです
お礼
ご返答ありがとうございます。 なるほど、私のしていること自体 必要ないことも多々あるのかもしれませんが venzouさんがおっしゃっていただいた通りの意図です。 結果、テーブルごとに 「構造のみ」「構造とデータ」を判断して クエリ・フォーム・レポートもインポートすることで 解決することができました。 知識がない&分かりづらい質問だったと思いますが 丁寧にお答えいただきありがとうございます☆