-PR-
解決済み

別ファイル上でオブジェクトを一度にエクスポートするには?

  • すぐに回答を!
  • 質問No.68523
  • 閲覧数335
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 53% (8/15)

【Win98/Access97】
お世話になります。
早速質問ですが、AccessのファイルがFileA,FileB,FileCと3つあるとして、
FileC上から実行をかけると、FileBの全てのオブジェクトがFileAへエクスポ
ートされるようなしかけを作ることはできるでしょうか?
マクロを作成してデータベース変換やオブジェクトのコピーなどを試してみましたが、
いずれもテーブルやフォームは問題ないものの、レポートが「無効な参照」と出てしまってエクスポートできません。
取りこみたいファイルにマクロを作ってインポートする方法はできないことも
ありませんが、オブジェクトを手で消されたりすると困るので、できるだけ
ユーザーに中を触らせたくありません。
よい方法がありましたら教えて下さい。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル13

ベストアンサー率 46% (643/1383)

>ということは、FileBに直接自身のオブジェクトをFileAに掃き出す処理を入れてもできるということですよね。

データベース変換コマンドは、
「現在開いているDBに、別のDBのオブジェクトを取り込む」(インポート)と、
「現在開いているDBのオブジェクトを別のDBに書き出す」(エクスポート)の二つに機能しか含まれないみたいです。

「別のDBのオブジェクトを別のDBにコピーする」処理を行うためには、#1のマクロでの処理のように、一度ワンクッションを入れてから処理を行うしかないみたいです。

#1のVBAでの処理では、
1:Accessをもう一つ('FileB'という名前で)起動する
2:'FileB'上で、FileB.MDBを開く
3:'FileB'に対して「テーブル『T1』をFileC.MDBにエクスポートせよ」という命令を発する

ってな感じで、中間オブジェクトを経由することなくオブジェクトのコピー処理を実現しているわけです。
「マクロでやるとすれば」とは処理的に異なることを書いてしまっていたので、少し混乱させてしまったかもしれません。

>データベース変換でレポートもエクスポートできますか?
できますよん。
マクロでするなら、「オブジェクトの種類」の欄を「レポート」にすればいいです。

VBAの場合ですと、
FileB.DoCmd.TransferDatabase acExport, "Microsoft Access", "X:\XXX\FileA.MDB", acReport, "Report1", "Report1"
みたいな感じにすればいいです。
お礼コメント
NKNK

お礼率 53% (8/15)

細かいアドバイスありがとうございました。
試しにVBAでちょっとやってみます。
投稿日時 - 2001-05-07 08:44:29
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル13

ベストアンサー率 46% (643/1383)

えっと、もしマクロでやるとすれば、
1:FileB.MDBのオブジェクトをFileC.MDBにインポート
2:インポートしたオブジェクトをFileA.MDBにエクスポート
3:FileC.MDB上のオブジェクトを削除する
という手順で出来ると思います。

VBAでするなら、
Private Sub コマンド0_Click()
 Dim FileB As New Access.Application
 FileB.OpenCurrentDatabase "X:\AAA\FileB.MDB"
 FileB.DoCmd.TransferDatabase acExport, "Microsoft Access", "X:\AAA\File1.MDB", acTable, "T1"
 FileB.CloseCurrentDatabase
 FileB.Quit
End Sub
のような感じで実現できます。
補足コメント
NKNK

お礼率 53% (8/15)

早速のご回答ありがとうございます。
一度FileCに必要なオブジェクトを取りこんでからFileAに掃き出すわけですね。
ということは、FileBに直接自身のオブジェクトをFileAに掃き出す処理を入れてもできるということですよね。
TransferDatabaseコマンドを使っていると言う事は、オブジェクトのコピーではなく、データベース変換を使っていると言う事ですね。
データベース変換でレポートもエクスポートできますか?私がやった時は質問のようなエラーが表示されてダメだったのですが。
投稿日時 - 2001-04-27 09:06:21

このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ