自分で自分をほめてあげたい
いゃ、ほんと!
この一週間といったら、本読んで調べて「撮って出し」ん? 取って出し…!
VBAで作成
ユーザーフォーム3つ、、、検索画面、入力フォーム、管理画面
検索画面でコード入力してマッチしたデータを入力フォームで表示、各項目をユーザーが入力し更新。
コンボボックス、チェックボックス、テキストボックス…入力する項目が多く、「想定外」なことをなるべくされないよう、制限かけられるところは全てかけて“網を張る”
管理画面での作業を自動化するのに、ADOについて調べる。
誰でも実行できるよう、1つのボタンをクリックしたら作業がすべて自動で行なえるようにした。
入力するのは2~3人で行なう場合もあるから「共有ブック」にしてほしいとの依頼。
ただ、「共有ブック」にしているから…といってもファイル破損するケースも多々あるということも伝え了承。 過信してはいけないのだ。
「共有ブック」にしていると、Access(mdb)⇔Excel間のデータ転送が制限されるので、転送時は一時「共有」を解除。
不測の事態に備え、バックアップもDaily処理でできるようにする。
[共有解除] ⇒ [Now関数使用し日時入りファイル名でSaveCopyAs バックアップ]
⇒ [ADOでmdbに接続] ⇒ [トランザクション処理でExcelからmdbのテーブルにデータ書込] ⇒ [mdb内の更新クエリと削除クエリを実行] ⇒ [mdbの別テーブルよりデータをExcelへ] ⇒ [ブックを共有にする]……終わり。
この作業を全て自動で行なうように。 もちろん、今何の処理をしているかわかるように表示することと、エラーが起こった時の処理するためのTRAPもかけた。
テストにテスト重ねても、実際の作業に入ると、、、何かしら想定外のことが起こるんだろうなー。(プルプルッ)
今回のVBA作成で参考にした本2冊。
・仕事に役立つExcelデーターベース ソフトバンククリエイティブ株式会社 ←この本1冊だけでもよかったなー。
・オフィスの達人5 VBA活用術 MYCOM
特に、『データリンクファイルを使用して接続する』 、
『ADOからExecuteメソッドでmdb内のアクションクエリを実行』
『トランザクション処理で大量の更新作業を高速に処理する』 ←ここでのエラー処理の構文も結構使えた。
知っている人から見れば『こんなことくらい…』って思われるんだろうけれど(^^ゞ
ExcelのVBAで、ADOを使用すればAccessの更新クエリも実行指示できる…というのが、知ってよかったなと。 使えるじゃん! いろいろと。
おっ! そういえばデータ管理の仕事から足洗うんだった、わたし(^_^;)
久しぶりに一気に脳を使ったらツカレターーー。 明日は久々寝たいところだが『嫁』をしに家人の実家へ。