アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access2002を使用しているのですが、
VBとVBAはどう違うのでしょうか。

・混在可能なのでしょうか。
・VBはVBAを含んでいるのでしょうか。

ご回答よろしくお願いします。

A 回答 (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で「実際にやること」は大きく違うので、
「全然違う勉強をしている」と思うことはあるかもしれませんが。
    • good
    • 1
この回答へのお礼

Accessのデータベースとターゲットは決まっていますので、
とりあえずVBAを勉強することにします。

ご回答ありがとうございました。

お礼日時:2008/09/11 23:03

>すると、AccessではイベントのビルドでVBAで記述できますが、


>そこにVBを書くことはできないと考えていいのでしょうか。

質問者のいうVBとVBAは同一と思います。
なお、私はACCESSの標準モジュールの自作関数とVBのそれとは共有しています。
FTPサーバーを利用した送受信システムをVBで開発しています。
が、そこで使っている関数の全てはACCESSでも使っています。
ですから、両方を学ぶ必要は是非ではありません。
が、ACCESSのVBAを覚えてもVBでの開発は出来ないと思います。
そこは、VBはC言語と同じプログラミング言語ですから・・・。
まあ、ややこしく考えないでVB=VBAという理解でもOKかと。
    • good
    • 0
この回答へのお礼

とりあえずはVBAを勉強すればいいのですね。

ご回答ありがとうございました。

お礼日時:2008/09/11 23:01

非定形的

    • good
    • 0

VBA=VisualBasic for Applications。


VB=Microsoft Visual Basic。

前者は、アクセスやエクセルを操作するための機能の一種。
後者は、純然たるプログラミング言語でC言語等の仲間。

エクセルなんかでは、否定形的な処理を一連の手続きとし記述するマクロ言語が登場。
で、マクロ言語の拡充は、マクロ言語とVBの接近という状況を持って極値に。
だが、幾ら、同様の文法を採用しても、VBAはあくまでもマクロ言語の系譜。
これに対し、VBは、BASIC言語の最新版でありあくまでもプログラミング言語の系譜。
両者は、似て非なるものと言えます。
後者で開発したソフトは、は、アクセスやエクセルがインストールされていないPCでも動作。
ですから、あくまでも後者は開発者のためのプログラミング言語。
ですから、あくめでも前者はアクセスやエクセルのユーザーのためのマクロ言語。
まあ、想定している使用者も違います。
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます。

よく分かりました。
すると、AccessではイベントのビルドでVBAで記述できますが、
そこにVBを書くことはできないと考えていいのでしょうか。
Accessでデータベースを作らなければいけないのですが、
VBAとVBの2つを勉強しなければいけないのでしょうか。

お礼日時:2008/09/11 16:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!