• ベストアンサー

Accessのマクロ

オラクルからアクセスへテーブルをエクスポートする際ですが、メニューバーから外部データー取り込みではなくマクロを使用してアクセスへインポートしたいと思います。この場合マクロのデーターベース変換でインポートするのが良い方法でしょうか?それとも他に何か良い方法があるでしょうか?オラクルとはリンクせず、テーブルのみアクセスのデーターベースへインポートしたいと思っています。 よろしくお願いします。

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

  • ベストアンサー
  • noah7150
  • ベストアンサー率46% (116/251)
回答No.2

リンクを貼りたくなくてAccessの入ってる端末からOracleが参照できな場合を除き マクロで行うならやはり データーベース変換でインポート が一番硬いかと 参照できないならSQLLODER使ってファイルサーバーにCSVを置いて取り込むって方法もありますが。 何故にリンクをしないのか?も気にはなるところです Accessの場合自由に変更できてしまうのが問題ならOracle側に該当テーブルの参照権限しかないユーザーを作ってリンクする事も出来ると思いますが。

lodinj888
質問者

お礼

度々回答ありがとうございます。 やはりデーターベース変換が一番良いようですね。一度これで試してみたいと思います。 リンクを張らない理由はアクセスでは単純にデーターの読み込みだけをしたくて万一にもオラクルサイドのデーターを編集しないようにするためにリンクではなくインポートのみにしたいと思います。 オラクルサイドで権限設定にてアクセスサイドリンクできる事分かりました。こちらについても可能か調べて見ます。

その他の回答 (1)

  • noah7150
  • ベストアンサー率46% (116/251)
回答No.1
lodinj888
質問者

お礼

回答ありがとうございます。出来ればVBAではなくマクロを使用できればと思っています。すべてのデーターではなく、オラクルのデーターベースにアクセスしてあるいくつかのテーブルのみをアクセスのテーブルに追加したいと思います。この様な場合マクロでは出来ないのでしょうか?

関連するQ&A

  • accessのマクロでODBC接続で外部データをインポートしたいのですが

    accessのマクロでODBC接続で外部データを自動でインポートしたいのですがうまくいきません。「ファイルから外部データの取込みでインポート→ファイルの種類でODBC DATABASES()を選択し、コンピュータデータソース指定→テーブルを指定」ではできたのですが、マクロで以下のように設定したのですがうまくいきません。 アクション・・データベース変換 変換の種類・・インポート データベースの種類・・ODBC データベース データベース名 ODBC;DSN=ACSKNSM1DS;APP=Microsoft® Access;WSID=JYOHO08;DATABASE=ACSKNSM1;Trusted_Connection=Yes;TABLE=dbo.tbl_bank オブジェクトの種類・・テーブル オブジェクト名・・dbo_tbl_bank 変換先名・・銀行T テーブルの構造のみ変換・・いいえ ※銀行Tのテーブルはアクセスのテーブルを作成しました。 どうか宜しくお願い致します。

  • Access、マクロの最後に最適化を入れられる?

    Access2003を使用しています。 マクロの最後に最適化を組み込むことは可能でしょうか? マクロの内容は、 1、昨日のデータ抽出に使用した作業用テーブル内のデータを削除する 2、本日のデータをインポートしてくる 3、1で空にしたテーブルに、2のデータを追加クエリで流し込む 4、2でインポートしてきたデータ(テーブル)を削除する です。 この後、「5、データベースを最適化する」を入れてマクロを終わらせたいのです。 インポートしてくるテーブルは8個あり、1テーブルに20万を超すデータが入っているため、インポート、追加をやっているうちに、データベースの大きさが1,126,528KBにもなってしまいます。 この後、この大容量のテーブルを使って、大容量のテーブルを作成しているうちに・・・・データベースは更に大きくなってしまい困っています。 マクロの最後に「ここで一旦最適化」を入れられないでしょうか? このデータベースを使用するのは自分で使用するものでないため、「マクロ終了後ツールボタンで最適化する」ということが出来ません。 また、VBAはわからないので・・・出来ればマクロなどで対応できると助かります。 どなたか詳しい方、教えてください!

  • ACCESS2000 クエリをテーブル化するマクロ(VBA)おしえてください

    こんにちは。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1801262 の質問者です。コレの続きを教えてください。 まとめますと、クロス集計クエリや、ユニオンクエリをそのまま扱うと、データや計算式がからまってエラーになったり、処理が遅かったりするので、テーブル化してからいじりたいのです。 マクロは データベース変換 変換の種類…インポート データベースの種類…MS ACCESS データベース名…L:\パス\パス\ファイル名.MDB オブジェクトの種類…クエリ オブジェクト名…クエリ名 変換先名…テーブル名 テーブル構造のみ変換…いいえ としてみましたが、クエリとしてインポートされてしまいます。 いちどCSVか何かでエクスポートしてから、テキスト変換するという手もありますが、もっとスマートな方法がありましたら教えてください。 VBA も勉強中なので、VBAでお答えいただいてもけっこうです。 よろしくお願いします。

  • アクセスマクロで、csv データを取り込むときに起こるエラー

    こんにちは、いつも質問ばかりですみません。 WINDOWS2000 で ACCESS 97 ユーザーです。 品番.CSVがあるとします(数千行) 品番は、 100 A100 のように、数字のみやローマ字が入り混じっています。 ACCESS 側に「品番」テーブルを作り、データ型をテキストにします。その上で  ファイル  -外部データの取り込み  -インポート  -次のテーブルに保存する「品番」 でテーブルを指定すると、きちんと入ります。 が、マクロで  テキスト変換  -区切り記号付インポート  -テーブル名「品番」  -ファイル名「品番.CSV」  -フィールド名の設定「はい」 で実行すると、 「品番インポートエラー」テーブルが別に作成され、 A100 を「データ型の変換エラー」と見なしています。 …どうしてでしょう。

  • Access2003でインポートをマクロで簡単に自動化したいです。

    Access2003でインポートをマクロで簡単に自動化したいです。 今はAccess2003でインポートをマクロにしたい時は、インポートする画面でインポート定義を作っておいて、マクロのテキスト変換でマクロにしています。 これだと、テキスト変換の画面でインポート元のフルパスを指定して、インポート先のテーブルのファイル名を指定しなくてはいけません。 インポート定義を作ってるのだから、定義と同じインポート元、インポート先で簡単にマクロでインポートを自動化する方法はありませんか? マクロにしたいインポートとエクスポートが結構な数あるので、マクロを作る時にいちいちフルパスとファイル名をコピーしてくるのが大変です。 簡単にインポートをマクロにする方法がありましたら、教えてください。

  • Excel→Access→Oracleでインポートする手順

    Oracle 9iで作成したテーブルを Access2002でリンクさせ、 Excel2002で作成したデータを、 インポートしたいのですが、 Accessの操作(Excelデータの取込&Oracleへのインポート)の 方法の手順を教えていただけないでしょうか。 ちなみにテーブルの作成とリンクは済んでおります。

  • accessマクロについて教えてください。

    csvファイルをaccessにインポート、エクスポートする業務があります。 ファイル名は「○○1」などとしています。 ※○○は全てのファイルに共通する名称で、 その後ろにファイルごとの連番をつけています。 この業務をマクロ化したいのです。 1つのマクロで1つのファイルをインポート、エクスポートする方法は分かるのですが、 複数ファイルを同時に変換する方法が分かりません。 VBAでも良いですので、教えてください。

  • Accessのマクロ

    Access2002で、「氏名(テーブル名:name)」と「日付<○月○日~○月○日>(テーブル名:date)」でレポート内容が検索できるのを作っています。 フォームに 氏名一覧、日付入力、検索ボタン、最新データの取り込みボタン を作っています。 「検索」の方は出来たのですが、「最新データ取り込み」をしようとすると、 『テーブル'name'は現在ほかのユーザまたはプロセスで使用されているので、ロックできませんでした』というエラーメッセージがでてきます。 「最新データ取り込み」ボタンに対してのマクロのアクションは、 オブジェクトの削除…テーブル/report テキスト変換…reportインポート定義 オブジェクトの削除…テーブル/name クエリを開く…name作成(テーブル作成クエリ) としています。 (「マクロの実行」で指定) フォームに表示されている氏名(name)を削除しようとしているために、このようなエラーメッセージが出ているのかとも思っていますが…。 フォームを閉じずに、「最新データ取り込み」ができないものでしょうか? ご教示の程、よろしくお願いします。

  • マクロによるインポート

    アクセス初心者です。仕事でデータベースを作っているのですが、簡単な物がようやく完成しそうなのですが・・・。だた1つ、マクロを使ったインポートが上手く作動しません。エクセルからアクセスのテーブルにインポートさせたいのですが、マクロでワークシート変換→エクセルからアクセスへの指示を入力し、パス自体も間違えてはいない様なのですが、インポート元のエクセルシートを開いた状態でしかテーブルが更新されません。閉じた状態でマクロを動かしても、エラーメッセージは出て来ないのですが、いざテーブルを開いてみても、インポートされていないのです。更新する前にデータが重ならない様に、テーブルを削除してから、新たにインポートさせる指示にはしてあります。エクセルを閉じた状態でインポートさせるにはどうしたら良いのでしょうか?分かりにい文章で申し訳ありません。どうかお願いします。

  • Exce97でAccess97のデータを取り込む

    ExcelにAccessのテーブルのデータを取り込むマクロ作りたいのですが、Accessのデータを取り込むところから躓いています。2000などだと外部データの取り込みでできるのですが97だとありません。マクロで一発で取り込みをしたいのですが無理なんでしょうか?

専門家に質問してみよう