こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

初心者です、よろしくお願いします。
■ 仕様環境
WinXP
Access2002

アクセス2002で顧客管理システムを作ってます。
アクセスAのテーブルにアクセスBのテーブルをインポートする時、
レコードだけインポートできないのでしょうか?
どうしても違うテーブルが作られてしまいます。

例えば・・
アクセスAに「住所」という項目があり、そこには既にレコードが
何件か入っているのですが、そこにアクセスBの「住所」のレコードを追加したいのですが、
うまくいきません。そういう機能はついていないのでしょうか?

また、アクセスBの情報をエクセルファイルに変えて「次のテーブルに保存する」で
インポートしたのですが、最後の「完了」ボタンを押すと「エラーが発生し、
インポートできませんでした」という表示がでてインポートできません。

同じように電話番号や名前、メールアドレス等もアクセスAに追加したいのですが、
一つ解決しないと先に進まない気がするのでとりあえず住所だけにしぼってみました。

データを”追加”するような感じでしたいのです!
誰かお知恵を貸してください!

投稿日時 - 2008-06-03 22:02:31

QNo.4073177

困ってます

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

>レコードだけインポートできないのでしょうか
できません。レコードはテーブルと言う器に入っているものです。
データベース画面でもオブジェクト欄に"テーブル"、"クエリ"、…と
ありますが、"レコード"というのは無いでしょう。

こういう場合はインポートではなく、INSERT文を使います。
アクセスA側でクエリを作成し、SQLビューで直にSQLを記述します。
INSERT INTO 住所 SELECT * FROM 住所 IN 'C:\~\アクセスB.mdb'
INの中はアクセスBのパスです。このようにすれば、テーブルを
リンクしなくてもインサートできます。

投稿日時 - 2008-06-03 23:31:15

お礼

nda23様

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

あと差し支えなければご相談したいのですが、
今後、僕はデータベースに力を入れて行こうと思うのですが、
最初はエクセルやアクセスを十分に使いこなせるようになり
後々はSQLやVBAといったものに入りたいと思っています。

やはり「データベースを使いこなせる(作成や追加、修正など)」と
いうぐらいになるにはSQLやVBA等を覚えた方がいいですか?
ちなみに環境は社内LANと過程します。

もしよければ見解をお伺いできればと思います。
何卒よろしくお願いします。

投稿日時 - 2008-06-04 11:13:03

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

No.2です。

> 最初はエクセルやアクセスを十分に使いこなせるようになり
> 後々はSQLやVBAといったものに入りたいと思っています。

 AccessからExcelに入るのであればいいのですが、逆のケースは「考え方に色々問題がある」というのが、個人的見解です。
これはNo.3さんの言う
--------------------
 VBAは覚えるに越したことはないのですが、プログラムでやろうとすると、SQLの感覚が身に付かないことがあります。プログラムはステップで考えますが、SQLはデータの結合を考えるので、異なる感性を要求されるからです。
--------------------
と同じかも知れません。

 AccessのクエリーはSQLそのものです。
クエリーで出来ることをVBAで行うのは時間の浪費です。
 ・ まずはクエリーを理解する。
 ・ 関数の開発はモジュール(VBA)で行う。
 ・ クエリー(SQL)をモジュール(VBA)で動かせるようにする。
そうすれば、Excelの使い方も変わってくるはずです。

投稿日時 - 2008-06-04 17:05:06

お礼

ogohnohito 様

回答ありがとうございます!
大変、参考になりました。

アクセスを使っていて思ったのはやはりクエリの使い方ですよね。
それを理解して、工夫しながら使っていくみたいな感じが想定できました。

また何かございましたらご教授お願いします!

投稿日時 - 2008-06-05 00:54:12

ANo.3

追加クエリ=INSERT文(SQL)なんですけどね。
クエリのデザインで、「表示」→「SQL ビュー」と進むと、実際のSQLが
表示されますので、サンプルと見比べてください。

>「データベースを使いこなせる(作成や追加、修正など)」
概ね、SQLで行うことが多いので、覚えた方が良いことに違いありません。
但し、DBシステムにより方言があり、抽出結果のクセなども差異があります。
とりあえず、AccessでSQLを極めてから、OracleやSQLServerといったものへ
移行していくと良いと思います。

VBAは覚えるに越したことはないのですが、プログラムでやろうとすると、
SQLの感覚が身に付かないことがあります。プログラムはステップで考えますが、
SQLはデータの結合を考えるので、異なる感性を要求されるからです。

お仕事が、プロのSEならプログラム優先ですが、そうでないなら、
とりあえず、SQLに重点を置いて、VBAは止むを得ない場合のみ頼る
としてはいかがでしょう。

投稿日時 - 2008-06-04 12:05:20

お礼

nda23 様

回答ありがとうございます!
大変、参考になりました。

VBAとかSQLとかごっちゃになっていたので、
正直、混乱していたところを整理できた感じです。
今後の方向性についてはゆっくり考えたいと思います。

また何かございましたらご教授お願いします!

投稿日時 - 2008-06-05 00:44:20

ANo.2

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

投稿日時 - 2008-06-04 07:11:31

お礼

ogohnohito様

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

投稿日時 - 2008-06-04 11:15:20

あなたにオススメの質問