アルツの備忘録

最近、年のせいで物忘れが激しい。
そこで、いろんなことをここに記録して行きたいと思います。

Excelで業務自動化システム その2 <EXCEL DATA変換>

2020年01月22日 15時25分03秒 | Excel
■DATA変換 
・その1の「CSV変換」のデータ読み取り部分をSQL文で、いろいろなデータベースからデータを読み取れるようにしたもの。
・データ編集、出力処理の部分は。CSV変換を同様です。
<機能概要>
 ・色々なデータべ^スを選択可能、
   >ORACLE
    Microsft SQLServer
    ACCESS:MDBファイル、ACCDBファイル
    EXCEL:xlsxファイル Excel2007以降 
    EXCEL:xlsファイルExcel2003以前
    CSV:CSV、TXTファイル
 ・SQLを記述してデータベースからデータ抽出が可能
   >SQLの知識があれば選択条件を任意で指定可能
 ・データ編集、出力処理の部分は。CSV変換を同様の機能。

■操作方法 


  • ①DB設定 
 データベースとの接続方法を指定
  
  ア:接続方法を登録してある中から指定する。
  イ:接続方法設定する。
    ・システム指定:ドロップダウンリストから選択
    ※実行するには、それぞれのドライバがインストールされている必要があります。
   ORACLE:ORACLE製 OraOLEDB.Oracle
   MS_ORA:Microsoft製 MSDAORA
   MSSQL :Microsft SQLServer (SQLOLEDB)
   ACCESS:MDBファイル (Microsoft.Jet.OLEDB.4.0)
   Access:ACCDBファイル(Microsoft.ACE.OLEDB.12.0)
   EXCEL2007:xlsxファイル Excel2007以降 (Microsoft.ACE.OLEDB.12.0/Excel 12.0)
   EXCEL2007_U:xlsxファイル Excel2007以降更新処理(Microsoft.ACE.OLEDB.12.0/Excel 12.0)
   EXCEL:xlsファイルExcel2003以前(Microsoft.Jet.OLEDB.4.0/Excel 8.0)
   EXCEL_U:xlsファイルExcel2003以前更新処理(Microsoft.Jet.OLEDB.4.0/Excel 8.0) 
   CSV:CSV、TXTファイル(Microsoft Text Driver (*.txt; *.csv))
   ORA_INST:Oracle in instantclientのドライバ名を指定
   ODBC:ODCBのドライバ名を指定
   DSN:DSNサーバ名を指定

    ・サーバー名、ユーザID、パスワード、データベース名、ドライバ名等は各システムに合わせて下さい。

  ※ここでは、Excel、Access、CSV、TXTファイルの説明をします。
  ・Excel、Accessの場合
    >データベース名に対象ファイルを指定
  ・CSV、TXTの場合
    >データベース名に対象ファイルの場所を指定する。
    >「ヘッダーラベルあり(Excel,Csv)」:先頭行の名称がある場合はチェックを付ける
    ウ、接続テストボタン:データベースへの接続可否の確認が可能 
       
  
  エ、追加、修正、削除ボタン:接続情報の追加、チェックを付けた接続情報の修正、削除が可能
  オ、戻るボタン:接続情報画面を閉じる。

  • ②データ抽出
   ・SQLシートに記述されているSQLを実行し結果をSheet1に書き出します。
    ※任意に書き換えて下さい。
   ・現状は③記述されているデータで抽出処理が実行されます。
    
  >SQLシート 
  
   ア:イとウを合わせて実行されるSQLとしている。
   イ:select文を記述
    >Excelの場合:テーブル名は〔シート名$〕とする。
      例select * from [売上データ$]
      例select A.アイテムコード, A.受注注番, B.受注注番   from [sheet1$] A,[sheet2$] B
       WHERE A.アイテムコード=B.アイテムコード

    >CSV,TXTの場合:テーブル名はファイル名とする。
      例select * from 売上データ.csv
      例select IT.CODE,HE.NAME from TxITEM.CSV as IT,TxHEAD.CSV as HE
        where IT.CODE=HE.CODE  
 
   ウ:抽出文を記述
    ・現状は、メニューの③の指示と連動、指示が無ければ表示されない構文になっている
    1行目(B4) =IF(メニュー!C3<>""," Where 売上日 Like '" & メニュー!C3 & "%' ","") 
    2行目(B5) =IF(メニュー!D3<>"",IF(メニュー!C3<>""," AND 商品名 Like '%" &
          メニュー!D3 & "%' ", " WHERE 商品名 Like '" & メニュー!D3 & "%' "),"")
    3行目(B6) =IF(メニュー!E3<>"",IF(B4&B5<>""," AND 得意先CD Like '" & 
          メニュー!E3 & "%' "," WHERE 得意先CD Like '" & メニュー!E3 & "%' "),"")

 ➃、データ編集ボタン 
  ・⑤で指定された内容で編集しSheet2へ出力
 ⑥、CSV出力ボタン
    ・⑤で指定されたファイル名でCSVファイルを出力




■ダウンロードは  こちらのページ をご覧ください。



最新の画像もっと見る

コメントを投稿