IT関連

AS400/IBMi からデータを取得 ExcelVBA VB.NET設定編

投稿日:2018年9月7日 更新日:

注意

これは私の環境下における私の備忘録です。お使いの環境によっては内容が異なる場合があります。システム管理者でない方は絶対にやらないでください。システムにはログが残るものなので、万が一があればクビになるかもしれません。私は何も責任を負いませんのでご了承のうえご覧ください。

 

環境

普通AS400は企業にしかありませんので企業のPCということで。

この話のお題はExcelなので、WindowsPCのExcel上にAS400のデータをダウンロードしたいという話です。

設定するものはユーザーPCです。AS400には一切触りません。

 

使うもの

まずパソコンにODBCドライバーの導入が必要です。

クライアントアクセスというAS400にアクセスするエミュレータをインストールすればODBCドライバーは勝手に入ります(インストールのときODBCを利用する選択が必要です)

インストーラーは管理者の方が持っているでしょう。

 

ODBCが入っているかの確認

Winキーを押すと出てくる「ここに入力して検索」にodbcと入力してエンターキーを押します。するとODBCデータソースアドミニストレータというのが出てきます。

 

クライアントアクセスがないときはこんな感じです。

 

クライアントアクセスをインストールしたらこんな感じです。Client Access ODBC Driverと、iSeries Access ODBC Driverの2つが入りました。

 

さらにパッチを当てると、IBM i Access ODBC Driverも入りました。合計3つ。違いが解りませんが、私はパッチ時にインストールされた、このIBM i Access ODBC Driverを使うようにしています。

 

エクセル側で設定

  1. Microsoft Visual Basic for Applications Editor(VBE)を開く
  2. ツールの参照設定を開く
  3. Microsoft ActiveX Data Objects 2.8 Libraryにチェックを入れる

以上。これをやらないとADODBクラスが使えないので、下記コードはいくらやっても動きません。ちなみにバージョンは2.8以外にも6.1とかあるけど、違いがよく解りません。

 

VB.NETの設定

VB.NETも同じような感じ。

  1. プロジェクトタブ
  2. 参照の追加
  3. COMタブ
  4. Microsoft ActiveX Data Objects 2.8 Libraryを選ぶ

 

サンプルコード(VBA)

セルA1を起点にテーブルのデータをバチコーンと張り付けるコードです。

 

  • マシンノアイピーアドレス(AS400のIPアドレス)
  • ログインアイディー(データベースへのログインID)
  • パスワード(データベースへのパスワード)
  • エスキューエル(SQL文)

この4つは環境によって違うので、適当なものに替えてください。システム管理者なら解るはずです。

 

SQL文は簡単なので勉強してください。ちなみに書くと、

sSQL = “SELECT * FROM ライブラリ名.ファイル名”

こんな感じです。普通SQL文の末尾にはセミコロン「;」をつけるものですが、エクセルの場合は付けたら動きません。

sSQLとかoADOcnとかoRstなどは変数名なので、もっと解りやすい文字に変更しても大丈夫です。

Provider=IBMDA400は決まり文句のようです。

cells(1,1)を変更すれば、貼り付けの起点をずらすことができます。CopyFromRecordsetがレコードを全件一気に張り付ける命令ですが、カラム名は張り付きません。あくまでレコードだけです。

 

 

データベースOPENとテーブルOPENの2つがあります。

データベースOPENはデータベースそのものなのでログイン情報が必要、テーブルを開く場合はテーブルを指定する必要があるのでSQL文が必要、そういうことです。

データベースを開き、テーブルを開いた後、レコードやカラムに対して処理を行っていく手はずということです。

 

 

ループ文で1行1行取得したり、カラム名やCOLHDG名を取得したり、クラス化したり、いろいろできますが、これは設定編なのでこの辺で。

VB.NETのサンプルコードはありません。まぁ大体似たようなものです。

スポンサーリンク




スポンサーリンク




-IT関連
-, , ,

執筆者:


comment

Your email address will not be published. Required fields are marked *

関連記事

AS400/IBMi キー操作やファンクションキーまとめ

備忘録です。追記していきますので書きかけです。   ファンクションキーまとめ   半角カナの文字化け 半角カナが文字化けしているときがある。文字コードの変換のショートカットキーらし …

ダイレクトファックス(PCFAX)が突然使えなくなる件

最近はパソコンからファックスが送れるようになりました。 ダイレクトファックスやPCFAXというそうですが、世の中便利になったものですね。   ときに、昨日までは使えていたのに突然今日使えなく …

AS400/IBMi MacにACSを入れると固まったので対処法

MacにACSを入れて5250セッションを立ち上げてIBM iに接続したら、 意味不明な固まり方をしたので対処法を載せておきます。   固まった症状 エミュレータは立ち上がります。画面やフォ …

Windows マスターブラウザの確認方法

マイネットワークを開くとアクセスできる機器やPCの一覧が表示される。   それは聞いた話、個々のPCが記憶しているのではなく、マスターブラウザが管理しているという。   マスターブ …

Windows10 複合機からのスキャンができない

スキャンとは、複合機のガラス面に紙を載せるか、シュイーンと紙を吸い込ませると、紙のデータをPCに取り込める機能のこと。   最近Windows10の関係でその複合機のスキャンがうまくいかない …

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に