みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

Accessのテーブルのリンクについて

Access2002で、異なるファイル間でテーブルをリンクして使用しています。

「A」データベースと「B」データベースがあり、
「A」データベースのテーブルを「B」データベースへリンクさせています。
「B」には「A」からリンクさせているテーブルと同一の形式のテーブルがあり、
普段は「B」所有のテーブルを使用しているのですが、「保存」ボタンクリック時に
「A」からリンクさせているテーブルに「B」の内容をコピーするマクロを作成したいのですが、
値の代入がうまく行きません。
どうすればデータをコピーできるでしょうか。

投稿日時 - 2002-10-31 15:19:06

QNo.393904

oom

すぐに回答ほしいです

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

返事遅くなりました。
追加クエリの抽出条件をそのサブフォームのフィールド名を使った記述に変えれば
良いのではないでしょうか。
たぶん抽出条件に=[通し番号]の様になっていると思うのでサブフォーム名とその
フィールド名を使った記述にすればダイアログは出ずに追加できます。

投稿日時 - 2002-11-12 10:46:59

お礼

回答ありがとうございます。

ちょっと説明不足で申し訳ありませんでした。
無事解決しました。
原因は、サブフォームのフィールドの指定の仕方が悪いせいでした。
[forms]![サブフォーム名]![フィールド名]ではなく、
[forms]![メインフォーム名][サブフォーム名]![フィールド名]にすれば解決しました。

投稿日時 - 2002-11-12 16:37:39

ANo.4

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

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

回答(4)

ANo.3

>(表示しているレコードをボタンクリック時にコピー)に行いたいのですが、「現
>在表示しているレコード」を抽出条件にするにはどう記述すればよいでしょうか。
作った追加クエリに抽出条件を記述すれば良いんです。
例えばフォームに表示させる抽出条件があるのでしたら同じ抽出条件を追加クエリ
に記述すればフォームに表示されるレコードと同じレコードを抽出してテーブルに
追加できます。

投稿日時 - 2002-11-05 11:12:46

補足

返事が遅くなり、申し訳ありません。

いろいろ試したのですが、不具合が起こってしまいます・・・。
サブフォームの表形式で表示されたデータの各レコードにボタンがあり、
ボタンクリック時にそのレコードのみを追加したいと思っています。
抽出条件として、サブフォーム内の通し番号を取得するようにしているのですが、
通し番号を入力するダイアログボックスが立ち上がり、入力しなければ
追加が行なわれません。入力すれば追加できるのですが・・・。

投稿日時 - 2002-11-08 16:03:55

ANo.2

マクロだと、変数が使えないので、結構難しいことしてますよね。
マクロ自体に問題がないとすれば、
テーブルのほうに問題はないでしょうか。
たとえば、同一キーのレコードがすでに存在するとか、
Bでオートナンバーでつけてしまった番号がAのファイルには合わないとか、
書式条件が違う(これはなさそう)などです。

追加クエリーにしたほうが簡単だと思います。
同一レコードを上書きする場合は、追加クエリーと更新クエリーに分けて、マクロからクエリーを呼び出すようにしてはどうでしょうか。

投稿日時 - 2002-10-31 15:41:22

ANo.1

>「A」からリンクさせているテーブルに「B」の内容をコピーするマクロを・・
一番簡単な方法はテーブルの追加クエリを作りBのテーブルのレコードをAのテー
ブルに追加するのが簡単だと思いますが。
マクロにそのクエリを開くで指定しボタンのクリックイベントにそのマクロを設定
してください。

投稿日時 - 2002-10-31 15:37:11

補足

回答ありがとうございます。
返答が送れて申し訳ありません。
追加クエリが作成できました!ありがとうございます。

そこでもう一つ質問なんですが、
普通に追加クエリを起動させるだけだとすべてのレコードがコピーされてしまいますよね。
これを任意(表示しているレコードをボタンクリック時にコピー)に行いたいのですが、「現在表示しているレコード」を抽出条件にするには、どう記述すればよいでしょうか。

投稿日時 - 2002-11-03 17:39:29

あなたにオススメの質問