• ベストアンサー

ACCESS2002、レコードのインポートができません!

初心者です、よろしくお願いします。 ■ 仕様環境 WinXP Access2002 アクセス2002で顧客管理システムを作ってます。 アクセスAのテーブルにアクセスBのテーブルをインポートする時、 レコードだけインポートできないのでしょうか? どうしても違うテーブルが作られてしまいます。 例えば・・ アクセスAに「住所」という項目があり、そこには既にレコードが 何件か入っているのですが、そこにアクセスBの「住所」のレコードを追加したいのですが、 うまくいきません。そういう機能はついていないのでしょうか? また、アクセスBの情報をエクセルファイルに変えて「次のテーブルに保存する」で インポートしたのですが、最後の「完了」ボタンを押すと「エラーが発生し、 インポートできませんでした」という表示がでてインポートできません。 同じように電話番号や名前、メールアドレス等もアクセスAに追加したいのですが、 一つ解決しないと先に進まない気がするのでとりあえず住所だけにしぼってみました。 データを”追加”するような感じでしたいのです! 誰かお知恵を貸してください!

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

>レコードだけインポートできないのでしょうか できません。レコードはテーブルと言う器に入っているものです。 データベース画面でもオブジェクト欄に"テーブル"、"クエリ"、…と ありますが、"レコード"というのは無いでしょう。 こういう場合はインポートではなく、INSERT文を使います。 アクセスA側でクエリを作成し、SQLビューで直にSQLを記述します。 INSERT INTO 住所 SELECT * FROM 住所 IN 'C:\~\アクセスB.mdb' INの中はアクセスBのパスです。このようにすれば、テーブルを リンクしなくてもインサートできます。

23tomo-u
質問者

お礼

nda23様 ご回答ありがとうございます! 質問をした後、過去のFAQやアクセスの参考本を 必死にみていたら「追加クエリ」というものを発見して テスト的にテーブルを作成してやってみたらなんとかできました。 なんとかなるかも知れません。 あと差し支えなければご相談したいのですが、 今後、僕はデータベースに力を入れて行こうと思うのですが、 最初はエクセルやアクセスを十分に使いこなせるようになり 後々はSQLやVBAといったものに入りたいと思っています。 やはり「データベースを使いこなせる(作成や追加、修正など)」と いうぐらいになるにはSQLやVBA等を覚えた方がいいですか? ちなみに環境は社内LANと過程します。 もしよければ見解をお伺いできればと思います。 何卒よろしくお願いします。

その他の回答 (3)

回答No.4

No.2です。 > 最初はエクセルやアクセスを十分に使いこなせるようになり > 後々はSQLやVBAといったものに入りたいと思っています。  AccessからExcelに入るのであればいいのですが、逆のケースは「考え方に色々問題がある」というのが、個人的見解です。 これはNo.3さんの言う --------------------  VBAは覚えるに越したことはないのですが、プログラムでやろうとすると、SQLの感覚が身に付かないことがあります。プログラムはステップで考えますが、SQLはデータの結合を考えるので、異なる感性を要求されるからです。 -------------------- と同じかも知れません。  AccessのクエリーはSQLそのものです。 クエリーで出来ることをVBAで行うのは時間の浪費です。  ・ まずはクエリーを理解する。  ・ 関数の開発はモジュール(VBA)で行う。  ・ クエリー(SQL)をモジュール(VBA)で動かせるようにする。 そうすれば、Excelの使い方も変わってくるはずです。

23tomo-u
質問者

お礼

ogohnohito 様 回答ありがとうございます! 大変、参考になりました。 アクセスを使っていて思ったのはやはりクエリの使い方ですよね。 それを理解して、工夫しながら使っていくみたいな感じが想定できました。 また何かございましたらご教授お願いします!

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

追加クエリ=INSERT文(SQL)なんですけどね。 クエリのデザインで、「表示」→「SQL ビュー」と進むと、実際のSQLが 表示されますので、サンプルと見比べてください。 >「データベースを使いこなせる(作成や追加、修正など)」 概ね、SQLで行うことが多いので、覚えた方が良いことに違いありません。 但し、DBシステムにより方言があり、抽出結果のクセなども差異があります。 とりあえず、AccessでSQLを極めてから、OracleやSQLServerといったものへ 移行していくと良いと思います。 VBAは覚えるに越したことはないのですが、プログラムでやろうとすると、 SQLの感覚が身に付かないことがあります。プログラムはステップで考えますが、 SQLはデータの結合を考えるので、異なる感性を要求されるからです。 お仕事が、プロのSEならプログラム優先ですが、そうでないなら、 とりあえず、SQLに重点を置いて、VBAは止むを得ない場合のみ頼る としてはいかがでしょう。

23tomo-u
質問者

お礼

nda23 様 回答ありがとうございます! 大変、参考になりました。 VBAとかSQLとかごっちゃになっていたので、 正直、混乱していたところを整理できた感じです。 今後の方向性についてはゆっくり考えたいと思います。 また何かございましたらご教授お願いします!

回答No.2

No.1さんの言うとおりです。 SQLを作るのが難しいようでしたら、 1)アクセスAからアクセスBの「住所」があるテーブルにリンクし、 2)追加クエリーで行う。 3)終わったら、リンクしたテーブルを削除しておく。

23tomo-u
質問者

お礼

ogohnohito様 ご回答ありがとうございます! 質問をした後、過去のFAQやアクセスの参考本を 必死にみていたら「追加クエリ」というものを発見して テスト的にテーブルを作成してやってみたらなんとかできました。 なんとかなるかも知れません。

関連するQ&A