
こんにちは。
エクセルで作成された従業員台帳を、アクセスにインポートしたいのですが、エラーが出て困っています。
インポートの為のフォームを作り、参照ボタンでそのエクセルファイルを選択してフルパスを取得し(こちらの動作は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で質問しましょう!
似たような質問が見つかりました
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Access(アクセス) Access2016のExcelインポートの機能のことで教えてください 1 2022/09/11 14:58
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessのテーブルを既存のExcelファイルへエクスポートしたいんですが
Access(アクセス)
-
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
エクセルからアクセスにインポートすると、エラーが出てしまいます。原因を教えていただけませんか。
Access(アクセス)
-
-
4
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
5
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
6
AccessにExcelのデータがリンクできない
Access(アクセス)
-
7
Access2010 「演算子がありません」エラー
その他(データベース)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
excelインポート時の「実行時エラー2391」を事前に検知する方法
Access(アクセス)
-
10
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
11
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
12
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
13
Access サブフォームでの選択行の取得
その他(データベース)
-
14
VBAで3秒だけ時間を止めたい
Visual Basic(VBA)
-
15
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
16
アクセスのデータ型。数値型についてお聞きしたいのですが・・・
Access(アクセス)
-
17
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
18
ACCESSでテーブルをコピーしようとすると3211のエラーが出てしまう
Access(アクセス)
-
19
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
20
ACCESSの集計クエリで3件ある場合の[先頭][最後]が正しく抽出できないんです。
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS テーブルに2行目から取...
-
VBAでADOの質問です。かなり困...
-
CSVデータの取り込み
-
データ読込時のタイムアウト
-
VBSのデータベース操作で、複数...
-
テーブルのリンク(ACCESS)
-
VBでCSVデータをMDB
-
DataGridViewでの変更保存
-
(ACCESS)複数mdbからのデータ...
-
ExcelVBAにて外部データ(*.csv...
-
C#でaccdbファイルのテーブルの...
-
データを削除しても表領域の使...
-
ORA-00959: 表領域'****'は...
-
Data Pump で大量データインポ...
-
datapumpの実行方法について
-
Viewにインデックスは張れ...
-
DELETE文でFROM句を省略した場合
-
データファイルの縮小
-
viewのバックアップ
-
SQL*Loaderで、データを加工し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#でaccdbファイルのテーブルの...
-
エクセルからアクセスにインポ...
-
(ACCESS)複数mdbからのデータ...
-
ACCESS テーブルに2行目から取...
-
他ファイルのテーブルの情報を...
-
データ読込時のタイムアウト
-
テーブルのリンク(ACCESS)
-
Access2019でフォームから入力...
-
アクセス初心者に注意点を教え...
-
csvをSQLiteに取り込むと文字化...
-
ACCESSとエクセルのリン...
-
画面から入力した値がDBに登録...
-
アクセスマクロで、csv データ...
-
ACCESS 2003では、テーブルのリ...
-
VBでCSVデータをMDB
-
VBAでADOの質問です。かなり困...
-
ACCESS 指定のエクセルデータを...
-
VB2005 CSVファイルをテーブル...
-
困ってます。
-
[PG]AccessVBAでファイルのイン...
おすすめ情報