- ベストアンサー
Access VBA を習得するまで
Access VBAを習得された方にお伺いできればと思います。 現在Access基礎を身に着けた程度で、次はVBAを目指して いるのですが、参考書を読みましても今までとは違う一筋縄では いかない感じがあり、時に断念しそうになったり、 プログラム未経験者に独学は無理?という思いが頭をかすめます。 コードを記入するのに1文字でも脱字があるとコマンドエラーに なってどこが原因か探すのにも一苦労です・・・ Accessのときも一筋縄ではいかない感じはありましたが、 VBAはそれ以上です。 今回見習いたいところは見習っていきたいと思い、 お伺いたいことをまとめてみましたので、 ご回答いただけますとさいわいです。 1)スタート時はどの程度のレベルだった? ex 全く初心者、プログラム経験者.etc 2)独学?Or 教室などに通った? 3)学習に当てることができた時間と、学習に要した期間 ex 週2回夜2時間で半年.etc 4)勉強ツール ちなみに、私は『独習Access 翔泳社』 『Accessプログラミング開発工房 ソシム株式会社』 などを読んでいます。 回答は全ての項目ではなくても結構ですので、 よろしくお願いします。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
AccessVBAは、VBやVBAに慣れていればそんなに難しい言語じゃないです。 ただ、VBA独特の動作は見通すことが中々難しいですので、まずはExcel のVBAから勉強するといいかと思います。Excelは「キートレース」機能 があって、Excelの動作をそのままVBAコードに変換してくれるからです。 Accessには「キートレース」がないんで、なかなかコードの動作が実感 として理解しにくいんです。 http://www.sanynet.ne.jp/~awa/excelvba/kouza.html http://excelvba.pc-users.net/ ExcelのVBAに慣れれば、Accessに横すべりするのは決して難しくない ですよ。ちなみに私もExcel-VBA(Win3.1~95の頃ですが)から、 Accessに横すべりしたクチです。 あと、Access-VBAは曲がりなりにもプログラミングです。プログラミング は「勉強」じゃなくて一種の「工作」です。動作するプログラムを作って 実際に使ってバグを潰して行かないと、なかなか覚えられませんよ。
その他の回答 (8)
- Wiils
- ベストアンサー率46% (31/66)
1)スタート時はどの程度のレベルだった? VBAについては、全くの素人。ただし構造化言語(COBOL&C)の経験はあり DBについては基本的な事(リレーショナル型DBの基本や、データ型の知識はあり) 2)独学?Or 教室などに通った? 独学。というより、いきなり"これ作れ"と言われ実務やってました。 3)学習に当てることができた時間と、学習に要した期間 実務=学習でした。 4)勉強ツール 初心者向けの簡単VBA関連の本を3冊程(書名忘れた) ネットで検索した方が必要な情報がすぐ見つかるので、本を買わなくなりましたが。 DAO、ADO、SQLの知識があるとかなり便利です。
お礼
ご回答ありがとうございます。 他言語でもプログラムの経験がおありだったので、 期待されたのでしょうね。 多少無理やりでも実務=学習なんていいですねぇ。 他に知ってる人もいないならマイペースでできそうですし。 私の場合、これから転職を考えているので、 身につけた状態にしないと…ハァ…
VBA習得に主眼が置かれていますが、 Accessの場合、VBAの知識の他にDBの知識が不可欠です。 老婆心ながら...
お礼
アドバイスありがとうございます。 Accessの方は、一応MOSレベルですが、 これでは基礎レベルだと心得ています。 実務経験がないですし、登山でいうと 一合目といった感覚でしょうか… がんばります。 お世話になりました。
- gatt_mk
- ベストアンサー率29% (356/1220)
>4)勉強ツール 勉強ツールとしては市販のAccessVBAの本の中で、一通りのプログラム作成(販売管理や財務会計など)を行うものを通してやってみたらいかがでしょうか? 一つ作成してみるとVBAを使ってどのようなことができるかわかってくると思います。 それまでのフォームやクエリー、レポート、マクロなどは一通り理解しておく必要があるでしょう。フォームやレポートのウィザードでできる範囲がどこまでか理解しておかないとVBAの便利さはわからないかもしれません。 特にボタンクリックし、条件によって作業を分岐させる処理などは標準のウィザードではできませんので、VBAが必須になります。 またAccessにはマクロをモジュール化し自動的にVBAのスクリプトを作成する機能もあります(「ツール」-「マクロ」-「マクロをVisualBasicに変換」)。そうした機能を使ってマクロ登録した内容をVBAで表示するにはどうしたらいいかを参考にすることもできます。 下記サイトにはAccessのVBAでのQ&Aがたくさんありますので、他の方の質問内容を読むことで勉強できることも多いかと思います。 http://www7.big.or.jp/~pinball/discus/access/index.html
お礼
アドバイスありがとうございます。 URL、大変参考になります。 お気に入りに入れて、目を通します。 お世話になりました。
- falst
- ベストアンサー率33% (16/48)
完全に習得しているとは言えませんが(^^; 1)スータト時は全くの初心者でした 2)独学です。アクセスの基本書(タイトルは忘れましたが)で。 3)学習に当てた時間は、仕事上必要なDBを作成する際にVBAが必要な場合に調べながら作成していたのでかなりかかっています。 4)勉強ツールは、他人(アクセスに詳しい方、プログラマーの方)が作成したアクセスDBのコードを見て。 No1の方が言ってらっしゃるように、私もエクセルのVBAからスタートしています。 独学でヘルプや他人の作成したコードを見ながらどういう動きをするのか参考にしつつ、自分が作りたいものを作るような感じで勉強しました。 ネットで調べたりもしましたが、実際にどのような動きをさせたいかというときに見たものしかなかなか頭に入らないのが実情です(^^; 動かしてみて止まれば原因追求、結果が自分の望んだものと違う場合は修正、いわゆるトライ&エラーを何度も繰り替えすような感じで使っています。 特に他人の方が作ったDBを見せていただくのは非常に勉強になりました。
お礼
ご回答ありがとうございます。 全く初心者から独学と聞くと私も同じ立場なので 安心する部分があります。 >>>見たものしかなかなか頭に入らないのが実情です。 私も参考書のダウンロードファイルを実際操作しながら 取り組んでいますが、おっしゃるように試行錯誤を 繰り返しながら操作しないと身につくものじゃないですね。 >>>止まれば原因追求・・・飽くなき挑戦といった感じですが、 動いた時は達成感があるのでしょうね! 参考になります。 お世話になりました。
- falst
- ベストアンサー率33% (16/48)
完全に習得しているとは言えませんが(^^; 1)スータト時は全くの初心者でした 2)独学です。アクセスの基本書(タイトルは忘れましたが)で。 3)学習に当てた時間は、仕事上必要なDBを作成する際にVBAが必要な場合に調べながら作成していたのでかなりかかっています。 4)勉強ツールは、他人(アクセスに詳しい方、プログラマーの方)が作成したアクセスDBのコードを見て。 No1の方が言ってらっしゃるように、私もエクセルのVBAからスタートしています。 独学でヘルプや他人の作成したコードを見ながらどういう動きをするのか参考にしつつ、自分が作りたいものを作るような感じで勉強しました。 ネットで調べたりもしましたが、実際にどのような動きをさせたいかというときに見たものしかなかなか頭に入らないのが実情です(^^; 動かしてみて止まれば原因追求、結果が自分の望んだものと違う場合は修正、いわゆるトライ&エラーを何度も繰り替えすような感じで使っています。 特に他人の方が作ったDBを見せていただくのは非常に勉強になりました。
周囲40Km圏内にはプログラマもいない田舎の工場でデザインと設計を担当しています。 ですから、プログラマではありません。 しかし、Windows95の発売を機に、四国一円の営業所のAccess95版「販売管理」を開発。 「販売管理」の設計そのものは、VB5.0版を完成していたのでAccessへの移植という感じ。 だが、かなり苦労しましたね。 冒頭が切れてました。
お礼
>>>冒頭が切れてました。 何だかそんな感じがしました。 わざわざ、ありがとうございます。
「販売管理」の設計そのものは、VB5.0版を完成していたのでAccessへの移植という感じ。 だが、かなり苦労しましたね。 1) スタート時はどの程度のレベルだった? VB、C言語、UNIX版リレーショナルデータベース言語での開発経験有り。 クライアント/サーバーシステムはUNIXで経験していたので設計とSQL言語では余り苦労しませんでした。 VBAは、VB5.0での開発経験があったので余り苦労しませんでした。 しかし、関数ライブラリの最適化とAccess固有の問題には悩まされました。 ヌル値、小数点演算、Windowsの「コントロールパネル」タイプのメニューシステムの開発などです。 しかし、それを可能にする懇切丁寧なマニュアルがVB5.0には付いていました。 今では考えられない手取り足取りのガイドが言語に同梱されていました。 2) 独学?Or 教室などに通った? 完全な独学です。 知り合いのソフトハウスに聞いても、VB5.0での開発経験なんてゼロ。 ましてや、Access なんて見たこともないの一言。 田舎のソフトハウスは、まあ、この頃はパソコンの販売屋でした。 独学しかなかったですね。 しかし、「手取り足取りのガイド」が存在したので、要は時間をかけりゃ誰でもマスターできた時代です。 3) 学習に当てることができた時間と、学習に要した期間。 最初は、Accessのヘルプ文を全て印刷しノートに書き写していきました。 次にヘルプ文をPCでテスト。 大体、自宅で午後10時から深夜1時、2時までを週に4日以上。 頭が悪いのでヘルプ文を3度読破して、ようやく全容が見えてきました。 アプリケーション開発の道筋とイメージの獲得に6ヶ月を費やしたと思います。 4) 勉強ツール。 Accessのヘルプ文と次のような目次の「アプリケーション開発ガイド」です。 第1部、アプリケーションの基礎。 第2部、Visual Basicプログラミング。 第3部、アプリケーションの環境。 第4部、活用情報。 ところで、Access2000を境に、このような「アプリケーション開発ガイド」は消えてしまいました。 そういうことで、Accessのヘルプ文の攻略がお勧めです。 なーに、3ヶ月もあれば2、3回は読み通せますよ。 判る判らないは、私は、二の次にしましたね。 「知らないことは皆目判らないのがプログラミング」 「知っていることは知っている範囲で判るのがプログラミング」 ですから、ともかく、ヘルプ文に目を通すことですね。
お礼
迅速なご回答ありがとうございます。 独学でソフト開発まで手がけておられるとは頭が下がります。 >>>Accessのヘルプ文の攻略がお勧めです。 参考書『独習Access』でも、繰り返しヘルプを読むよう 語られていました。 私も心がけていきます。 >>>Accessのヘルプ文を全て印刷しノートに書き写していきました・・・ Husky2007さんの努力を見習って私も頑張ります! お世話になりました。
- yatoaa
- ベストアンサー率30% (110/362)
1)スタート時はどの程度のレベルだった? ex 全く初心者、プログラム経験者.etc プログラム経験者です 2)独学?Or 教室などに通った? 教育セミナーへ数回 (初級から応用まで各段階 VBA関連へは1回) 3)学習に当てることができた時間と、学習に要した期間 ex 週2回夜2時間で半年.etc ・・・・・・・・・・・・・・ 4)勉強ツール ちなみに、私は『独習Access 翔泳社』 『Accessプログラミング開発工房 ソシム株式会社』 などを読んでいます。 やはりVBAの本を用意しておかなければ 歯がたちません でも本に書いてないことで必須の技術知識も 存在するので、独学しても、セミナーに 行ってもなかなか大変です あとは、プログラム環境の設定などが大変 例えば VBAツールの参照設定 で DAO3.6へチェックマークを入れて おかないとテーブルの処理ができないとか ・・・ ------------------------------------------- あとわからないこと、本にも出ていないことなど たくさんの壁が出てきますから そのときはここへ質問、http://www.moug.net/ みんなが助けてくれます
お礼
迅速なご回答ありがとうございます。 経験者の方でさえご苦労があるのですね。 数字を扱うので神経を使う部分もあるでしょうし。 mougはよく聞きます。 ここで相談できるよう頑張ります。 お世話になりました。
お礼
迅速なご回答ありがとうございます。 >>>AccessVBAは、VBやVBAに慣れていればそんなに難しい言語じゃないです。 私も慣れてないから、難しいのだと思います。 習うより慣れろということですね。 >>>実際に使ってバグを潰して行かないと、なかなか覚えられませんよ。 わかりました。頑張ります。 Excel VBAのほうがとりくみやすいのですね。 大村あつしさんの本を持っていますので、 出来たら並行して続けていければと思います。 お世話になりました。