0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EXCEL2016はaccdbファイルを作ってテーブルが作ることができる

Posted at

前回から発展する

EXCEL2016はMDBファイルを作ってテーブルが作ることができる
ということがわかったので次はaccdbファイルを作ってみましょう

環境

Office 2016 64bit + Win 10 HOME

前提

image.png

Listというシートを作り、全部長整数型の数字(小数点がない)
ものを作ります。

Gapは差なのですが、式は入っていません。ここはVBAで計算して差を値だけ入れるためです。
なんでそんなことをしているかというと、13000行を超えているので計算式を入れていると遅くなるからです。
ここはsqlを作成する場合0を補う必要があります。

 そして、HPにもあるように該当するエクセルファイルのあるフォルダにDBというフォルダを作り、sample.accdbというファイルを作ります。既存のファイルがあれば、それを削除します。

参照設定

今回は参照設定を新しいものに変えてみます
Microsoft ActiveX Object Libraly 6.1
Microsoft ADO Ext for DDL and Security

コードを変えるところ

前回Excel2016に変えるときに接続文字列が変わりました。
すると今回、変えるところがありません。
しいて言うならファイル名を変えます

makeaccdb.vb
Const cnsTitle = "AccDbの作成(ADOX)"
'///////////////
Const cnsMDB_FILE = "\SAMPLE.mdb"
Const cnsAccDB_FILE = "\SAMPLE.accdb"
Const cnsConnect1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
'///////////////
'Const cnsConnect2 = ";Jet OLEDB:Engine Type=5;"
Const cnsSH0 = "設定"
Const cnsSH1 = "テーブル"
Type typKey
    KeyName As String
    KeyIdx As Integer
End Type
'■iniファイル読込み(String)
Private Declare PtrSafe Function GetPrivateProfileString Lib "KERNEL32.dll" _
    Alias "GetPrivateProfileStringA" ( _
    ByVal lpApplicationName As String, _
    ByVal lpKeyName As String, _
    ByVal lpDefault As String, _
    ByVal lpReturnedString As String, _
    ByVal nSize As Long, _
    ByVal lpFileName As String) As Long

以下略

あとは変えるところは1行しかありません
' MDBは本ブックのフォルダの配下にある「DB」フォルダに作成
strMDB = strDB_Path & cnsMDB_FILE

ここを
strMDB = strDB_Path & cnsAccDB_FILE
にすると完成です。

最新版の参照設定でMDBも作れる。

それではこのままですよ、strMDB = strDB_Path & cnsMDB_FILE
としたままだとどうなるのでしょうか
mdbファイルが作れます。
実は参照設定をわざわざ古いバージョンにする必要もないのです。

比較してみよう

まあ一回かやらないので統計的な厳密さはないのですが、意外とaccDBの方が出来上がりが早く、MDBよりファイルサイズも小さくなりました。これはデータの種類にもよるのかもしれません。
しかしこのように自分で比較ができるというのは面白いと思います。ベンチマークにも使えるのではないでしょうか。

 CSVはマクロではなく名前をつけて保存からCSVに保存しています。

ファイル形式 MDB accdb CSV 
ファイルサイズ 564 KB 456 KB 168 KB
作成時間 3:49 2:46       
0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?