Bar

MSオフィス Access2010の使い方~個人的まとめPart2

image

以前書いた「MSオフィス Access2010の使い方~個人的まとめ」の第2弾です。

超個人用メモです。

まとめ内容

  1. 西暦表示を和暦に変更する
  2. 文字列を180度回転させる
  3. ADODBのステータスチェック
  4. テキストボックスの書式設定
  5. ADOでパラメータ付きストアドプロシージャを実行する
  6. ユーザ関数の引数を省略可能にする
  7. 余談: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

Stateプロパティ-msdn-

私は下記のような感じで使っています。


dim cn as New ADODB.Connection

cn.Open

if cn.state = adStateOpen then

 cn.Close

 Set cn = Nothing

end if

4.テキストボックスの書式設定

電話番号や郵便番号など定型入力をしたい場合は下記サイトが参考になりました。

テキストボックスのデータの書式設定-基礎から始めるAccess VBA 講座-

5.ADOでパラメータ付きストアドプロシージャを実行する

SQL Serverに登録しているストアドプロシージャをAccess(Excelでもいいんだけど)から実行する方法。

VBでデータベースさんの記事が非常に参考になりました!

ADO でパラメータ付きストアドプロシージャを実行する


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ファイルを起動すると「実行モード」のため、編集ができない・・・なんてことがありました。

この場合は

  1. mdbファイルを選択
  2. Shiftキーを押しながらダブルクリック

することで「デザインモード」で起動できます。