■ 最新の投稿

Excel ブックに対してSQL 文 INSERT を実行する(現在が第何四半期なのかCHOOSE関数)

Excel のワークシートSheet1に対してSQLのINSERTを実行します。現在が第何四半期なのかを調べINSERTする方法を紹介します。CHOOSE関数を使います。

そのためには DAO(※Data Access Object の略)を利用します。ここで紹介す
る方法を実現するには、「Microsoft Office 14.0 Access database engine Object Library」が参照設定されていることが前提になります。


そのためには DAO(※Data Access Object の略)を利用します。ここでは、DAO を使ったデータベース検索方法を紹介します。

① 「Microsoft Office 16.0 Access database engine Object Library」を参照設定します。

② 参照設定したことで、DAOを利用できます。Excel ブックを用意して、標準モジュールに DAO を利用した次のコードを記載します。

Option Explicit

Public Sub Sample_InsertQuarterToExcelTable_DAO_01()

    ' DAO データベース設定用変数
    Dim db As DAO.Database

    ' "C:\Temp\ダミーデータ.xlsx"をデータベースとして開く。
    Set db = DBEngine.Workspaces(0).OpenDatabase( _
    "C:\Temp\ダミーデータ.xlsx" _
    , False _
    , False _
    , "Excel 12.0;HDR=YES" _
    )

    ' データを挿入する。
    Call db.Execute( _
    " INSERT INTO [Sheet1$]" _
    & " ( " _
    & " 名前 " _
    & " , DAY " _
    & " , 四半期 " _
    & " ) " _
    & " VALUES( " _
    & " ""桃太郎"" " _
    & " , NOW()" _
    & " , ""第" & Choose(Month(Now()), 4, 4, 4, 1, 1, 1, 2, 2, 2, 3, 3, 3) & "四半期""" _
    & " ) " _
    )

    ' データベースを閉じる。
    db.Close
    Set db = Nothing

    ' 処理の終了を通達する。
    MsgBox "データを挿入しました。", vbOKOnly

End Sub

③ Sample_InsertQuarterToExcelTable_DAO_01を実行します。

ExcelにデータがINSERTされました。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です