月: 2013年5月

ExcelVBA覚え書 プロシージャ呼出し順

Excelマクロのお勉強。
WorkbookやFormといったオブジェクトにデフォルトで備わっているプロシージャ(メソッド)って、どんな順番で呼び出されるのよ?って思ったので調べてみた。
今更だけど・・・
ちなみにバージョンは2003。

ブックを開いたとき(起動時)
Workbook_Open
Workbook_Activate
Workbook_WindowActivate

※ブックをVisible=FalseにしたときはActivateプロシージャは走らないと思うので、基本はOpenプロシージャに処理を書く。

ブックを閉じるとき(終了時)
Workbook_BeforeClose
Workbook_WindowDeactivate
Workbook_Deactivate

※起動時と同様。

フォームロードしたとき
UserForm_Initialize
フォーム.Showしたとき
UserForm_Layout
UserForm_Activate
フォーム.Hideしたとき
なし
フォームアンロードしたとき
UserForm_QueryClose
UserForm_Terminate

QueryCloseとTerminateの違いは何?って思ったけど、QueryCloseはアンロードの起動処理で、Terminateはホントのアンロード処理という感じ。
つまり、アンロードの起動処理なのでアンロードするかどうかプロシージャ内で分岐できるのがQueryClose。CancelパラメータにTrueを設定するとアンロードを中止できる。
QueryCloseで何事もなければTerminateプロシージャが呼び出されて、アンロード処理の記載ができるようだ。

PostgreSQL覚書 カンマ区切り→縦

つづけて、1つのカラムの中にカンマ区切りでデータが入っていた場合に、
これを縦にする方法。


SELECT regexp_split_to_table(item_cd,’,’) item_cd FROM table_name

item_cdカラムに「a,b,c」と入力されているとすると、出力は

a
b
c
となる。

PostgreSQL覚書 横→縦

財布を落とした。
警察へ行った。
紛失届を作成するのにあれやこれや聞かれて、答えれば答えるほど(なくしたものの大きさに)堪える・・・
って、こんな時にもダジャレが出るぐらいに凹んでる。

さて、仕事しよう。

data1,data2,data3 というカラムがあるとして、それを

data1
data2
data3
と縦に並べたいときのやり方。

SELECT unnest(array[data1, data2, data3]) as data_col
FROM table_name;

野菜嫌い・運動嫌いの便秘解消法

※ 以下、個人的な感想で、効果を示すものではありません。
なんちって。

さて、私は見た目はカジュアルな服装で歩くのも早くって、活発なイメージを持たれているせいか、アウトドア派でアクティブなイメージを持たれているのだが、実際はかなりのインドア派。

バイク持ってても、休日はほとんど乗らない。
どこか行く時も、電車で行けるところはほぼほぼ電車に乗っていくので、バイクは使わない。
(最近バイクに乗る場合は、バイクを停めるところを確認してからにするし)

運動したいとも思わず、ジムに行って鍛えるなんてもってのほか。
強いてやるのは、ベッドの上で腹筋ぐらい。

さらに外食や内食が多くて、野菜もあまり食べない。
(あんまり好きじゃないので、自炊するとき以外手が伸びないのだ)

で、そんな運動嫌いな私の便秘解消法。

1) 駅~職場は速足で歩く。
 これ以外強いて運動することがないので、運動するときはガンバル!
2) スタバのコーヒーを飲む
 朝一、スタバに行って、一番安いドリップコーヒーを注文する。
 砂糖とかは絶対に入れないで、ミルクのみいれる。
 (他のコーヒー屋でも試してみたいのだが、金銭的余裕なし)
3) リカルデントをかむ
 「お腹が緩くなるかもよ」みたいな注意書きがあるガムを噛む。
4) 牛乳を飲む
 これは最終手段に近いのであまりやらないけど、マジで解消したい!!って思うときは飲む。
5) 夜にカゴメのラブレを飲む
 効くと思わんかったが、効いた。けど、ずっとは効かないので効かなくなったらやめて間をあける。

こんなところかな。
あと、腹筋。
この間、全然痩せないと思ったらやっぱり筋力が衰えてた。
代謝って大事だ。
10回ぐらいは苦なくやれるようにしておくように保っていたほうがよさげ。

ただ、正直こんな生活してたら、きっと体悪くすると思うので、ちゃんと自炊して野菜を食べるべきとは思う。

PostgreSQL覚書 現在の接続数

PostgreSQLで現在の接続数をみたい場合のSQL文

詳細
SELECT * FROM pg_stat_activity
ORDER BY query_start;

サマリー
SELECT datname, usename, COUNT(*)
FROM pg_stat_activity
GROUP BY datname, usename;