• ベストアンサー

VB6.0を使ってAccessに固定長インポートしたい

いつもお世話になっております。 タイトルの通りなのですが・・・(^-^; 「Accessを開いて(開いた状態で)」というわけではなく、 VB上でTxtファイル(固定長)をAccessのテーブルにインポートしたいのです。 DAO、ADO等の指定は無いとするとどのようなやり方があるのでしょうか? ご教授いただきたいです。

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

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

私は原則的に、アクセスはデータを入れておくだけの入れ物として使用していますが、通常ADOで接続しています。 もちろんDAOでもできますし、やろうと思えば、CSVのリンクテーブル経由でもできると思います。

参考URL:
http://homepage2.nifty.com/inform/vbdb/

その他の回答 (1)

noname#22222
noname#22222
回答No.2

Access が起動していない状態では不可能かと? まず、Access2.0の頃にはDDEを使っていました。 その後、DAO、ADO、Office オブジェクトと変化してきたと思います。 CSVは、あくまでもリンクであってAccessのテーブルそのものではありません。 質問者は、あのクソ手作り的なDDEを使いたいのでしょうか? 他には、データコントロールを利用するという手法がありますが、これはサポートが不安定ですので推奨できません。 どういう手法があるかという質問は、余りにも、丸投げで答えようがありません。 DDEを使おうと思ったが、ここで躓いた! CSVを試みたが、ここが判らない! と、少し、焦点を絞ると宜しいかと!

関連するQ&A

  • Accessファイル選択インポート

    環境WinXP,MS-Access2003 Accessマクロを利用して インポートファイルを「ダイアログのファイルを指定」にて固定長のインポートをさせたいです。 実行形式はマクロボタン押下だけです。 VBAのサンプルがあればご教授お願いいたします。 なお インポートファイルは111.txt インポート定義はAAA インポート先テーブルはXXX

  • VBでXMLデータをMS-ACCESS2000へインポートしたい

    VBを使用して,Ms-AccessへXMLデータをインポートしたいと考えています. ADOを用いて,MS-ACCESSのテーブルデータ→XMLへ変換することはできたのですが,これとは逆にXMLデータをMS-Accessへインポートしたいです. よろしくお願いします. *****環境***** OS:Windows2000+SP3 Visual Basic 6.0+SP5 RDB:MS-ACCESS2000+SP3 MSXML 4.0+SP2 ADO2.7+SP1 **************

  • ACCESSでレコード数の数え方(ADO,DAOなしで)

    ACCESS2000でデータベースを作っています。ADOやDAOは使っていません。 質問はタイトル通りなのですが、ADOやDAOなら簡単なのですが、訳あって それらは使えません。 色々調べてみたのですが・・・。 どなたかお知恵を貸していただけないでしょうか? P.S. 質問No.689217"ACCESSで実行時エラー3008"を質問しましたが、解決しました。 フォームの定義でロックをかけていました。(⌒ ⌒; いつもはVBで作っているのですが・・・、はやとちりのようでした。お騒がせ しました。

  • Access(アクセス)でのインポートについて

    テーブルのインポートでエクセルファイルをインポートしたいのですが「ワークシートインポートウィザード」の画面でテーブルを指定して保存すると 「Microsoft Access」の画面で「すべてのデータをテーブルに追加できませんでした。 キー違反のため、0件のレコードのデータが失われ、0件のレコードが削除されました。」と出てきて、保存できません。 もとのテーブルのデータ型を使ってインポートするにはどうしたらいいのでしょうか。よろしくお願いします。 インポートする元のデータ(エクセル)とインポート先(アクセス)の関係は次の通りです。 エクセルファイル    アクセスのテーブル (セルの書式設定)   データ型、フィールドサイズ --------------------------------------------- 数値          数値型、長整数型 文字列         テキスト型、16 インポートする前に元のエクセルデータをアクセスのデータ型に合わせただけではダメなのでしょうか

  • Access2000 固定長テキストと特殊文字インポート定義

    固定長形式で作成したテキストファイルを、新規作成 →テーブルのインポート → 設定 → (あらかじめ作成しておいた固定長の)定義によりインポートは成功するのですが、 必ずα(アルファ)やβ(ベータ)の文字が入っているテキスト型のデータで1バイトのズレが起こります。例えば固定幅で20を指定してもαやβの文字が入っているフィールドでは21バイトまで取り込んでしまいます。 αやβの文字が入っていなければ次のレコードからは問題なく指定どおりにインポートされています。 インポート定義の設定で、どこを訂正したらよいのか分からないため質問させていただきます。

  • Accessにエクセルからデータをインポートしたい(VBA)

    Access(2000)のVBAでExcel(2000)からデータをインポートしたいと思います。 詳細は以下の通りです。 フォームでコマンドボタンをクリック時にダイアログボックスが開き、ファイルを指定し、該当のシート(シート名はどのファイルも固定)のデータをアクセスのテーブルにインポートしたい。 どうしたらできるのかここ数日悩んでいます。 よい方法がありましたら教えてください。

  • ExcelVBAでAccessクエリのインポート方法について

    こんばんは。 色々調べたのですが、ExcelVBAでAccessのクエリをだインポートするやり方がわかりません。 ↓下記のやり方でクエリを指定すると、SELECTなどの指定がないといわれます。 http://dqn.sakusakutto.jp/2008/05/vbaaccessexcel_ado.html 下記のやり方で http://www.asahi-net.or.jp/~ef2o-inue/kihon/sub01_05_22.html →『ADOでデータを取得する。』で上手くいきそうなのですが、 テーブルのインポートはできても抽出部分が入れられません。 AccessのSQL文コピーし、strSQL="SELECT"の部分に 貼り付け、""でくくり、""部分は、''に置き換え、最後の;を消しました。 SQL部分にSELECT~としたのですが、1行に収まらず、自動改行がかかってしまい、1行目の最終に"が自動でついてしまい、 HAVING以降のAND((T_受付表.分類2)) In('優','普','')などの抽出条件がエラーになってしまいます。 VBAの通常改行 _も入れてみたのですが、えらーになってしまいます。 『 DAOでフィールドを個々に指定して読み込む』 で再度SQLを指定してやってみたところ、SELECT部分のみにすると、選択条件の入っていない、テーブルのデータインポートは上手くいくのですが、どうしても条件がいれられません。 どうしたらよいのでしょうか。 チラッと探したところ、クエリはインポートできないなどのご意見があったのですが、実際のところどのようにしたら良いのでしょうか。 宜しくお願い致します。

  • アクセスでの、固定長でのテキストインポートについて(初級者です)

    テキストファイルをアクセスに固定長で2行目から取り込みたいです。 エクセルのように、行指定する項目がありません。 インポート定義を作成し、さらにモジュールにそれの2行目から。 みたいな指定が出来るのでしょうか?? どうか教えてください!

  • ACCESS2003 VBAよりVB.NETを使った方がいい?

    ACCESS2003 VBAよりVB.NETを使った方がいい? プログラマーでもないのですが、仕事でAccess2003でVBAを書いています。フォームにテーブルから引っ張てきたデータを表示させてデータを閲覧したり、データを加工してExcelにデータを吐き出したりしています。テーブルには10万件程度のデータがあります。 特に私は便利に使っているのですが、上司がVB.netとMYSQLでプログラム書いた方が楽じゃない?VB.NETよかったら買ってあげるよと言われました。買ってくれるのは嬉しいのですが、.netなんてやったこともないですし、DAOしか使ったことがなくADOなんて全くわかりません。 何かACCESS VBAよりVB.net+MYSQLのメリットって何かありますでしょうか?ちなみに業務で使うためのものなので、家からアクセスして何かするというのは考えていません。あくまで社内で使う時にメリットはあるでしょうか?

  • VBとACCESSを接続したい

    VBの画面からACCESSのテーブルを取得したいのですが どういうふうに記述すればいいかわかりません。 サンプルプログラムとともにおしえてください。 DAOというので接続したいと思っています。