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で質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Excel(エクセル) 現在のセルの文字列を右隣のセルの名前にするマクロをつくりたい 4 2023/01/12 09:01
- その他(データベース) Microsoft Accessについて 1 2022/06/06 16:20
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- その他(プログラミング・Web制作) UWLSの記録でマクロを作成し使用していますが起動中に他の作業ができません。バックグラウンドで使うこ 2 2022/05/20 11:04
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Excel(エクセル) Excel使用前提 同じフォルダ内にあるファイルの集約等をマクロでできますか 4 2022/09/06 19:03
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
- その他(ソフトウェア) LDPlayerのマクロの編集方法を知りたい 1 2023/03/04 11:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別シートのマクロを実行する方法
-
Application.Runエラー(1004)
-
エクセルのマクロボタンが編集...
-
Access終了時にマクロまたはVBA...
-
InputBox内の表示について
-
マクロ 戻るボタンを押したらシ...
-
access2010 コマンドまたはアク...
-
AccessでExcelファイルを印刷
-
マクロとモジュールの違いを教...
-
プロシージャが大きすぎます!
-
excelで会議室予約表の作成(マ...
-
シート保護を掛けたまま並べ替...
-
アクセスの更新クエリをフォームで
-
「Access」のフォームを...
-
エクセル VBA SendKeys ループ...
-
エクセルVBAで、ボタンの文字を...
-
パワポ マクロの記録
-
エクセルの右クリックにオートS...
-
RunMacroメソッドではsubプロシ...
-
マクロ削除再抽出する方法を教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別シートのマクロを実行する方法
-
Application.Runエラー(1004)
-
エクセルのマクロボタンが編集...
-
Access終了時にマクロまたはVBA...
-
エクセルVBAで、ボタンの文字を...
-
InputBox内の表示について
-
access2010 コマンドまたはアク...
-
シート保護を掛けたまま並べ替...
-
今日の日付の範囲を指定して印...
-
マクロ 戻るボタンを押したらシ...
-
エクセル VBA SendKeys ループ...
-
AccessでExcelファイルを印刷
-
ExcelのVBAでDisplayalertsで警...
-
マクロとモジュールの違いを教...
-
ExcelVBAで右クリックメニュー...
-
プロシージャが大きすぎます!
-
エクセルのマクロ
-
アクセス:検索フォームボタンに...
-
特定のシートだけ印刷はマクロ...
-
アクセスのマクロについて
おすすめ情報