EXCELからACCESSのデータ、もしくはACCESSからEXCELのデータを参照したり更新したりする場合に
好ましい、もしくは××の場合は△△の接続が望ましい、といった使い分けはあるのでしょうか?
仕事で使用している業務ソフト(ACCESSで構築されていてEXCELファイルを参照しています)では
ACCESSからEXCELを参照(更新)する際に
Dim cc As ADODB.Connection Set cc = New ADODB.Connection Dim In1 As ADODB.Recordset Set In1 = New ADODB.Recordset With cc .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=(パス名) & ";" & _ "Extended Properties='Excel 12.0; HDR=NO; IMEX=1'" .Open End With mySQL1 = "SELECT * FROM [……]" cmd.ActiveConnection = cc cmd.CommandText = …… Set In1 = cmd.Execute
のようにADOを使っているのですが、
Dim xlApp as object Dim xlBook as object set xlApp = CreateObject("Excel.Application") set xlBook = xlApp.Workbooks.Open(パス名) '------処理-------- xlBook.Close Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing
のように CreateObjectを使ってもExcelファイルの中身を
参照、更新できると思います。
その他にもDAOでもできると思います。
また、上記とは反対になりますが、EXCELからACCESSを参照、更新する場合でも
1.CreateObjectを使う
2.ADO
3.DAOでOpenDatabaseメソッドを使う
とどれでも出来ると思います。
何か、使い分け?のようなものがあるのでしょうか?それとも単に好みの問題なのでしょうか?
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー