このサイトはMicrosoft Accessの良さを活かした
使えるプログラムの簡単な作り方」を紹介するホームページ
質問は質問掲示板まで

[PR] パソコンメールを携帯に転送、返信もできる FlyMail [PR]

仕事やプライベートのパソコンメールを携帯に自動転送!!
外出中でもメールを携帯で新着チェック、パソコンのメールアドレスで返信できます
携帯向けメール転送サービス FlyMail はこちら


仕事のメール以外にも、Yahoo!メール,Yahoo!BBメール,@niftyメール,Hotmail,BIGLOBEメール等のメールにも対応

サンプルダウンロード

70000ダウンロード!!

しばらく気にしていなかったのですが、 気がつけば70000ダウンロード!!をずっと前に超えてました・・・(−−;; いつの間に・・

新しい年度も始まり、学校の授業や職場で初めてAccessを使う方や、また、そういった場所で無理やりAccessで作っといて!!と押し付けられた方、いろんな方がAccessに触れる機会が多い時期でもあります。

最初は簡単に作れて楽しいんですけど、それから「ちょっと手を加えようとすると・・・」 そこからが大変なんですよね(−−;;

「Accessだと、こんな程度しかできないし」と諦めず、サンプルをダウンロードして、 動くものを見てください、参考になる部分があるかもしれません。

ちなみに、マクロを早々に諦めてVBAで作るようにすることが、Access上達の近道だと思います。

Accessコラム(Access、VBAネタじゃないことも・・・)

リンクテーブル、まじ便利だって

えー ここの所、VisualStudio2003だったり、Access2003だったりと、MS系の開発言語ばかり使って、Webと違った快適な開発環境に慣れきってしまっている、今日この頃です、デバッグが楽でいいなー。

で、Accessを使ってて便利だなーと思うところは多いんですけど、 抜群に便利だと思うのは、リンクテーブルだと思うんですよ

単に他のMDBをリンクで読み取るだけでなく、csvやXSLファイル、SQL-ServerからOracle、MySQLまで、なんでもリンク設定してしまえば、同じようにテーブルとして使えるので、 全く違いを意識しなくて済みます。

単にプログラムを作る時に利用するだけでなく、 XLSやCSVなど違う形式のデータをまとめる時にも使えるので、 ファイルが極端に増えた時などは、 「とりあえずリンクテーブルで全部MDBにいれといて・・・」という、 ごちゃまぜにした整理の仕方をしています。

こういう使い方をしているためか、 子供の頃「きちんと片付けなさい!!」と言われて、 とりあえず、机の引き出しに投げ込んだり、押入れに詰め込んだだけ、 という片付け方をしたことを思い出します。

「場所さえ覚えていればいいや」という、今であれば「amazon的な整理術だ、世界の先端企業だってそうしている」と自信を持って言えるのですが、当時は単なるゴマカシということで、こっぴどく怒られたことまで思い出してしまうのが、このリンクテーブルを使う時の難点かもしれません。

みなさんも、子供の頃の記憶に泣かないようにしつつ、リンクテーブルを使ってみてください



気付いているはずです、ウィザードやマクロでは思うように作れない事を

思うように作れないのは、ウィザードだから

「Accessは簡単、ウィザードで簡単に作れる」という話をよく耳にします、本やサンプルも多いので、そういう風に思われる人が多いのかもしれません。 確かにVBやDelphiに比べれば簡単ですが、ウィザードで作ったものが使えるものとは思えません。 市販のAccess本の多くは「簡単・誰でもできる」をキャッチコピーに、ウィザードの操作説明書だけで終わっているものが多い現状です。
「サンプル多数収録」と書いてあっても、そればウィザードが作ったものばかり。

自分が思うように作るために本を買う→サンプルを見る→自分で作ってみる→(−−;;なんか違う・・・
これは勉強不足というよりも、ウィザードだから仕方ないことです。

人それぞれ、使い方が千差万別で、それぞれにAccessのウィザードが対応できる訳も無く、 細かい部分は自分で微調整する必要があります。 ですが、そこをきちんとウィザードが説明している事は無く、多くのAccess本もウィザードで作るまでしか説明はしてありません。

断言します「思うように作れないのはウィザードだからです」



じゃぁマクロを使うのか?

ウィザードを使わないのであれば、すぐに思いつくのが「マクロ」です。
ですがマクロを使って思うように作れているという人を聞いたことがありません。

結局、マクロもウィザードと同じく、ある程度の使いやすい機能だけしか用意してありませんから、
できないことの方が多いのです。

「マクロにできることはVBAでもできます、しかもVBAの方が簡単」


VBAはちょっと・・・

「VBAは難しそう・・」と敬遠されてる方が多く、
「VBA=プログラムを作る」というと難しいイメージがありますが、実際はVBAの方がマクロよりも簡単です。

では、VBAの方が簡単という理由を説明すると

「画面を閉じてもよかですか?」というメッセージを表示して[はい]の時は画面を閉じる、[いいえ]の時は何もしない。
これをマクロで作ってください。

どうでしょうか 作れましたか?
簡単そうですよね、でも、これはマクロでは作れません

VBAではサンプル程度に書くと

If MsgBox("画面を閉じてもよかですか?", vbYesNo) = vbYes Then
  DoCmd.Close
End If

これだけです、簡単すぎてVBAのサンプルにもならないですが・・

簡単な説明ですが、1行目のIfと3行目のEnd Ifは条件によって処理を分岐。
メッセージで[はい]が押された時だけ、Ifの中の処理を実行。
MsgBoxはダイアログを表示、ここでは「画面を閉じてもよかですか?」とメッセージを表示し、 [はい][いいえ]ボタンが表示。
DoCmd.Closeは、今表示されているフォーム(レポート)を閉じます。

どうでしょうか、思ったよりもVBAで簡単に作れたんではないでしょうか。
ウィザードで作るものは、サンプル程度と思った方がいいかもしれません。



Accessの良さを活かす作り方とは

ここまで書いたところで「何でもかんでもVBAで書けばいい」と思われるかもしれませんが、 そうではありません。

私がAccessを使う時のルールとして「できる限りVBAは書かない」というものがあります。
もちろんマクロは一切使いません。(Vectorからダウンロードできるサンプル参照)


VBAを使えば何でもできますが、全てVBAでやってしまうのは無駄です。
Accessにできることは、そのままAccessに任せてしまうのが楽です。

では、どうやってプログラムを思ったように作るのか
Accessの良さを活かすことがポイントです。

例えば、レコードのキーに連番を設定する場合、オートナンバー型を使うのはお勧めできません(過去のコラム参照)。 レコード挿入のタイミングで処理するようにVBAを書く、これもお勧めできません。

Accessであれば、既定値プロパティにMAX+1を取得する式を書くだけで実現できます。
VBAを書かずにプロパティ1つで実現できるんですよ(Vectorからダウンロードできるサンプル参照)

VBを勉強するのであればVBAの勉強を強く勧めます。 Accessであれば、多くのサンプルを見て自分なりに考えてみることが大事です。 そのためには、まずAccess独自のプロパティ・イベントなど便利な機能と使い方を覚えることが重要

それらのプロパティを使うだけでVBAを書かずに、連番を設定することも、 入力エラーのチェックをすることもできるので、 つまり「プロパティ、イベントの使い方を覚える」ことが、Accessの良さを活かす作り方になり、 思ったようにプログラムが作れることになるのです。

このホームページでは、Acess初心者から中級者の方に、 ウィザードに頼らず自分でプログラムを作るための作り方を「サンプルプログラムと手順書」と公開すると共に、 実際に本屋に足を運んで確認した「お勧めできるAccess本」を紹介します、使えるサンプルも多く収録されています。


ソフト作りのサンプルにどうぞ
>>月平均3000ダウンロード!! Accessの良さを活かした作り方は こちら
>>管理人が実際に本屋に行って内容を確認した、自信を持ってお勧めするAccessの書籍は こちら





ダウンロード

月平均3000ダウンロード!! SAMPLE1ダウンロード
・顧客管理サンプルソース
・作成手順書付き
・スクリーンショット
 入力画面
 一覧画面

SAMPLE2ダウンロード
・一覧検索サンプルソース
・作成手順書付き
・スクリーンショット
 リストボックスでの検索
 サブフォームでの検索

DM印刷サンプル2
・DM印刷サンプルソース
・印刷位置指定可能
シンプル版DM印刷
DM印刷サンプル1
・DM印刷サンプルソース
・シンプルな印刷方法です

100マス計算ダウンロード
・スクリーンショット
 画面
 印刷プレビュー

質問は掲示板メールまで



VBA サンプル ダウンロード


VBA


Contents of This site

コラム

Copyright© 2005-2006
あぷる All Rights Reserved.
Since 2005/05/27
Powered by sozai.wdcro




管理サイト


Access関連サイト


その他


アクセスアップ関連