Access VBA 講座 入門編 第三回 ~ 変数と定数 ~

Access

こんにちは、じじグラマーのカン太です。

年々増える脂肪と戦いながら、 週末プログラマーをしています。

難しいことは全て後回し。
動けばそれでよし、のプログラミング講座です。
途中で挫折しても誰にもバレませんし、お金もかかりません。
今回も張り切っていきましょう。

作業エリア

プログラムには入力エリア出力エリアがあることは、前回の講座で確認しました。 そしてもうひとつ、作業エリアと呼ばれるものエリアがあります。

例えば・・
 (1 + 2) ×  (3 + 4) = 21
という計算をしてみます。

「1」「2」「3」「4」といった数値や「×」といった演算子は入力エリア、計算結果の「21」は出力エリアに格納されます。ここで、 (1 + 2) や(3 + 4 )の途中の計算式の答えはどこかに一度保存しておく必要があります。これが作業エリアと呼ばれるものです。

(1 + 2)×(3 + 4)の計算式では、まず (1+2)と (3+4)の結果を作業エリアに格納し、その作業エリア同士をかけて答えを出す、といったイメージです。

なんとなくおわかりいただけましたでしょうか。
では、実際の作業エリアについてみていきましょう。

変数とは?

プログラム上の作業エリアに名前をつけて、任意の値を自由に出し入れできるよう名前をつけたものを「変数」と呼びます。

先ほどの例でいうと・・
 (1+2)⇒ 変数A
 (3+4)⇒ 変数B
 ⇒  変数A × 変数B = 21

といった感じで、値を自由に出し入れして使います。

変数のタイプ 文字タイプと数値タイプ

VBAでは、変数として使えるもののタイプが複数存在します。代表的な例は、文字数値です。
変数Aを文字タイプとして定義(VBAでは宣言と言います)すれば、その変数には文字のみを出し入れできますし、数値として宣言したものは数値しかあつかうことができません。

  dim hensuA as string
dim hensuB as intrger

「dim」変数を定義するよ!という宣言文の始まりをあらわします。
「hensuA」変数名です。 VBAでは日本語も使えます。
「as 属性」string は文字タイプ、integerは数値タイプです。この他にもいろいろありますが、また別の機会に見ることにします。

定数とは?

変数とは違い、一度定義した値を変えられないものを「定数」と呼びます。変数のように値を出し入れはできません。プログラム上で何度も使うものを、最初に定義しておくときに使います。

例えば、「会社名」や「システム名」などです。

Const K_name = “○○×× 株式会社”
Const S_name = “在庫管理システム”

プログラムで使用する場合には「K_name」「S_name」で使うことができます。

長々と説明をしてきましたが、実際に使えれば説明なんか理解する必要はありません。
実際に使ってみましょう。

使い方

前回でも利用したAccessデータベースのサンプルフォームをデザインビューで開き、コード入力画面を表示してください。

コマンド0のクリックイベントの中身を以下のように書き換えてみてください。

Private Sub コマンド0_Click()

 Dim テキスト1 As String
 Dim テキスト2 As String

 Const 会社名 = "株式会社○○"

 テキスト1 = "変数のテストをしています"
 テキスト2 = "テストテストテスト"

 Me![テキスト2] = テキスト1

End Sub

Dim ~ は変数の宣言文です。
 Const ~ は定数の宣言文です。
 テキスト1 ~ の文で、変数に文字を代入しています。VBA上で文字列は「” ”」(ダブルクォーテーション)でくくるように指定します。
 Me![テキスト2] ~ の文で、変数の値をテキストボックスに代入しています。

内容を保存したあと、フォームビューにしてコマンドボタンをクリックしてください。

「テキスト2」のテキストボックスに、テキスト1に代入した値が表示されていればOKです。

「テキスト2」に変数「テキスト2」や定数「会社名」を表示するようコードを書き換えて実行してみてください。

まとめ

今回は変数と定数について紹介しました。
なんとなくイメージはつかめましたでしょうか。
宣言の仕方やタイプの種類はちがいますが、 変数はどのプログラム言語でも使うものです。

「なんのこっちゃわからん!」という方もおられるかと思います。ご安心ください。使っていけばそれなりに意味がわかってくるようになります。

次回は、「条件分岐」を紹介する予定です。
お楽しみに。

コメント