Hatena::Groupvbscript

Access.Application

主要な Windows 標準コンポーネントの一覧 → http://vbscript.g.hatena.ne.jp/keyword/ProgID
VBScript 基礎文法最速マスター → http://vbscript.g.hatena.ne.jp/cx20/20100131/1264906231

Access.Application

Access.Application

概要

Access.ApplicationAccess アプリケーション オブジェクトを表す ProgID です。

Access アプリケーション オブジェクトは、通常、Accessオートメーション操作する場合に使用します。

サンプル

' File : Make9x9TableByAccess.vbs
' Usage : CScript //Nologo Make9x9TableByAccess.vbs
' Description : VBScript から Access を使用して「九九表」を作成するサンプル
Option Explicit

Call Main()

Sub Main()
    Dim acc
    Set acc = CreateObject("Access.Application")
    acc.Visible = True
    
    Dim strFileName
    strFileName = "C:\9x9Table.mdb"
    Call CreateDatabase( acc, strFileName )
    
    Dim strTableName
    Dim strFieldNames
    strTableName = "9x9Table"
    strFieldNames = "F1,F2,F3,F4,F5,F6,F7,F8,F9"
    Dim db
    Set db = acc.CurrentDb
    Call CreateTableWithFields( db, strTableName, strFieldNames )
    
    Dim rs
    Set rs = db.OpenRecordset( strTableName )
    Call Make9x9Table( rs )
End Sub

Sub CreateDatabase( acc, strFileName )
    acc.NewCurrentDatabase strFileName
End Sub

Sub CreateTableWithFields( db, strTableName, strFieldNames )
    Dim tdf
    Set tdf = db.CreateTableDef(strTableName)
    Dim strArray
    strArray = Split( strFieldNames, "," )
    Dim strFieldName
    For Each strFieldName In strArray
        Dim fld
        Set fld = tdf.CreateField( strFieldName, 4 ) ' Const dbLong = 4
        tdf.Fields.Append fld
    Next
    db.TableDefs.Append tdf
End Sub

Sub Make9x9Table( rs )
    Dim x
    Dim y
    For y = 1 To 9
        rs.AddNew
        For x = 1 To 9
            rs(x-1) = x * y  ' rs(i) : Field Index
        Next
        rs.Update
    Next
End Sub
実行結果
F1F2F3F4F5F6F7F8F9
123456789
24681012141618
369121518212427
4812162024283236
51015202530354045
61218243036424854
71421283542495663
81624324048566472
91827364554637281

参考情報