視覚障害者きうっちの自立への道

視覚障害者きうっち(S52年生)が気の向くままに日々の生活をツラツラとつづるブログ

在勤生活1683日目

2019-09-24 18:00:10 | 在勤生活
 先週末、ネットワーク上のACCESSファイルを利用するマクロの作成がようやく完成したのですが、
その過程で(VBAの中で)SQL文を記述するところについても、実は比較的苦労させられていました(^^;。
で、その後の週末SQLの復讐も兼ねて、EXCEL・VBAでSqlを記述する練習をしていたんですけど、
やはりというか何というか、ACCESS・VBA内とEXCEL・VBA内とでも微妙に記述方法に差異があるようで…。
というわけで、この際だから自身の頭の中を整理するという意味でも、EXCEL・VBA内でSQL文を記述する際の方法について
(ごくごく基本的なところだと思いますが)備忘録としてちょっとまとめてみました。現時点で自分が把握したのは↓のようなところ。
これだけ分かっていれば、とりあえず(簡単なSQL文を記述する程度のことであれば)、ま~困ることはないのかなと。


■EXCEL・VBAでのSQL文記述のポイント
・select文の抽出フィールドは各フィールドを【()】で囲む。
・ただし【K/BB】のように、フィールド名に算術記号が入っている場合は【[]】でフィールド名を囲む。これはfrom句やwhere句でも言えること
・フィールドの記述例:(選手名),(打率),(本塁打),(打点),(盗塁),(試合),(打席),(打数),(安打),(二塁打),(三塁打),(塁打),(得点),(本塁打率),(三振),(三振率),[K/BB],(四球),(死球),(犠打),(犠飛),(盗塁死),(併殺打),(出塁率),(長打率),(OPS),(得点圏),(失策)
・from句のテーブル名(抽出データ範囲)は[]で全体を囲む
・from句の記述例:[データ$a6:ac451]
・where句、Order By句は全体を【()】で囲む。(状況によっては囲まなくてもよい?)
・SQL文の最後には必ず【 ;】を付ける。これでSQL文実行の意
・文字列の連結は+で連結する(つまり+記号が&記号の代わり)。ただし使用するSQLサーバの種類によっては【||】が連結記号になるので注意
・文字列をSQL文の中で使用する場合は'でその文字列を囲む
・ワイルドカード文字:%は*の代わり。_は?の代わり

・以下、EXCEL・VBA内でのSQL文の記述例
select (選手名),(打率),(本塁打),(打点),(盗塁),(試合),(打席),(打数),(安打),(二塁打),(三塁打),(塁打),(得点),(本塁打率),(三振),(三振率),[K/BB],(四球),(死球),(犠打),(犠飛),(盗塁死),(併殺打),(出塁率),(長打率),(OPS),(得点圏),(失策) from [データ$B6:AC451] where (val(本塁打) >= 10) order by 本塁打 desc ;

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする