• ベストアンサー

ACCESSのデータ移行について

ACCESSについて質問します。 アクセスのクエリーとかリレーションとかは理解できるレベルですが、 友人に頼まれて、簡単な会員管理システムを作ることになりました。 1度に要求するシステムを完成させるのではなく、 何度かに分けてバージョンアップしていく計画ですが、 その際に、アクセスの場合システムとデータが一つにまとまって 会員管理.MDBというファイルになってしまうと思います。 このような場合、一旦運用が始まってしまってある程度の 量のデータが入力され始めてしまった場合に、 システムのバージョンアップをするにはどのようにデータを 移行すればよろしいでしょうか? 因みに、アクセスでシステムを作成するのは初めてです。 よろしくお願いします。

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

  • ベストアンサー
noname#22222
noname#22222
回答No.3

s_husky です。 1、Access を起動し db1.mdb を作成する。 2、Table1 を作成する。 3、終了。 4、Access を起動し db2.mdb を作成する。 5、ファイル(F)-外部データの取り込み(G)-テーブルのリンク(L) 6、db1.mdb を選び、Table1 を選択する。 これで、db1のTable1は、db2のテーブルとして利用できます。

smile0088
質問者

お礼

s_husky様へ 何度も丁寧なご回答ありがとうございます。 完全に理解できました。

その他の回答 (2)

noname#22222
noname#22222
回答No.2

バージョンアップが前提ならば、バックエンドとフロントエンドに分離した方がいいです。 何、難しいことはありません。 テーブルのみのMDBとデータの入力・参照を行うクエリやフォーム等のMDBに分けるだけです。 リンクテーブルを利用します。 この場合、設計変更がなければ、フロントエンドを再配布すればよいだけです。 ***** ところで、テーブル設計を変更した場合の移行作業は、とても、ややこしいです。 ですから、段階を追って開発するにしろ、テーブル設計は万全でないと困ると思います。

smile0088
質問者

お礼

またまた、速攻での回答ありがとうございます。 ●「バックエンド」と「フロントエンド」の分離 それこそ、私の求めていたやり方です。 ACCESSのヘルプで調べましたが、「リンクテーブル」という キーワードがありませんでした。 自分なりにもう少し調べて、MDBの分割保存が 出来るようにしたいと思います。 ●「テーブルの設計変更」の件 ご忠告ありがとうございます。 頭ではテーブルの変更をする危険性について 分かっているのですが・・・・。 設計変更が発生しない様、じっくりと取組みたいと おもいます。 ご指導ありがとうございました。

  • danchor
  • ベストアンサー率28% (23/80)
回答No.1

こんにちは 単純に旧バージョンのデータを「エクスポート」して、 それを新バージョンのMDBへ「インポート」すればいいのでは? 私も今いつもそうやってバージョンを上げていっています(アクセスではありませんがデータはMDBを使っています)

smile0088
質問者

お礼

速攻での回答ありがとうございます。 テーブルやクエリーは単独でエクスポート出来るのですね。 これなら私でも何とかできそうです。 ありがとうございました。

関連するQ&A

  • MSDEへの移行

    質問させていただきます。 現在、MS-Access2000で運用しているシステムを、複数台で運用することを検討しております。 そこで・・・MDBをMSDEへ移行した場合、クエリー、フォーム、レポートなど変更(修正)せずに使えるのでしょうか? あるいは大幅な変更(修正)が必要なのでしょうか?

  • アクセスのデータ移行の簡素化について

    アクセスで構築したデータベースを現在使用しています。しかし改良の必要があったため使用しているものとは別に改良しているのですが、完成後にデータを移行する必要があります。私のところだけではなく他でも利用しているのでできれば、新しい改良版にこの作業を簡素化したものを盛り込みたいと思うのですが、どうすればよいでしょうか? 旧バージョンのデータベースより新バージョンのデータベースに必要なデータを移行する方法について教えて下さい。

  • データ移行

    システムの再構築でmdb(Access2000)からSQLServer2005とSQLServer2000からSQLServer2005へのデータ移行があります。 データ移行と言いましても、テーブルの構成が変わるため必要な項目と不必要な項目があります。今、考えているのが、一度SQLServer2005へmdbまたは、SQLServer2000と同じテーブルを作成(一時的なテーブル)し、その後、INSERT文で新規テーブルに必要な項目を追加していきたいと思っています。 一時的なワークテーブルを作成する際にmdbからとSQLServer2000からとでい色々な方法があると思うのですが、どの様な方法があり、その方法のメリット・デメリットを知りたいのですが、教えて頂けないでしょうか?よろしくお願いします。

  • アクセス 運用後のデータ移行について

    アクセスでシステムを運用中です。システムに変更が生じファイル構成も変更になります。現システムとは別に変更を行い、テスト後に現システムのデータのみを移行する予定です。(ファイル構成のみを現システムも同様に変更するものとする)  このような場合、どんな方法がより簡単にできるでしょうか?アクセスは2000、WindowsMEです。  今まで変更が生じた場合、両方のデータベースを開き、各テーブルを開いて全てコピー&貼り付けで行ってきました。しかし、データが多くなるにつれ、コピー&貼り付け時にエラーが発生するようになりました。  ファイルメニューのエクスポートで行うと、リレーションシップを設定しているために、リレーションシップを削除しないとエラーとなりできません。できれぱ、リレーションシップ等も触らないでできる方法があれば教えていただきたいのです。  現システムを直接変更することは、変更量が多く運用との問題でできません。よろしくお願いします。m(__)m

  • MDB→SQL Server Expressの移行

      お世話になります。 長文失礼します。 現在稼動中の MS ACCESS 2003で作られた業務管理システムがあります。 そのシステムのDB部分のみ SQL Server 2008 Express に移行するという作業を行なっています。 ※データ照会などのレスポンスアップが目的です 現行のシステムは FORM.MDB(インターフェースのみ) → DATABASE.MDB(データのみ) 移行後は FORM.MDB(インターフェースのみ) → SQL Server 2008 Express(データのみ) となります。 まず、DATABASE.MDBにあるテーブルをACCESSの機能である "アップサイジングウィザード"を使用し、SQL Server に移行しました。 次にテーブルのリンク先をDATABASE.MDB から SQL Server に張り替えました。 基本的には上記の処理のみでデータの照会等うまくいっているのですが 大量の件数(約20万件)のデータを照会する画面で結果が表示されるまでの速度が (現行のシステムと比較して)低下したため改善を行なっております。 上記の照会画面では ACCESSのクエリで複数のテーブルを繋げ、集計した結果を表示しています。 このクエリの代わりにSQL Server側でビューとして作成し、それに対してテーブルリンクを張れば 良いのではないかと考え、実行しました。ビューにリンクを張ったクエリ名を仮に"Q_照会"とします。 結果、照会結果を表示するまでの時間はかなり短縮できた(ように見えた)のですが 照会結果をスクロールや、PageUpキーによるページ移動をすると毎回1、2秒後に スクロール後の結果が表示されます。※現行システムではスムーズにスクロールします。 プロファイラで監視してみるとページ移動した時に、"Q_照会"をテーブルキー指定で SELECT している事がわかりました。毎回10レコード取得しています。 この様な記述は私は書いていませんのでACCESS(SQL Server?)が勝手に行なっている 動きだと思われるのですがどこかで設定できるのでしょうか? また今回、ACCESSのクエリをSQL Serverのビューに置き換える方法を取りましたが 別の方法でレスポンスアップが望める方法があればご教授お願い致します。  

  • accessからのデータ参照について

    ご存知の方がいたら教えて下さい。 【動作環境】 OS:WINDOWS SERVER 2003,WINDOWS XP ACCESS:ACCESS2000 ORACLE:9i(9.2.0.1.0) 1つのACCESSファイルにシステム部分とデータ部分が存在しているACCESSのシステムを「システム部分はACCESS」「データ部分はORACLE」という形にしました。 ACCESSで管理していたデータをORACLEへ移行して、データ自体は簡単に移行が行え、ODBCでリンクをしてデータを参照できる状態にしました。 ここまでは、良かったのですが移行を行ったACCESSのテーブルに1レコード240ぐらい項目のあるテーブルが存在してリンクテーブルを開くことができません。 クエリーでも項目を選択した場合は参照できますが、全てを表示させようとするとダメです。 パススルークエリ等も試してみたのですが、いまいちうまくいきません。 どうにかして、1レコード240ほどのORACLEデータをACCESS側で参照することができないでしょうか? 説明が分かりずらく申し訳ありません。ご質問いただければ補足を致しますので、よろしくお願いします。

  • アクセスのデータを取り込みたい

    アクセスのデータを取り込みたい アクセスのクエリも理解できない、超初心者です。 db1.mdbのテーブル1のA列B列のデータだけをdb2.mdbのテーブル2に取り込みたいのですが、やり方が分かりません。先輩に聞いたら、マクロを使えば簡単だよ、あとは自分で調べなと言われ、まったく見当がつきません。 どなたかご教授願います。よろしくお願いいたします。

  • Accessのデータ共有について

    現在社内の顧客管理システムをAccessにて構築しており、データテーブルファイル(mdb)をファイルサーバに置き、クライアントPCはフォームやクエリだけのmdbを使用してテーブルのリンクでデータ共有しています(Accessのデータ分割ツールにてテーブルとフォーム、クエリを分離しただけの状態で運用しています)。これまでは、この状態でも運用出来ていましたが、データ量が多くなるにつれ、段々動作が重くなってきた為、処理速度改善の為に、以下の二案を検討していますが、どちらの案が効果的なのでしょうか? 【案1】 クライアント用mdbファイルに同じテーブル構成の一時テーブルを作成し、mdbファイル起動時と、「更新」ボタンを別途作成し、「更新」ボタンが押下されたタイミングで、ファイルサーバのデータベースからADOにて一時テーブルに全データを読み込む。更新系の処理は、各クライアントの一時テーブルとファイルサーバのデータベースに対して行う。 【案2】 現状フォームの遷移については、 「DoCmd.OpenForm」関数の引数に検索条件を指定する方法で行っている為、この部分を ・ADOにてデータを取得  ↓ ・遷移後のフォームに値をセット と言った処理に変更する。 また、上記以外の方法で何か良い方法がありましたらご指摘頂ければと思いますので、よろしくお願いします。

  • accessからsqlserverへの移行について!

    accessからsqlserverへの移行について! 現在accessでシステム運用しています。 処理に時間がかかるのでDBのみsqlserverへの移行を検討しています。 時間がかかる原因は計算項目が多く計算の為に必要な定義項目と参照項目で計算項目を含めると約300項目となります。 この為、クエリーをNo.1とNo.2の2個のクエリーに分けて対処しています。 クエリーNo.2はNo.1の式の値を使用し更に式で計算しています。 クエリーで定義している計算式も条件が複雑なものもありさらに計算結果⇒計算結果⇒・・・・となっています。 この様な内容なので入力画面はレスポンスが遅く印刷は5~10分位かかるものがあります。 とりあえず印刷処理を早くしたいと思い一旦ワークテーブルに必要項目を出力する等をやって見ましたがやはり抽出に時間がかかりあまり改善しません。 データ件数は約3万件なのでデータ件数は問題ないと思っています。 accessの処理はそのままでDBをsqlserverからODBCでリンクしようと思います。 DBをsqlserverに移行することで処理速度の改善はどの程度見込めるのでしょうか。 計算項目数が多いのであまり見込めないのではと思っています。 accessからsqlserverへの移行された方でどの位改善されたのか教えて下さい。 現在の運用環境はサーバは使用せずファイル共有で4台のPCで運用しています。OSはWinXPです。 今回も専用サーバは使用せず現在のWinXPのPCにSQLServer2005無料を使用しようと思っています。 又、accessの処理で他に早くする方法がありましたら教えて下さい。 よろしくお願いします。

  • テーブルデータ移行について

    困っています。。MDBテーブルデータ移行について 現在新しいデータベースに切り替えるために、既存のデータベースに存在するすべてのテーブルのデータを移行したいと考えています。理想としては作成したCD-ROMから新たにmdbファイルをインストールした際、自動的に既存のテーブルデータが移行されることを目標にしています。 環境はACCESS2003。VBAにて作成中。 <流れとしては> 既存のmdbファイルにテーブルデータが存在する状態。 ↓ 作成したCD-ROMから新たなmdbファイルをインストール。 ↓ 新たにインストールしたmdbファイルの空のテーブルに既存のmdbファイルのテーブルデータが移行されている。 いろいろ探しては見たのですが、見つけることができませんでした。 どなたかアドバイスをご教授いただけたらうれしいです。 または、なにかサンプルが載っているサイトがあれば教えていただきたいです。