ExcelVBAからAccess2000の機能を使用する方法

このQ&Aのポイント
  • ExcelVBAを使用してAccess2000の機能を活用する方法について教えてください。
  • Access2000をDBとして使用し、ExcelVBAでDoCmd.TransferTextの処理を書き換えることは可能でしょうか?
  • 詳しい方のご意見をお待ちしています。
回答を見る
  • ベストアンサー

ExcelVBA からAccess2000の機能を使用したい。

Access2000を使用した、業務用アプリケーションがあるのですが、 AccessをDBとしてのみ活用し、実行をExcelVBAに変更することになりました。 そこで DoCmd.TransferText acImportFixed, "I定義", "DATA_I", txt_Input_Path DoCmd.TransferText acExportDelim, "E定義", "DATA_I", StrOutPath の処理をExcelVBAで書換えた場合はどうなるのでしょうか? (こんなことができるかどうかも解かりません。) ご存知の方いらっしゃいましたら宜しくお願い致します。

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

  • ベストアンサー
回答No.1

実際に確かめていないので動くかどうかは定かではありませんが・・・ Dim objAccess As Access.Application Set objAccess = CreateObject("Access.Application") With objAccess .OpenCurrentDatabase FilePath:="C:\xxx\xxx.mdb" .DoCmd.TransferText acImportFixed, "I定義", "DATA_I", txt_Input_Path .CloseCurrentDatabase End With Set acc = Nothing

ayu_comp
質問者

お礼

できました!できました! 確認したところImportされました。 nandarou-1011さんありがとうございます。 ココでもう一つ質問しても宜しいでしょうか? 仮にImportエラーが発生した場合、 エラーを拾うことはできるのでしょうか? 度々ご迷惑おかけしますが宜しくお願い致します。

その他の回答 (2)

回答No.3

On Error Gotoを使えばエラー処理はできると思います。 ただし、エラー内容まで把握できるかどうか・・・ 時間がある時に調べてみます。

ayu_comp
質問者

補足

度々の回答ありがとうございます。 試してみたところ、 残念ながら、OnErrorGotoではエラーを拾うことができませんでした。しかし、AccessDBの中にインポートエラーテーブル出来上がるので、それをチェックすることでとりあえず回避しようと思ってます。

回答No.2

訂正 Set acc = Nothing     ↓ Set objAccess = Nothing

関連するQ&A

  • アクセス2010 ""なしエクスポート

    アクセス2010 VB DoCmd.TransferText acExportDelim, , テーブル名,ファイル名.txt テーブルデータをエクスポートするとき、データをダブルコーテーションなしでデータを送る方法ないでしょうか?

  • Access CSVデータのエクスポート

    Access CSVデータのエクスポート 下記のようにCSVデータをエクスポートしています。 最後をTrueに設定すると1行目がタイトルとしてエクスポート出来るはずが出来ません。 エクスポート定義が原因でしょうか? 対処方法を教えて下さい。 ※ちなみに下のようにエクスポート定義を使用しないと1行目をタイトルしてエクスポート出来ます。 DoCmd.TransferText acExportDelim, "エクスポート定義", "テーブル名", Format(Now(), "yyyymmdd") & "test.csv", True DoCmd.TransferText acExportDelim, , "テーブル名", Format(Now(), "yyyymmdd") & "test.csv", True

  • Accessのエクスポート、出力場所について

    Microsoft AccessにてTranseferTextを用いてCSVファイルをエクスポートする際に、Accessのmdbファイルと同じディレクトリに出力したいと考えています。 参考書やネットを調べましたが、TransferTextで出力先を指定するには、ファイルを絶対パスにて指定する例しか見当たらず、また、試しに相対パスを自分で書いてみてやってみましたが、出力されません。 相対パスではできないのでしょうか? それとも相対パスの書き方が悪いのでしょうか? 自分で書いたのは、こんな感じのVBA文です↓ DoCmd>TransferText acExportDelim," Tbl_output エキスポート定義", "tbl_output", "./seikyu.csv", True

  • Accessで複数のクエリを1つのCSVファイルにエクスポートする方法

    Accessで複数のクエリを1つのCSVファイルにエクスポートする方法はないでしょうか? 現在は下記のような記述でそれぞれCSVファイルを作成しています。 クエリ1~3を1つのCSVファイルにエクスポートする方法があれば教えて頂きたいです。 よろしくお願いします。 DoCmd.TransferText acExportDelim, , "クエリ1", "C:test1.csv", True, "" DoCmd.TransferText acExportDelim, , "クエリ2", "C:test2.csv", True, "" DoCmd.TransferText acExportDelim, , "クエリ3", "C:test3.csv", True, ""

  • ACCESS VBA txtファイル出力

    お世話になっております。 不慣れながら会社でACCESSVBAを使っております。 エクセルファイルをACCESSに取り込み、VBAを使ってtxtファイルとして出力したいです。 その際、現時点で出力まではできているのですが、先頭列の頭の0が落ちてしまいます。 頭の0を残すコードの書き方はどのようにすればよいのでしょうか。 また、そのような設定はありますか。 力不足で恐縮ですが、よろしくお願いします。 保存先はデスクトップ、テーブル名はテーブル名を代入した変数です。 DoCmd.TransferText acExportDelim, , テーブル名, "…(パス)…テスト.txt"

  • ACCESSからテキストファイルへのエクスポート

    ACCESS2002でVBAを使ってテキストファイルにエクスポートしようとすると 次のようなエラーが出てしまいます。 「予期せぬエラー #3027が発生しました。 データベースまたはオブジェクトは読み取り専用なので更新できません。」 これを回避するにはどうしたらいいのでしょうか。 ちなみにVBAの記述は DoCmd.TransferText acExportDelim, "", "抽出クエリ", "a:\nk100.txt" , False, ""という記述です。

  • ACCESSでtxt出力を・・・。

    すいません・・教えてください。 ACCESSに存在するテーブルをtxt形式に出力したいと思っています。 テーブルの内容をTXT出力したいのですが、 管理番号   金額   名前 00001    20000 田中 00002 10000 志村 00003 5000 小屋 00004 80 島 とあります。 これを、txtにする際に、 「00001 20000 田中」 ←これは、0000001.txt 「00002 10000 志村」 ←これは、0000002.txt と、レコード毎に別々のtxtを作成したいのですが、 その方法が全く分かりません。 よろしくお願いします。 VBAは、初心者なので、まずはtxtに全てを出力しようと、 Public Sub FileExport1() Dim path As String path = "C:\" DoCmd.TransferText acExportDelim, , "テーブル名", path & "テキスト名" End Sub とやったら、元々存在するテキストに出力はできました。 後は、これに出力条件を追加すれば・・と思っているのですが。 また、実際はレコード数が6000件くらいあるので、元々にテキストを用意する事もできません。。。 よろしくお願いします。

  • Access VBA について質問があります。

    Access VBA について質問があります。 Docmd.TransferText acExportDelim にてCSVを吐き出したところ、文字列中に空白文字が表示されてしまい 大変困っております。この空白文字列を出さない方法等はあるのでしょうか? 以下に例を記載いたしますのでアドバイスお願いいたします。 例) Accessリンクテーブル Aテーブル (列名)    :(データ) A(Text 3byte): "11" B(int 5byte) : 9999 C(Text 15byte):"9,hoge_hoge" ※"_"←半角文字です。                ↓ (Docmd.TransferText acExportDelim でCSV出力)                ↓ (CSVの内容)"11_",9999_,"9,hoge_hoge____" ※"_"←半角文字です。 replaceで置き換えようとしましたが、必要な半角文字まで消えてしまいますので とても厄介な事になっております。 初心者なので、何卒ご教授していただけますようにお願いいたします。

  • 変数を使ってのフロッピーへの保存

    データをバックアップする事が目的です。 ファイル名としては、その日の日付と時間を用います。 例えば 2002/09/18 15:00:00.txtといった感じです。 Now関数を使って 現在の時刻を取得します。 TransferTextメソッドを用いて、フロッピーディスクにバックアップをとります。 DoCmd.TransferText acExportDelim,"","tbl名","a:\○○○,True,"" Dim T As Variant T = Now() を事前に定義しておいて、○○○部分に Tを入れるだけじゃ駄目なのですかね。 教えてください お願いします。

  • Accessのデータをテキストファイルで出力する方法を教えてください。

    Accessのデータをテキストファイルで出力する方法を教えてください。 クエリで抽出したデータをテキストファイルに出力したいのですが、下記のような記述では""や,で区切られてしまいます。 DoCmd.TransferText acExportDelim, "", "クエリ名", "出力ファイル.txt" フィールドごとに改行して出力する方法はないでしょうか? <クエリ結果> フィールド1  フィールド2  フィールド3 aaa      bbb      ccc <出力テキストファイル> aaa bbb ccc

専門家に質問してみよう