- 締切済み
拡張子のないファイルをACCESSにインポート
ACCESS2003についての質問です。 データをインポートする際、拡張子の付いていないファイル(データの内容は区切り記号付きテキストファイルで表示することができます。)をACCESSにインポートする方法を教えて下さい。 .txt や .csv などの拡張子をつればACCESSでインポートできるファイルになるのですがその手間を省けないか?と言われています。 それ位してくれよと思うのですが・・・ VBAは少し勉強しているのですが、VBAを利用すればACCESS上でファイルに拡張子を付け加える事は可能になるのでしょうか?教えてください。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
DoCmd.TransferText,acImportDelim,インポート定義名,テーブル名,ファイル名(完全パス名),・・・ なので、 DoCmd.TransferText , acImportDelim, , "Tスタッフマスタ", "C:\Documents and Settings\taro\デスクトップ\スタッフマスタ" で大丈夫なはずですが、 取り込むデータとテーブルのフィールドの属性が合致していないようなエラーメッセージですね。 > ファイルの中身は > 「101,"早川 守",2004/5/1,"田中物流","梱包作業"」 と言われているので、 「Tスタッフマスタ」のフィールドが 数値(整数か長整数)型、テキスト型、日付/時刻型、テキスト型、テキスト型 になっているか確認してください。
多分Accessで手作業でインポートする際に、ファイルの種類の選択肢中に 「拡張子なし」あるいは「全てのファイル」がないので、拡張子なしのファイルが選択できなということでしょう。 AccessのVBAでは拡張子が無くてもインポート出来ます。 フィル名が解っていて、かつ区切り記号も解っているなら、 DoCmd.TransferText,acImportDelim,インポート定義名,テーブル名,ファイル名(完全パス名),・・・ で可能です。 詳しくは以下を... http://www.accessclub.jp/samplefile/help/help_162_1.htm
- imogasi
- ベストアンサー率27% (4737/17070)
メモ帳で 氏名,住所,年齢、所属 a,sd,f,g,hgg sd,f,gh,jku (内容はでたらめ) 拡張子なしで「CSV拡張子」という名で保存した。どんな名前でも良い。拡張子をつけない。 ーー アクセスのモジュールで下記をつくり Sub test04() Name "C:\Documents and Settings\XXX\My Documents\CSV拡張子" As "C:\Documents and Settings\XXX\My Documents\CSV拡張子.csv" End Sub を実行した(xxxの部分はユーザー名) ーー メモ帳で確認すると 今度はファイル種類を *.csv と指定して探せる。 メモ帳画面に 上記と同じデータがでた。 ーーー Name 変更前 変更後 でファイル名が変えられる。拡張子も含めてがファイル名である。 ーー 私にとって余りやる作業では無いので、質問者で確認してみてください。 後はテキストのインポートのアクセスVBAコードを続けて書けばよい。
- mitarashi
- ベストアンサー率59% (574/965)
VBAで、色々とやり様はあると思いますが、一例として、 参考URLのコードは、EXCEL VBAの事例ですが、ACCESSの標準モジュールに貼り付けて実行すると、動作します。ファイルに対して色々な操作が可能ですので、ご参考にして下さい。
お礼
参考URLにあるコードを貼り付けてやってみたら拡張子付け加えられました。びっくりしました。やぁーいろんな事ができるんですね。VBAたのしいですね。
お礼
以下のコードを試してみましたが「いずれかの引数とデータ型が対応していません。」というエラーが出てきました。 (デスクトップ上にある拡張子の無い「スタッフマスタ」ファイルをテーブル「Tスタッフマスタ」にインポートする) Private Sub cmdインポート_Click() DoCmd.TransferText , acImportDelim, , "Tスタッフマスタ", "C:\Documents and Settings\taro\デスクトップ\スタッフマスタ" End Sub ファイルの中身は 「101,"早川 守",2004/5/1,"田中物流","梱包作業"」 上記の様なレコードです。 vizzarさんの方法を出来るようになりたいので間違いを教えていただけませんか?