全くの初心者です。SQL,VB,VBA,VBE これらの関係を関連づけて説明していただけないでしょうか?
例えば素朴な疑問でSQLの記述の"insert"や"select"というのは他3つでも使用しますよね?
どういう関連があるのでしょうか?他の言語でも使用できるのでしょうか?
この時点で間違っているかもしれませんがそれぞれ単独の説明ではなくあくまで関連づけて説明をお願いします。
(1)VisualBasic
Windows用アプリケーション開発環境。
使用する言語はBasic系。
(2)VisualBasic for Application
WordVBAならWordを操作するための命令や関数が含まれ
ExcelVBAならExcelを操作するための命令や関数が含まれるなど
それぞれのアプリケーション操作用に特化したVisualBasic。
VBAを用いて(1)と同様のアプリケーションを作れなくもないけれど
開発用の環境はVBEのみという簡素なもののため作業は非常に困難。
(3)VisualBasicEditer
VisualBasicのソースコードを編集するためのソフト。
(4)SQL
データベース操作用言語。
MicrosoftAccess、ORACLE、PostgreSQL、MySQLなど
使うデータベースによって書き方に若干の違いがあったりもするけれど
基本構文はほぼ同じ。
(余談)
いずれも英語がベースとなっているため単語だけを捉えれば
insertやselectなど重複するものが多数存在するけれども
どこでどのように用いるのかによって単語の指す意味はまったく異なるため
同列に並べても意味はないです。
SQLはDBMS(データベース・マネジメント・システム)を利用するための命令のことです。DBMSの製品(例:Oracle, DB2, MySQL, PostgreSQL)によって、細かい命令に差があります。
VBは、Microsoft のプログラミング言語 Visual Basic のことです。
VBAは、Microsoft の Office アプリケーション(Excel, Word, PowerPoint など)をプログラミングするための言語 Visual Basic for Applications です。VB から派生した言語体系を持っていますが、細かい部分では VB と異なります。
VBE とは VB や VBA のプログラムを書くためのエディタ Visual Basic Editor のことです。
ご質問の insert について――SQL でレコードを追加する命令が insert です。VBA for Excel で行や列を挿入する命令(メソッド)として Insert があります。したがって、VBE で VBA のプログラムを書いているときに Insert という単語が登場することもあるでしょう。
VB に Insert メソッドがあるかどうかは知りません。VB から SQL を実行する際に使うのは、SQL の insert 命令です。
このように、同じ insert という単語であっても、言語が違えば作用・機能も異なります。
個々の命令は、あくまで言語に属するものです。
まず、VB,VBA,VBE,SQLの中で分類すると
VB,VBA,SQLは言語
VBEはVBAを記述するときのエディター
であります。
VB(VisualBasic)はWindowsアプリケーションを作成するための言語です。
VBA(VisualBasic for Application)はMS-Office製品に搭載されているもので、そのアプリケーションを操作することになります。
EXCELのVBAならEXCELを操作するための独自の関数なりメソッドなりが追加でインプリメントされていて、ACCESSのVBAなACCESSを操作するための独自の(略)がインプリメントされています。
ここでSQLはというとデータベースを操作するための言語であります。
つまりVBで作成したアプリケーションではデータベースにあるデータがほしい場合には、SQL文をデータベースに送って、その結果としてデータが戻ってくるという感じのものになります。ここで、注意が必要なのはVB(VB.NETではない)ではSQL文を文字列としてVBのコードの中で記述するので、VB自体はSQL文の正当性は関知しません。データベースにSQL文を送って、データベースで解析が行われた結果として、エラーが返ってきたりほしいデータが返ってきたりします。
先ほどVB.NETではないと書いたのは、余談ですが最新のVB.NETのバージョンではSQL文を文字列としてではなく、内容を関知できる仕組みがありますので、ちょっと変わってきています。
コメント(0件)