
accessにて、顧客情報を管理しています。
販売管理ソフトから顧客情報の一部をexcel(又はCSV)ファイルで出力したのですが、数量の列のデータにダブルクォーテーションが入っており、そのままインポートすると数字として取り込めません。
excelを開いて変換保存。それをaccessでインポートしたのですが、手間がかかって仕方がありません。
毎日出力するので、excelファイルは毎日同じ名前で上書きされてます。
excelファイルのsheet1 Range("j:j")とRange("k:k")のダブルクォーテーションを抜いて、テーブル"ta発注書"にインポートするコードを教えて頂けないでしょうか。
何卒、宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
試してみましたか!????
下記のようなCSVファイルをダブルクリックで
Excelが読み取ると
"りんご",1,150,150,"1-1-1"
"バナナ",10,200,"2,000","001"
"メロン","1,000","2,000","2,000,000","1e2"
↓
りんご|1,150|150|2001/1/1
バナナ|10,200|2,000|1
メロン|1,000|2,000|2,000,000|1.00E+02
となります。
最後の列が曲者です。
年月日、前ゼロ無し、指数表示に変換されてしまっています。
Excelは数値型や日付時刻型に変換できるものはトコトン変換してくれます。
なのでCSV→Excel変換→Accessでインポートは悪手。
Excelファイル、またはCSVファイルを直接インポートするのが吉。
ただ通常のインポートの際にはAccessはデータをある程度空読みして
データ型を決定します。
期待してたデータ型にならない可能性があります。
空読み行数はレジストリのTypeGuessRowsやMaxScanRowsで変更可。
ならば、あなたがインポートウィザードでデータ型の指定を行い
ついでにインポートするフィールド(列)を指定するのが確実です。
次回からはインポート定義を使用すれば数クリックで終わります。
VBAには、
Docmd.RunSavedImportExport(SavedImportExportName) ’※注 確認なしに上書きされます
がありますのでこれを使用しても良いかも。
さらに蛇足ですが大昔にこんな回答をしてました。
『カンマ区切りのCSVファイルから""を削除したい』
https://oshiete.goo.ne.jp/qa/7721044.html
私からは以上です。
大変失礼いたしました。少々多忙過ぎた事もあり早々に判断ミスをしていました。ご丁寧に回答頂いたにも関わらず、大変申し訳ございませんでした。
お陰様で解決致しました。ありがとうございました。
No.1
- 回答日時:
まず最初にAccessのインポートウィザードでExcelファイルのインポートを進めてゆきます。
(リボンの外部データからExcelを選択)。
この過程で各列のデータ型の指定とどの列をインポートするのかを指定します。
指定し終えたら『完了』をクリックすると、[インポート操作の保存]の確認が出ますので
適当な名前で保存します。
次回からはデータタブにある[保存済みのインポート操作]から[実行]を行えば
面倒な手順は省けます。
これが簡単で確実な方法かと思います。
インポート定義を確認するには?
https://tsware.jp/tips/tips_528.htm
保存済みのインポート/エクスポートを再実行するには?
https://tsware.jp/tips/tips_506.htm
ご連絡が遅くなり申し訳ございません。
Excelファイルの内部データでJ列とK列に含まれているダブルクォーテーションを抜いてからインポートしたいのですが可能でしょうか?
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
-
4
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
5
インポート時のエラー「データ型の変換エラー」
Access(アクセス)
-
6
Accessでフィルタの実行アクションをクリアするには?
Access(アクセス)
-
7
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
8
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
9
ACCESSのVBAにてExcelに行を追加したい
その他(データベース)
-
10
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
11
ACCESS VBAでのインポート
Access(アクセス)
-
12
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
13
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
14
falseとtrue 0,1,-1 の意味が知りたいです
PowerPoint(パワーポイント)
-
15
ACCESS VBAでインポート定義の場所
Access(アクセス)
-
16
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
17
ACCESS:保存済みのインポート操作のパスを取得
その他(データベース)
-
18
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
19
データベースの最適化をマクロでしたい
その他(データベース)
-
20
access マクロでのフィルタの解除の方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
access vbaでフォームを開くと...
-
アクセスで教えてください。 電...
-
docmd.gotorecordを起動するには
-
accessでlaccdbファイルが削除...
-
「テキストデータで送ってくだ...
-
レポートの印刷を一括ではなく...
-
Accessのルックアップ
-
Accessデータベースを開くと同...
-
Access VBA を利用して、フォル...
-
Access DLookup vbaで条件を2件...
-
Accessのテキストボックスの入...
-
ACCESS 長い数字のクエリをする...
-
Access フォーム上のテキストボ...
-
Arduinoで温湿度と時刻を1分ご...
-
Accessのレポートについて
-
Accessフォームの配色テーマを...
-
Accessのクエリの印刷設定
-
Accessデータベースに含まれる...
-
アクセスで、実行時エラー3075 ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessでexcelデータを一部変換...
-
ファイルメーカーへネットワー...
-
【Excel】[Expression.Error] ...
-
Accessで以下のシステムを1か...
-
Becky!で「メールサーバーへの...
-
SQLPLUSで結果を画面に表示しない
-
100万行のCSVを10万行ずつのフ...
-
【CSVファイル】先頭の文字列に...
-
#1062 - '0' は索引 'PRIMARY' ...
-
アクセスクエリ(複数)→マクロ...
-
エクセルで縦のカラムデータを...
-
selectした結果の余計な余白を...
-
特定のエクセルファイルを起動...
-
共有フォルダに誰が何にアクセ...
-
【アクセス】「ほかのユーザー...
-
オラクル(PL/SQL)のエラー
-
「○○○.ldb」のAccess レコード ...
-
アクセスでエラー このフィー...
-
(Excelマクロ)datファイルをエ...
-
VBAでCSVファイルが使用中かど...
おすすめ情報