No.6
- 回答日時:
面白い質問なので、私も一言(全て勝手な解釈です)
MSは、ACCESSを難しいVBAを勉強しなくても、簡単にシステムが作成できるシステム開発支援ツール集として完成させたい。
VBAでシステム開発する人は、VBでもSQLserverなどほかを使えばよい。・・という発想?
エクセルのシートに似ているといえば、テーブルとクエリで直接入力するとき位ですが、ここにマクロボタン配置して使用する事はないですし
ACCESSには、フォーム、レポート、マクロというカテゴリーで充実を図ってあるので、フォーム上にボタンを作成するとウィザードに従っていけば一般的な機能を設定できます。
エクセルでは、VBエディターでフォームは作成できますが、フォーム上では、マクロの記録は出来ないです。
ACCESSではVBAとマクロを分けてあり、マクロにてシステムを完成できる程です。
マクロで出来ないことにLoopがありますが、クエリを応用すればLoopを必要とする事もなくなります。(エクセルではLoopは頻繁に使用しますが)
ACCESSのVBAは他のデータベースやApplicationと連携するために必要と考えたので、VBA(ADO)を理解した人が使用する事を前提とした。
安価なACCESSを利用してVBA(ADO)が習得されると、エクセルなどを利用してデータベースを利用する人が増える。
一旦、ACCESSを使ってシステムを開発すると、ネットワークでテーブルを共有する場合にACCESSを更に購入することになる。
だからマクロの記録の機能はついていない。
以上、私の勝手な憶測です。
No.5
- 回答日時:
>エクセル、ワード、パワーポイント
とAccessの違いは前者は文房具、Accessはシステム構築ツールだという点でしょう
文房具の方は繰り返し行う操作を記録して自動化すると言うことに意味がありますが
システム作成においては繰り返し行う操作ということ自体ありません
作品としてのデータベースでの繰り返し操作を自動化する場合でも
実際にその操作を行い記録してコードを書くというようなことをしようとは思わないですね
自動記録でできあがった無駄の多いコードを手直しするより
最初から自分で書く方を選びます
No.4
- 回答日時:
私もなぜ付けてくれないのか知りたい人の一人です。
でも・・・(これも憶測です)
WORDやEXCELってドキュメント作成ツールですよね
なのでデザインなど同じ事を繰り返す事が良くあるのでマクロ記録は有効ですが
ACCESSはデータ作成ツールです
VBAは実行時にイベントから起動されます。
実行時は基本的に画面デザインは終了してますよね
それじゃぁ記録開始をどのタイミングで何のイベントに対応するかの判断をどうします?。
これが最大の自動記録が無い理由じゃないでしょうか?
VBA学習の手助けなら、ANO.3で書かれているように
マクロで色々書いて 保存しファイル(F) -> 名前を付けて保存(A)
若しくは該当メンバーを右クリックして
貼り付ける形式をモジュールを選択すればVBAに変換してくれます。
でも、モジュールではなくてマクロを上手に使えばAccessってコントロールのイベントにマクロを割り当てるとVBA記述しなくてもかなりの事が出来るように考えられてます。
参考書等はマクロ記述だけで実行させる例が多くあります
でも、私の場合はマクロを殆ど使いません
やっぱりVBAを使うとどうしてもマクロより一覧性のあるVBAの方が見やすいし
デバッグ実行で問題点を探す時に楽なもので
私はVBAモジュールを作成しツールバーに新規ボタンを取りデザイン時、プロパティー変更のサブを作って実行させてますので、デザイン時のマクロ自動記録が欲しい一人なのですが。
No.3
- 回答日時:
私も知りたいです(^^)
以下、推測ばかりになってしまいますが、マイクロソフトに聞いてみないと本当のところはわからないと思いますが、「ツール→マクロ→マクロをVisualBasicに変換」、という機能があるから、自動記録は要らないと考えたのかもしれませんね。
また、Accessはクエリ、モジュール、フォーム、レポート、その他を「作る」作業が多いですが、それらは「設計」してから「作る」ことがほとんどなので、「マクロの自動記録」では「設計」まではできません。
そのほか、ADO、DAO、SQLの操作もマクロの自動記録ではなんともできないです。
また、Excelのようにセル番地が無いので、そして、特に行の特定が難しいというか面倒ですから、自動記録には向かないのかもしれません。
例えば、WordやPowerpointなどだと「○行目」ということをVBAに書けますけど、Accessだと、○行目がいつも同じデータとは限らないです(主キーはユーザーが決めるわけだから)。
厳密には番地のようなものもあるのですが、そこにいつも同じデータがくるとは限らない(次回にファイルを開いただけでレコードの位置が変わるときもある)ので、そういうことも自動記録には向かないと考えられているのかもしれません。
また、マクロの自動記録でなんとかなる部分といえば、検索、抽出、置換、並べ替え、フォームからフォーム・レポート・その他の呼び出し、最大化、最小化、などくらいで、Accessの機能から言えばほんの少しなので、そういった部分的なことだけを自動記録できるようにしても、あまり意味が無いと考えられたのかもしれません。(私はそうは思わないのですが)
あと、下手にマクロの自動記録機能を付けると、エンドユーザーが好き勝手にデータベースをいじる可能性があって危険だから、あえて、自動記録機能をつけていない、という意味もあるのかもしれません。
データベースですから簡単に作れ過ぎると業務を停止させかねないのでそういった配慮もあるのかもしれません。
すべて想像ですみませんが、このようなことがあるのかもしれません。
Accessにも「マクロ」がありますので、「アクション」の各ドロップダウンの中から自動記録できそうなメニューがいくつあるかをチェックしてみてはどうでしょうか?
「アクション」の「コマンドの実行」の中にも色々とメニューがありますのでそちらもご覧になってみては?
この回答へのお礼
お礼日時:2008/12/21 01:50
>「ツール→マクロ→マクロをVisualBasicに変換
この機能については知りませんでした。
早速試してみたいと思います。
ご回答ありがとうございます。
No.2
- 回答日時:
こんにちは。
Access は、Excelから比較しても、VBA自体が後付けの存在だったということで、「記録マクロ」というものの必要性が、Access にはなかったということだと思います。もちろん、元の製作者側(非MS)側が、「記録マクロ機能」を付けなかったというのが、最終的な結論であるのは、他社製のもので、「記録マクロ機能」を持っているものもあるからです。ただし、その記録が、プログラミングのVB系ということではありません。
>この機能のおかげでものすごくVBAの学習ができてると思うのです。
私が使った範囲では、Access は、VBAというより、VBAを含めた周辺知識は常識的に知って使うことが前提とされているのではないでしょうか。その中で、Access VBAは、ほんの一部にしか過ぎませんし、それを知っていて使えるというものでもありません。
実務上のAccess VBAは、かなりレベルが高く、VB6の知識を要求されることがあります。私自身は、Access VBAから、逆に、Excel VBAの利用法を覚えた部分が少なからずあります。最終的には、VB6 に移行しないと、まとまった知識は得られませんでしたが。
ですから、VBAの初心者・入門者が、Access を利用するのは、少し敷居の高いものになってしまいます。
なお、Excelの「記録マクロ」機能は、あくまでも、特殊なコードや単発のワークシートのメソッドが披露されるだけで、それ自体で、VBAのプログラミングを覚えるということはないと思います。Wordに至っては、記録マクロがうまく再現されない、ということもあります。単に、ワークシートの操作をコード化しただけであり、それを以て、学習するというのは、入門レベルまでぐらいしかありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードで複数ページを縦書き2...
-
ワード 校閲 編集
-
http://oshiete.goo.ne.jp/qa/1...
-
我慢の左上に文字が表示される現象
-
パソコンで、請求書の入力する...
-
ワードが白と黒が反転してしま...
-
ワードでフリガナの付け方
-
office365 のアプリについて
-
パワーワードとは?
-
ワードで途中のページからペー...
-
「niger fk」 ↑外国人にこの文...
-
エクスプローラーについて。
-
ワードでプリンターがA4までな...
-
普通の場合は400字詰め換算でも...
-
禁則処理しましたが、文字の大...
-
txtはフォント,サイズ関係ない...
-
txtはおそらく,フォントやサイ...
-
txtって、ページの概念なくなり...
-
テキストボックスの文字列を上...
-
ワードの文字の大きさについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Application.Runエラー(1004)
-
別シートのマクロを実行する方法
-
Access終了時にマクロまたはVBA...
-
エクセルのマクロボタンが編集...
-
access2010 コマンドまたはアク...
-
InputBox内の表示について
-
シート保護を掛けたまま並べ替...
-
エクセルVBAで、ボタンの文字を...
-
マクロ 戻るボタンを押したらシ...
-
ExcelVBAで右クリックメニュー...
-
特定のシートだけ印刷はマクロ...
-
アクセスのマクロについて
-
マクロとモジュールの違いを教...
-
AccessでExcelファイルを印刷
-
エクセル VBA SendKeys ループ...
-
private sub にしたらマクロが...
-
エクセルのマクロ
-
Workbook_Openを起動時以外に呼...
-
別シートのトグルボタンを指定...
-
「Access」のフォームを...
おすすめ情報