
こんにちは。
エクセルで作成された従業員台帳を、アクセスにインポートしたいのですが、エラーが出て困っています。
インポートの為のフォームを作り、参照ボタンでそのエクセルファイルを選択してフルパスを取得し(こちらの動作はOKです)、実行ボタンでそのファイルをインポートする、という方法をとろうと思います。
transferspreadsheet で、エクセルのファイル(.xls)は問題なくいくのですが、csv形式のファイルを指定して同じようにインポートすると、
実行時エラー 3274 外部テーブルのフォーマットが正しくありません。 となってしまいます。
書いているコードは、
DoCmd.TransferSpreadsheet acImport, 8, "従業員台帳(アクセス側でのテーブルの名前)", "上記画面で取得したフルパス", True(一番上の項目をフィールド名として使用します), ""
です。.xlsでも.csvの形式でもインポートできるようにしたいのです。
環境は、winXPpro、Access2000、Excel2000 です。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
TransferSpreadsheet ではなく
TransferText を使用してみてください。
詳細はヘルプをご覧下さい。
こんにちは。早速の回答ありがとうございます。ヘルプを見て、TransferTextを使用してみたらできました!
インポート元のファイルが.xlsのときはTransferSpreadsheet、.csvのときはTransferTextを使うようにしようと思います。どうもありがとうございました。
お礼に書いてしまって申し訳ないのですが、インポートしたテーブルを、削除するということはできないのでしょうか?何回も取り込む場合、テーブルが残っているとちょっと面倒なので…(今はそれにより発生するエラーの番号を拾って回避しています)。もしお分かりになりましたらよろしくお願いします。
No.3
- 回答日時:
#1 です。
>インポートしたテーブルを、削除するということはできないのでしょうか
テーブルの削除なら
DoCmd.DeleteObject acTable, "テーブル名"
ですね。
毎回、同じデータ形式のCSVをインポートするなら、インポート先のワークテーブルを固定にしておいて、インポートの直前に、
DoCmd.SetWarnings False
DoCmd.RunSQL "Delete From ワークテーブル名"
で、データだけ消してしまう方法があります。
こんにちは。再度の回答、どうもありがとうございます。
データが重複すると困るので、インポートしたテーブルを参照して、データが残っていたらdelete文で削除し、インポートの処理を行っているのですが、テーブルがない場合、参照することすらできないので(この部分をエラー番号で拾っています)、そうだ、テーブルを削除すればいい、と思ったのです。取り込むファイルは同じ形式の予定ですが、お客さんの使うソフトに組み込む予定ですので、できるだけエラーの出ないようにしたいものですから…
本当に助かりました。ありがとうございます。また何かありましたらよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessのテーブルを既存のExcelファイルへエクスポートしたいんですが
Access(アクセス)
-
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
-
4
excelインポート時の「実行時エラー2391」を事前に検知する方法
Access(アクセス)
-
5
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
8
どこにもフォーカスを当てたくない
Access(アクセス)
-
9
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
10
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
11
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
12
「#エラー」の回避
Access(アクセス)
-
13
ACCESS リストボックスの字の色を変えたい
その他(データベース)
-
14
AccessからExcelに罫線付で出力したい
Excel(エクセル)
-
15
アクセスのクエリでSplit関数は使えないのですか
Access(アクセス)
-
16
Vbaでアクセスからエクセルにリンクテーブルする
Access(アクセス)
-
17
VBAで3秒だけ時間を止めたい
Visual Basic(VBA)
-
18
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
19
MSアクセスのインポート手法(パスワード設定されたエクセルブックをインポート)
Access(アクセス)
-
20
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
access vbaでフォームを開くと...
-
ACCESS VBA でのエラー解決の根...
-
Accessのクエリで、replace関数...
-
【至急・画像あり】建物or住所...
-
「テキストデータで送ってくだ...
-
access2021 VBA メソッドまたは...
-
Excelを開く時と閉じる時に一度...
-
ACCESSデバック画面
-
Accessでフォームに自動入力し...
-
スキルシートのエクセルの項目に
-
アクセスの更新クエリでカレン...
-
Arduinoで温湿度と時刻を1分ご...
-
Accessのレポートについて
-
Accessフォームの配色テーマを...
-
Accessのクエリの印刷設定
-
Accessデータベースに含まれる...
-
アクセスで、実行時エラー3075 ...
-
お助けください
-
提供されるデータの形式が変わ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルからアクセスにインポ...
-
ACCESS テーブルに2行目から取...
-
他ファイルのテーブルの情報を...
-
C#でaccdbファイルのテーブルの...
-
(ACCESS)複数mdbからのデータ...
-
アクセスマクロで、csv データ...
-
データ読込時のタイムアウト
-
mdb→csvへのエクスポートについて
-
Access2019でフォームから入力...
-
JSPでデータベース作成
-
テーブルのリンク(ACCESS)
-
VBAで データベースにデータを...
-
シーケンシャルアクセスについて
-
VBでCSVデータをMDB
-
ACCESSのリンクについて
-
Accessでボタンを押したらエク...
-
Accessの接続先をSQLサーバ...
-
jspのプログラムについて
-
アクセス初心者に注意点を教え...
-
画面から入力した値がDBに登録...
おすすめ情報