SQLを使いだすと便利ですね。QRY400とかdtfでやるより自分の思ったとおりに抽出できる。
でもそのままエクセルに吐き出せないのかなと思ったらやり方が英語であったので備忘録にしておく。
ちなみに最近はiナビゲーターのSQLスクリプトではなく、ACSのRunSQLScriptsでやってます。
設定
- IBM i Access Client Solutionsを開く
- Run SQL Scriptsを開く
- Optionsタブにカーソルをあて
- 「Enable Save Results」にカーソルをあてると
- 「Never」になっているはずなので、「Always」か「For this Session」を選択する
これを設定しておかないと使えない。
ダウンロード
- SQL文を実行してレコードを出力する
- 出力した表の、カラム名のところを「右クリック」して
- 「Save Results..」をクリックする
- ファイルタイプをExcelやCSVに変更する
- ファイル名や保存先は適当に
- 「列見出しを出力の先頭行として組み込み」はチェックを入れる
- OKをクリックする
すると指定した保存先にファイルができます。
選べるファイルタイプ
- テキスト(.txt)
- コンマ区切り値(.csv)
- Microsoft Excel 97-2003(.xls)
- Microsoft Excel 2007-2010(.xlsx)
- OpenOffice(.ods)
- Dos Random(.dsr)
列見出しのチェック
「列見出しを出力の先頭行として組み込み」
チェックを入れない→セル1行目からレコードだけが表示される
チェックを入れる→セル1行目に列見出しが表示される(COLHDGは表示されない)
注意点
もし設定4の「Enable Save Results」がなければ、それはACSのバージョンが古いのが原因です。
再度日本語版サイトから最新版をダウンロードすればOK。
ダウンロード3が押せない場合は、一度RunSQLScriptを閉じて、開きなおしてから手順通りやりなおすこと。
出力されたファイルはCalibriというフォントで列見出しが太字になっているので、最初に太字とフォントを適当なものに直しておけば作業しやすいかも。
コメント