まりふのひと

ExcelでSQLが使えるか

以前、パソコン同好会の 施設予約状況を Access+Excel で解析 した。Access ではもっぱら SQL を使ったが、これが Excel で出来れば Access は不要となる。Access は買わなくていけないし安くもない。そこで、“Excel SQL”でググったら、人力検索はてながヒット した 

※ 早速、Excel にコピペ
  1. だが、動かない。やっぱりダメか。この記事には出来るように書いてあるのになぁ ‥‥
  2. 回答欄に「ユーザ定義関数+ADOExcel ODBCドライバ で実現できます」と書いてあるのに気が付く。
  3. コンパイルしてみると ‥‥
    • Dim cnn As ADODB.Connection で
    • 「ユーザ定義型は定義されていません」のエラーになった。
  4. ん? 参照設定か? と「Microsoft ActiveX Data Objects 2.8 Library」を追加してみる。
  5. コンパイルエラーは出なくなったが、まだ動かない。
  6. デバックすると、rst.Open strSQL, cnn, adOpenStatic / ExecSQL = rst("NAME").Value 辺りでステップインできなくなる‥‥
  7. デバックを繰り返すと‥‥ ThisWorkbook.FullName が“Book1”となっている。FullName なのにおかしい‥‥
  8. ヒョッとすると、まだ一度も保存していないせい? で、名前を付けて保存!
  9. 再度デバックし ThisWorkbook.FullName を見ると、今度はフルパスが表示された。
  10. 成功 

今日はこれまで。