No.1ベストアンサー
- 回答日時:
VBAの基本的なことはご存知ですか?
でしたら、
1.Accessで対象のExcelファイルを選択
2.AccessからExcelを制御してCSVにコンバート
3.出来たCSVファイルをAccessに取り込む(テキスト取り込み インポート定義を使うと簡単)
この順序で行えばOKです。
ExcelでVBAを書くことで制御する方法もありますが、
Access側からExcelを制御する方がやりやすいと思います。
この回答への補足
AccessからExcelファイルを選択することは出来ました!
> 2.AccessからExcelを制御してCSVにコンバート
この方法はAccessから制御してしまえば良いわけですね?
Excelファイルを複数指定した場合は、取込処理を複数回行えばいけそうですね。
No.5
- 回答日時:
VBAでの制御になりますが、
Excelをインポートするには、「TransferSpreadsheet」使って、インポートできます。
(Excelをそのままインポート)
Excelの項目(セル)に該当するテーブルを作成しておき、そのテーブルへ直接インポートすることができます。
---
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "インポート先のテーブル名", "Excelへの絶対パス", , "シート名"
---
※シート名は、指定しなければ1シート目がインポートされます。
もしシートが複数あるのなら、ADOか、DAO等でExcelに接続して、「TableDefs(0).Name」で、シート名も取得できます。
---
'■Excelデータベースへ接続
Dim xDB As Database
Set xDB = OpenDatabase("Excelへの絶対パス", False, True, "Excel 8.0;")
'■1シート目の名称取得
Dim F_Name As String
F_Name = xDB.TableDefs(0).Name
'(先頭に[']文字、最後に[$']文字が付くので省く)
F_Name = Mid(F_Name, 2, (Len(F_Name) - 3))
---
TableDefs(1)にすれば、2シート目のシート名を取得できます。
NO4の方が言われている通り、ADOで直接接続すれば、わざわざインポートする必要はないです。
でも、ADOを使ってない人には、難しいですよね。
あ、別にCSV変換する手法が悪い!と言っているのではないです。
Office製品同士で、互換性?があるのに、使わないなんて勿体無いかな…と思って。
No.4
- 回答日時:
#2さんのように、私も、CSV変換は感心しませんね。
Excelのブックからデータを直接取る時は、以下のようにADO を使えば簡単にデータを取れます。複数のExcelのブックがあっても、ファイル名を変えれば済みます。Excelは、データベースフォーマットとして、使用できるからです。例:
Sub Test_ExcelConnect()
Dim cnADO As New ADODB.Connection
mySource = "C:\TEST1.xls" 'Excelブック名
With cnADO
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & mySource & ";" & _
"Extended Properties=Excel 8.0;"
.Open
End With
後は、Recordset で、フィールドを調べて、取り出していけばよいと思います。
VBAに慣れていなければ、ADOで検索してみてください。基本パターンは決まっていますから。
No.3
- 回答日時:
No1です。
>AccessからExcelファイルを選択することは出来ました!
=====
良かったです!
>> 2.AccessからExcelを制御してCSVにコンバート
>この方法はAccessから制御してしまえば良いわけですね?
>Excelファイルを複数指定した場合は、取込処理を複数回行えばいけそうですね。
=====
その通りです。Accessから制御しちゃってください。
もしVBAのコードがわかりづらかったら、
Excelでキーボードマクロを保存して、それをExcelのVBAとして出力、
そのコードを参考にAccess側でコーディング、
という手順が楽ですョ。
ファイル名を配列に格納して、その数だけループさせれば複数ファイルも可能ですし、
シート数の取得が可能ですから取りこむシートが1ファイルに複数あってもOKです。
CSVまで出来ちゃえば後は、インポート定義を使用してテキストインポートで終了です。
もし細かいところが解らなかったら前後のソースを補足として入れてみてください。
頑張ってくださいネ!
No.2
- 回答日時:
Accessから、Excelのデータを取得したい場合、EXCELをCSVに変換する必要はないと思いますよ。
『Accessのインポート処理は使用しない方法』とありますが、Accessのインポート機能(手動でインポートする)ことはしない…ってことでしょうか?
例えば、AccessとExcelならば、リンクできます。リンクすれば、テーブルとして使用できます。
(ただしExcelのファイル名等固定になります)
もしくは、VBAで、ボタンを押したらExcel自動インポートって事もできますよ。
もう少し詳しいことが分かれば、明確な返答ができると思います☆
この回答への補足
取込処理を全て自動させたいのです。
(AccessよりExcelファイル選択→Accessのテーブルデータ)
この際、取り込むExcelは複数を選択させたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) Excelの並び替え(先頭の文字以外を基準に並び替えたい) 3 2023/07/07 22:21
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルからアクセスにインポ...
-
画面から入力した値がDBに登録...
-
C#でaccdbファイルのテーブルの...
-
(ACCESS)複数mdbからのデータ...
-
他ファイルのテーブルの情報を...
-
テーブルのリンク(ACCESS)
-
アクセスマクロで、csv データ...
-
csvをSQLiteに取り込むと文字化...
-
ExcelVBAにて外部データ(*.csv...
-
jspのプログラムについて
-
グループ単位にCSVファイル...
-
データを削除しても表領域の使...
-
CLOB型へのINSERT
-
SQLでスキーマ名(所有者名)の...
-
datapumpの実行方法について
-
Data Pump で大量データインポ...
-
Viewにインデックスは張れ...
-
特定のスキーマのテーブルを一...
-
Access レコードを追加できませ...
-
postgreSQLのint型は桁数指定が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルからアクセスにインポ...
-
ACCESS テーブルに2行目から取...
-
C#でaccdbファイルのテーブルの...
-
他ファイルのテーブルの情報を...
-
(ACCESS)複数mdbからのデータ...
-
テーブルのリンク(ACCESS)
-
アクセスマクロで、csv データ...
-
グループ単位にCSVファイル...
-
jspのプログラムについて
-
Accessでボタンを押したらエク...
-
EXCELで帳票フォームをつくりそ...
-
アクセス初心者に注意点を教え...
-
データ読込時のタイムアウト
-
Access2019でフォームから入力...
-
ACCESS 2003では、テーブルのリ...
-
vb6でaccessデータを他ファイル...
-
ACCESSとエクセルのリン...
-
CSVデータの取り込み
-
csvをSQLiteに取り込むと文字化...
-
リソースファイルとロケールに...
おすすめ情報