Hatena::Groupuwsc

Access.Application

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

Access.Application

Access.Application

概要

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

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

サンプル

// File : Make9x9TableByAccess.uws
// Description : UWSC から Access を使用して「九九表」を作成するサンプル
Option Explicit

Main()

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

Procedure CreateDatabase( acc, strFileName )
    acc.NewCurrentDatabase( strFileName )
Fend

Procedure CreateTableWithFields( db, strTableName, strFieldNames )
    Dim tdf
    tdf = db.CreateTableDef(strTableName)
    Dim strArray
    strArray = Split( strFieldNames, "," )
    Dim i
    For i = 0 To Length(strArray) - 1
        Dim strFieldName
        strFieldName = strArray[i]
        Dim fld
        fld = tdf.CreateField( strFieldName, 4 ) // Const dbLong = 4
        tdf.Fields.Append( fld )
    Next
    db.TableDefs.Append( tdf )
Fend

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

参考情報