以前書いた「MSオフィス Access2010の使い方~個人的まとめ」の第2弾です。
超個人用メモです。
まとめ内容
- 西暦表示を和暦に変更する
- 文字列を180度回転させる
- ADODBのステータスチェック
- テキストボックスの書式設定
- ADOでパラメータ付きストアドプロシージャを実行する
- ユーザ関数の引数を省略可能にする
- 余談:mdbをデザインモードで実行する
1.西暦表示を和暦に変更する
西暦日付を和暦日付に変更するには書式を下記のように変更
サンプルは2012/06/25。
西暦:yyyy/mm/dd → 2012/06/25
和暦:ge/mm/dd → H24/06/25
なお、gとeの間にスペースを入れるとH 24となり、見やすさがアップします。
2.文字列を180度回転させる(正確には-90度/+90度)
フォーム、または、レポートの一部文字を180度回転させたい!と思い調べてみたところ、下記サイトが参考になりました。
文字列を180度回転させて印刷する-Hatena Chips-
考え方は文字を-90度と+90度とし、@付きフォントを使うことで実現させます。
ただ、半角文字はこのやり方ができませんのでご注意を!
3.ADODBのステータスチェック
ADODBのconnectionやrecordset、commandのステータスがオープン状態なのかを調べるスクリプトはstateプロパティを使います。
戻り値は3種類あります。
- adStateOpen
- adStateClose
- adExecuting
私は下記のような感じで使っています。
dim cn as New ADODB.Connection
cn.Open
~
if cn.state = adStateOpen then
cn.Close
Set cn = Nothing
end if
4.テキストボックスの書式設定
電話番号や郵便番号など定型入力をしたい場合は下記サイトが参考になりました。
5.ADOでパラメータ付きストアドプロシージャを実行する
SQL Serverに登録しているストアドプロシージャをAccess(Excelでもいいんだけど)から実行する方法。
VBでデータベースさんの記事が非常に参考になりました!
dim cmd as New ADODB.Command
cmd.CommandText = "sql_proc ?,?,?"
cmd.Parameters(0).Value = パラメータ1
cmd.Parameters(1).Value = パラメータ2
cmd.Parameters(2).Value = パラメータ3
cmd.execute
6.ユーザ関数の引数を省略可能にする
インストラクターのネタ帳さんの記事「ユーザー定義関数で引数を省略可能に−Optionalキーワード」が非常にわかり易かったです。
Functtion hoge(arg1 as string, Optional arg2 as integer = 100)
~
End Function
余談:mdbをデザインモードで起動する
他人が作成したmdbファイルを起動すると「実行モード」のため、編集ができない・・・なんてことがありました。
この場合は
- mdbファイルを選択
- Shiftキーを押しながらダブルクリック
することで「デザインモード」で起動できます。