プログラム学習室 http://studyhallweb.com/

Excel から System-i を操作

System-i のデータベースにアクセスするVBA

ADOを利用してExcelよりAS400のデータベースにアクセスするSQLを発行し、その結果をセルに表示します。
Excel 2000 で動作します。
Private Sub CommandButton1_Click()
    '初期化
    Dim objADOcn As New ADODB.Connection
    Dim objRst As New ADODB.Recordset
    Dim atrSQL As String

    objADOcn.Open "Provider=IBMDA400;Data Source=(ASのHost名);", "", ""

    'SQLのセット
    'DBLIBライブラリーのDBFILEファイルより
    '会員番号(MEMNO)がA123の氏名(NAME)を抽出する
    strSQL = "SELECT NAME FROM DBLIB.DBFILE WHERE MEMN0 = 'A123'"

    'SQLの発行
    Set objRst = objADOcn.Execute(strSQL)

    '結果の表示
    ActiveSheet.Cells(1, 1).CopyFromRecordset objRst
                            'CopyFromRecordsetはExcel2000からサポート

    '終了処理
    objADOcn.Close
    Set objRst = Nothing
    Set objADOcn = Nothing

End Sub