テキストファイルのデータをACCESSのデータベースへ追加したいと思っていますが、どうすれば良いのか分かりません。
またテキストファイル名の選択は、フォーム上のFileListBoxにて選択したテキスト名のを使用したいと思っています。
どういった方法が可能なのでしょうか?
良きアドバイスをお願い致します。
アクセス側でファイル→外部データの取込→インポート
インポートしたいファイルを指定するとウィザードが起動します。区切り位置やフィールド名の設定を行った後インポートの定義を[設定]で行います。
後はインポートしたテーブルデータを処理する追加クエリを作成しマクロを組めば楽だと思いますが…。ダメでしょうか?
通りすがりさん
レスありがとうございます!
ACCESS側でのインポート方法に尽きましては把握しているのですが、VBのフォーム上にて同じ事が行えないかと思っています。
やはり難しい事なのでしょうか?
MS Accessがインストールされているマシンであれば、
Access.ApplicationをCreateObjectすれば可能です。
メソッドの構文についてはAccess VBAのヘルプを参照してください。
MS Accessがインストールされていない場合、
csvであれば、DAO/ADOでテキストデータベースとして開き、
SQLで流し込むことが可能です。
データ形式が特殊な場合、
Scripting.FileSystemObject.TextStreamをCreateObjectするか、
Open ,Input#(あるいはLine Input #)で
テキストファイルとして読み込み、
解析の後DAO/ADOなどで
DAO.DataBase/ADODB.Connection.Execute SQLまたは
RecordSet.AddNew, .Edit, .Updateメソッドで
Insert/Updateすることになるでしょう。
Sayさんレスありがとうございます!
>MS Accessがインストールされていない場合、
>csvであれば、DAO/ADOでテキストデータベースとして開き、
>SQLで流し込むことが可能です。
との回答を頂きましたが、元のデータはCSVでも構いません。
この場合、元のデータとなるCSVファイルをどのようにしてSQLで流し込む事が出来るのでしょうか?
ACCESSのデータベースをADOを用いてSQLでデータグリッドに表示する方法は把握しているつもりなのですが、CSVのファイルとACCESS側のデータベースを使用する方法が全く分からないのです。
図々しい質問になるかと思いますが、良ければもう少し詳しく教えて下さい。
宜しくお願い致します。
とりあえず、「ADO HDR=NO」あたりをキーに自分で調べてみてください。
ここの掲示板では無かったかもしれませんが・・・
とりあえず、以下のURLをご参照下さい。
http://support.microsoft.com/default.aspx?scid=kb;ja;408179
それと・・・『リンクされたテーブルを作成する』と言う内容があった
のですが、現在のMSでの検索エンジンでは、もうそのページを見つけ
ることができませんでした。
Accessと、他のDB(エクセルやテキストファイル(ISAMとか))と
リンクテーブルを作成して、データの読み書きを、Access経由で行える
という手法のものですが・・・
ご参考までに・・・
以上。
ヒント!
構造体を使えば、データの取得及びデータベースへの格納などが解り易くなると思います。
また、ADOデータを表示する事が可能なのであれば、SQL文も少しは理解しているのではないかと思うのですが…
特別ヒント!
追加はInsert文、更新はUpdate文、削除はDelete文です。
これ以上は、ご自分でSQLを勉強してください。
参考までに、私が作ったAdo操作クラスを見てみてはいかがですか?
http://www.takonet.co.jp/~pegasus/samples/AdoOperation.lzh
皆様、回答ありがとうございます。
色々と試してみた結果、思った通りに出来上がりました。
皆様の回答に大変感謝しております。
本当にありがとうございました!
ツイート | ![]() |