Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

CDと本の管理システムをExcelで作成する(2.SQLite3データベースの作成)

前回、管理システムの元ネタとなるデータをMediaMarkerからダウンロードし、利用する項目を選定しました。

www.excellovers.com

今回はCD・本データを格納しておく、SQLite3データベースを作成します。

SQLite for Excel でデータベース作成

以前にも使用しました『SQLite for Excel』を使ってVBAからSQLite3データベースを操作していきます。

SQLite for Excel の準備方法はこちら

www.excellovers.com

標準モジュールへ下記のコードを記載

Option Explicit

Sub CDBookManger_DBMake()
     Dim DBHandle As Long
     Dim DBFullpath As String
     
     '①sqlite3.dllとSQLite3_StdCall.dllを使用可能状態にする
     SQLite3Initialize
     
     DBFullpath = ThisWorkbook.Path & "\CDBookManager.db3"
     
     '②データベースの作成・オープン
     SQLite3OpenV2 DBFullpath, DBHandle, SQLITE_OPEN_READWRITE + SQLITE_OPEN_CREATE,""
     
     Dim mySQL As String
     mySQL = "Create Table CDBookManager("
     mySQL = mySQL & "タイトル text,"
     mySQL = mySQL & "カテゴリ text,"
     mySQL = mySQL & "レーベル text,"
     mySQL = mySQL & "アーティスト text,"
     mySQL = mySQL & "購入日 text,"
     mySQL = mySQL & "状態 text,"
     mySQL = mySQL & "評価 integer,"
     mySQL = mySQL & "コメント text,"
     mySQL = mySQL & "所有 text"
     mySQL = mySQL & ")"
     
     Dim StmtHandle As Long
     '③SQL文の実行
     SQLite3PrepareV2 DBHandle, mySQL, StmtHandle
     SQLite3Step StmtHandle
     SQLite3Finalize StmtHandle
     
     '④データベースを閉じる
     SQLite3Close DBHandle
End Sub

①でsqlite3.dllとSQLite3_StdCall.dllを使用可能状態にします。

引数を指定しない場合はこのマクロを実行しているBookと同じファイルにdllを探しに行きます。

別の場所を指定する場合は第1引数にフォルダパスを指定してください。


②でデータベースの作成・オープンを行います。
既に同名のデータベースがある場合はオープンのみ実行。


③でSQL文を実行します。

・SQLite3PrepareV2

・SQLite3Step

・SQLite3Finalize

以上3つはこの順番でセットで実行してください。


データベース作成のSQL文構文

Create Table テーブル名(列名 列属性)

数値として扱いたいもの以外はText属性で大丈夫だと思います。

数値の場合はInteger型を指定してください。

www.excellovers.com


④でデータベースを閉じます。


現在の状態はこのような感じでしょうか。
f:id:ExcelLover:20181123123452j:plain
f:id:ExcelLover:20181123123459j:plain

まとめ

CD・本を格納するためのデータベースが出来上がりました。

次回はMediaMarkerからダウンロードしたCSVファイルから必要なデータを、データベースへインポートしたいと思います。