![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.1ベストアンサー
- 回答日時:
VBA=VisualBasic for Applications。
VB=Microsoft Visual Basic。
前者は、アクセスやエクセルを操作するための機能の一種。
後者は、純然たるプログラミング言語でC言語等の仲間。
エクセルなんかでは、否定形的な処理を一連の手続きとし記述するマクロ言語が登場。
で、マクロ言語の拡充は、マクロ言語とVBの接近という状況を持って極値に。
だが、幾ら、同様の文法を採用しても、VBAはあくまでもマクロ言語の系譜。
これに対し、VBは、BASIC言語の最新版でありあくまでもプログラミング言語の系譜。
両者は、似て非なるものと言えます。
後者で開発したソフトは、は、アクセスやエクセルがインストールされていないPCでも動作。
ですから、あくまでも後者は開発者のためのプログラミング言語。
ですから、あくめでも前者はアクセスやエクセルのユーザーのためのマクロ言語。
まあ、想定している使用者も違います。
ご回答ありがとうございます。
よく分かりました。
すると、AccessではイベントのビルドでVBAで記述できますが、
そこにVBを書くことはできないと考えていいのでしょうか。
Accessでデータベースを作らなければいけないのですが、
VBAとVBの2つを勉強しなければいけないのでしょうか。
No.4
- 回答日時:
VBAというのは、「特定の用途(Application)に特化したVB」ということであり、
言うなれば、VBをカスタマイズしたものです。
ExcelVBAならExcelシートにアクセスするための機能が盛り込んであり、
AccessVBAならテーブルを扱うための機能、OutlookVBAならメールを扱うため、
それぞれVBをカスタマイズした上でユーザがすぐに使えるようにしてあるわけです。
なので、VBAもVBの一種であり、VBでできることの多くはVBAでもできます。
反対に、VBでVBAでやるようなことも可能です。
例えば、VBを車と考えると、VBAはパトカーや救急車といったものです。
別にパトカーで自分の子供の送り迎えをしたり、近所のスーパーへ買い物に行っても
「機能的には」問題ありません(現実にやると大問題になりますが…)
>すると、AccessではイベントのビルドでVBAで記述できますが、
>そこにVBを書くことはできないと考えていいのでしょうか。
VBを書く、というのが「普通はVBで書くような処理」という意味ならできます。
「VBと同じコード」という意味なら必ずしもそうとは限りません。
最近はVB.NETという新しいバージョン(といっても5年以上前のものですが)ができ、
それはVBAと同じようなコードを書けるか、というとできないかもしれません。
(最近VBAを触っていないので、もしかしたらできるようになってるかもしれませんが)
「VB6」のように6以下の数字が入るようなものが従来のVBAと同じようなコードを使います。
一方、VB200○といった西暦が入るバージョンのものは、この新しい仕組みであり、
従来のものとは書き方が大きく異なるため、必ずしも「そのまま書ける」とは限りません。
>VBAとVBの2つを勉強しなければいけないのでしょうか。
文法的には似てる部分も多いので、
C言語とVBAをいっぺんに覚えるような大変さではないと思います。
ただし、VBとVBAで「実際にやること」は大きく違うので、
「全然違う勉強をしている」と思うことはあるかもしれませんが。
Accessのデータベースとターゲットは決まっていますので、
とりあえずVBAを勉強することにします。
ご回答ありがとうございました。
No.3
- 回答日時:
>すると、AccessではイベントのビルドでVBAで記述できますが、
>そこにVBを書くことはできないと考えていいのでしょうか。
質問者のいうVBとVBAは同一と思います。
なお、私はACCESSの標準モジュールの自作関数とVBのそれとは共有しています。
FTPサーバーを利用した送受信システムをVBで開発しています。
が、そこで使っている関数の全てはACCESSでも使っています。
ですから、両方を学ぶ必要は是非ではありません。
が、ACCESSのVBAを覚えてもVBでの開発は出来ないと思います。
そこは、VBはC言語と同じプログラミング言語ですから・・・。
まあ、ややこしく考えないでVB=VBAという理解でもOKかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBでExcelの表形式の様なデザインを作りDBと連携させる。 4 2023/02/28 11:39
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- 工学 電気回路について質問があります。 テブナン関連の問題なのですが、青線ないの意味がよくわかりません。な 4 2023/01/17 16:51
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- 物理学 黄色マーカVbと書いてあるのですがVaの間違いですかね? また左の項ですと、積分範囲∫(r1→a)で 1 2023/06/21 15:29
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- Visual Basic(VBA) VBAでプロセデュア間で共有できるエリアの設定方法は? 3 2023/04/15 19:06
- その他(データベース) 20万行あるデータを動かしたい 2 2023/06/13 15:21
- Visual Basic(VBA) 重複したデータ(空白は除く)のVBA表記について 5 2022/08/15 12:41
- Microsoft ASP ASP.NETや.NET、C#とかVBとか 2 2022/05/16 21:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Developer2000って何?(^^;
-
型 varchar から型 numeric へ...
-
SQL使用の業務経験ある方
-
Perlで、「が」を、「...
-
Accessのレポートで「縦書き」...
-
「桐」の得手不得手
-
エクセルで作成したデータ
-
lotus Notesのメール受信フォル...
-
whileが上手く回らず困っています
-
"random access"と"linear equa...
-
ERP systemについて教えてくだ...
-
データベースの2GBって・・・?
-
CDの売上枚数を知りたいのですが
-
希望の位置へフィールドを追加...
-
LVMでHDDが壊れた時の対応
-
構文エラー:演算子がありませ...
-
質問です。(6)
-
値がこの列の整合性制約に違反...
-
クエリをキャンセルしたいので...
-
CSV形式での集計
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Developer2000って何?(^^;
-
sqlite2とsqlite3の違いについて
-
SQLServerでの便利ツールござい...
-
DBMSにAccessを利用する理由を...
-
某大手運送会社関連企業で使用...
-
MySQLでの動的SQL
-
SQL Server についているSSIS ...
-
SQLとPL/SQLの違いなど
-
Access2000のVistaへの移行
-
外からのアクセスについて
-
VBとVBAの関係について
-
型 varchar から型 numeric へ...
-
データベースの最適化をマクロ...
-
accessの勉強ができるサイトは?
-
構文エラー:演算子がありませ...
-
CDの売上枚数を知りたいのですが
-
クエリをキャンセルしたいので...
-
データベースの選定について 要...
-
AndroidからのAccessデータベー...
-
DB2 UDBって?
おすすめ情報