2012.
03.
01
20:50:09
Accessなんてすっかり忘れていた今日この頃、友人から
「adoでmdb作りたいって言われたんだけどどーすんの?」と訊かれました。
と言う訳で調べたところ、ADOXとか言うのでできるみたいです。
取りあえず今回はAccess2003でのお話(--)b
2007とか2010も基本的には同じでしょう、多分。
1.コードエディタで「ツール」→「参照設定」
「Microsoft ADO Ext 2.X for DDL and Security」にチェック
2.こんな感じでコードを書くφ(--)
Dim catalog As ADOX.catalog
Dim connection As String
Dim mdbName As String
connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
mdbName = "C:\hoge.mdb"
Set catalog = New ADOX.catalog
catalog.Create connection & mdbName
Set catalog = Nothing
完成ヽ(´∀`)ノ
・・なのですが。
「Microsoft.Jet.OLEDB.4.0」って64bitじゃ動かないので要注意(--)b
Windows7さんの64bit環境、Access2010で上記コードを動かしたら
「クラスが登録されていません」とか怒られました。
そんなときは接続文字列を「Microsoft.ACE.OLEDB.12.0」に変えて
Dim catalog As ADOX.catalog
Dim connection As String
Dim mdbName As String
connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
mdbName = "C:\hoge.mdb"
Set catalog = New ADOX.catalog
catalog.Create connection & mdbName
Set catalog = Nothing
とかすれば無事に動くみたいです。
てか動きました。
ただ個人的に環境に依存するのはあまり好きではないのですよね。
友人には「あらかじめ空のMDB手動で作っておいてコピーして使ったら?」と
身も蓋もない解決方法を提案しておきました。
友人も「だよねー」って言ってたので
現在のところ得票数は2票です。
「adoでmdb作りたいって言われたんだけどどーすんの?」と訊かれました。
と言う訳で調べたところ、ADOXとか言うのでできるみたいです。
取りあえず今回はAccess2003でのお話(--)b
2007とか2010も基本的には同じでしょう、多分。
1.コードエディタで「ツール」→「参照設定」
「Microsoft ADO Ext 2.X for DDL and Security」にチェック
2.こんな感じでコードを書くφ(--)
Dim catalog As ADOX.catalog
Dim connection As String
Dim mdbName As String
connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
mdbName = "C:\hoge.mdb"
Set catalog = New ADOX.catalog
catalog.Create connection & mdbName
Set catalog = Nothing
完成ヽ(´∀`)ノ
・・なのですが。
「Microsoft.Jet.OLEDB.4.0」って64bitじゃ動かないので要注意(--)b
Windows7さんの64bit環境、Access2010で上記コードを動かしたら
「クラスが登録されていません」とか怒られました。
そんなときは接続文字列を「Microsoft.ACE.OLEDB.12.0」に変えて
Dim catalog As ADOX.catalog
Dim connection As String
Dim mdbName As String
connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
mdbName = "C:\hoge.mdb"
Set catalog = New ADOX.catalog
catalog.Create connection & mdbName
Set catalog = Nothing
とかすれば無事に動くみたいです。
てか動きました。
ただ個人的に環境に依存するのはあまり好きではないのですよね。
友人には「あらかじめ空のMDB手動で作っておいてコピーして使ったら?」と
身も蓋もない解決方法を提案しておきました。
友人も「だよねー」って言ってたので
現在のところ得票数は2票です。
category:Access VBA thema:システム開発 - genre:コンピュータ Posted by ササキマコト