Windows Dev. Site

Access .mdb / PowerShell

AccessのmdbファイルをPowerShellで読み込むテストをしてみました。
ファイルベースのDBで簡単にデータをプログラムで活用するために、とても便利です。

環境 : Access 2013, PowerShell 4.0 / Windows 8.1 64bit
まずからの空のmdbファイルをせっかくなので、PowerShellでつくりました。
ここで注意することは、32bit版のPowerShellを使う必要があることです。

$para = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\work\sample01.mdb'"
$obj = New-Object -ComObject "ADOX.Catalog"
$mdb = $obj.Create($para)
$mdb.Close()

これをAccessで開き、適当なテーブルを作成します。
access01

Accessは開いたまま下記コマンドを実行できます。
select01.ps1

$conn = New-Object -comobject ADODB.Connection  
$rset = New-Object -comobject ADODB.Recordset  
  
$conn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\work\sample01.mdb")  
$rset.Open("Select * from table1", $conn)
$rset.MoveFirst()  
do {
	$rset.Fields.Item("item1").Value;
	$rset.MoveNext()
} until ($rset.EOF -eq $True)  
  
$rset.Close()  
$conn.Close() 

access02

32bit版のPowerShellをショートカットにして、起動したところです。

参考:

http://hidori.jp/blog/2013/04/03/610

https://gallery.technet.microsoft.com/office/a4a0ade2-e856-48ff-9e91-31b4b6356382