|
- 2008/09/15 16:13Access VBA プログラムの書き方はいろいろあります。
- VBA のプログラムの書き方は、いろいろあります。プログラミングでは、実行速度など効率を気にしなければ、正解はいくつもあるということです。今回は復習を兼ねて、もう一つフォームを作り、別の書き方をしてみましょう。押えておいて欲しいポイントは、以下の通りです。・フォームのコピーの仕方・関数の戻り値について・戻り値を受け取る変数のデータ型・関数の引数のデータ型に気をつける・データ型を変換する方法【1】Access. [続きを読む]
-
|
- 2008/08/21 13:52Access VBA インプットボックスの動作を確認する方法。
- VBA で記述した、インプットボックス(InputBox関数)が、思ったとおりに動作するか、確認してみましょう。インプットボックスを使うと、処理の途中でユーザーが自由に値を入力できるようになり、とても便利です。インプットボックスのメリットは、プログラムの中から簡単に呼び出せるため、フォームのデザインなどの変更が、不要だということです。ちょっとしたデータを入力したい時に役立つ方法です。【1】Accessのファイル「Sampl [続きを読む]
-
|
- 2008/08/18 13:20Access VBA インプットボックス(InputBox関数)を使う方法。
- VBA を使い、ユーザーが値を入力できるようにするには、いくつか方法があります。Accessのフォームに、テキストボックスを配置する方法が一般的ですが、今回はプログラムの中から簡単に利用できる、インプットボックス(InputBox関数)を使ってみることにしましょう。インプットボックスなら、フォームを変更することなく利用できます。前回コピーして作成した、フォーム「F101Test」を使います。【1】Accessのファイル「SampleDB020 [続きを読む]
-
|
- 2008/07/18 14:40Access VBA フォームをコピー(複製)する方法。
- 前回までに作成した Access のフォームは、VBA のプログラムの中に、新しいレコードの値を直接書いていました。Call test8.addData(99, "ハワイ")しかしレコードを追加する度に、プログラムを修正するのは面倒です。そこで PREF_CD と PREF_NAME の値を、ユーザーがフォームから入力できるように、改良したいと思います。今のフォームはそのままにして、新しくフォームを作成し、カスタマイズすることにします。カスタマ [続きを読む]
-
|
- 2008/07/16 17:14Access VBA フォームに書いたイベントプロシージャの動作確認をする方法。
- フォームのモジュールにVBA で記述した、イベントプロシージャのプログラムが、正常に動作するか確認してみましょう。今回は動作確認のために、データベースウィンドウ、テーブル、フォーム、VBEの画面を同時に使います。Windows のタスクバーで、画面を上手く切り替えてください。【1】Accessのファイル「SampleDB020.mdb」を起動します。【2】テーブル「T01Prefecture」を開き、「47 沖縄県」の下に、レコードが無い状態にしてく [続きを読む]
-
|
|
|
- 2008/07/16 15:33Access VBA イベントプロシージャを作成する方法。
- VBA のプログラムを、フォームのモジュールに書いてみましょう。実は既に追加のプログラムは完成しているので、標準モジュールのSubプロシージャを呼び出すだけで済みます。今回は新たに「イベントプロシージャ」というものが登場します。これまでのプロシージャとどこが違うのか、注意しながら読んでみてください。【1】Accessのファイル「SampleDB020.mdb」を起動します。【2】VBEを起動し、フォーム「F100Test」のモジュールを. [続きを読む]
-
|
- 2008/07/16 10:57Access VBA フォームのデザインビューからVBEを起動する方法。
- VBA を、フォームのモジュールに書くには、VBEを起動する必要があります。これは標準モジュールの場合と同じですね。・VBA(Visual Basic for Applications)・VBE(Visual Basic Editor)ただしフォームの場合、VBEを起動する方法がいくつもあります。そこで今回は、一通り体験してみることにしましょう。Accessのファイル「SampleDB020.mdb」は、起動しておいてください。■フォームのデザインビューからVBEを起動する方... [続きを読む]
-
|
- 2008/07/14 17:11Access VBA フォームのプロパティを変更する方法。
- VBA でプログラミングする前に、もう少しだけフォームを工夫してみましょう。Accessはフォームにもプロパティがあり、細かい設定ができるようになっています。今回は不要な機能を非表示にしてみましょう。*プロパティとは、性質を表すデータです。【1】Accessのファイル「SampleDB020.mdb」を起動します。【2】データベースウィンドウの「フォーム」を表示します。【3】前回作成した、フォーム「F100Test」を選択して、「開く」を [続きを読む]
-
|
- 2008/07/14 11:24Access VBA フォームを作成する方法。
- VBA のプログラムを、フォームのモジュールに書くためには、まずフォームを作成する必要があります。Accessでフォームを作成するのは、慣れれば簡単なのですが、機能が多いので、初心者は最初のうち戸惑うかもしれません。今回は初めてなので、できるだけ詳しく書きます。次回からは少しずつ手順を省略しますので、フォームの基本的な作り方は、今回で覚えてください。Accessのフォームやレポートは、繰り返し作るうちに、自然に覚 [続きを読む]
-
|
- 2008/07/11 13:16Access VBA フォームから標準モジュールを呼び出す方法。
- VBA で標準モジュールの使い方にも慣れてきた頃だと思います。Accessの標準モジュールは、フォームやレポートに関連付けられていないので、どこからでも実行可能なプロシージャを書くことができます。プロシージャの種類には、Subプロシージャや Functionプロシージャがありましたね。関連付けられていないということは、フォームやレポート無しでも、プログラムのテストができるので、まず最初に学んでもらいました。(重要)初心者 [続きを読む]
-
|
- 2008/07/09 20:20Access VBA SQL文を使った検索、追加、更新、削除の動作確認。
- 前回作成した VBA の標準モジュール「test8」の動作を確認してみましょう。標準モジュールに、同じ名前の Subプロシージャが定義されています。そのため Subプロシージャ の実行方法が、今までと少し違いますので注意してください。【1】Accessのファイル「SampleDB020.mdb」を起動し、テーブル「T01Prefecture」を確認します。「47 沖縄県」の後ろにレコードが無い状態にしてください。【2】VBE を起動して、標準モジュールの tes [続きを読む]
-
|
- 2008/07/09 14:50Access VBA SQL文を使って検索、追加、更新、削除する方法。
- VBA で、SQL文を使ってデータベースを操作することのメリットを、実感できたと思います。そこで今回は、以前に作成した、標準モジュール test6 の検索、追加、更新、削除を、SQL文を使った方法に書き換えてみましょう。・レコードの操作は、T01Prefecture に対して行ないます。(重要)・test6 はそのままにして、新規に test8 を作成します。・test8 の Subプロシージャ名は test6 と同じにします。【1】Accessのファイル「SampleDB [続きを読む]
-
|
- 2008/06/12 11:49Access VBA SQL文を使って更新する方法。
- 解答例の VBA のプログラムでは、全レコードを取り出して1件ずつ処理するので、無駄が多いと言えます。また条件式に変更があった場合は、プログラムを書き換える必要があります。そこで今回は、SQL文を使った方法に変更してみましょう。以下のような、SQL文を使うメリットを感じていただけたらと思います。・SQL文を使ったほうが簡単で強力・データベースと対話するように操作できる・SQL文は文字列なので、組み立てやすい・最小限 [続きを読む]
-
|
- 2008/06/09 16:26Access VBA 課題1の解答例 特定のレコードを更新する方法。
- VBA で特定のレコードだけを更新する課題は、ヒントを見ずに自力でできましたか?それともヒントを見れば、何とか作れたでしょうか。この課題は、今までに学習してきたプログラムを、組み合わせるだけで作ることができます。各ステップごとの要点を理解している人は、多分できたと思います。プログラムはいろんな書き方ができるので、答えは一つではありません。あなたなりの方法でできたのなら、それも正解です。できなかった人も [続きを読む]
-
|
- 2008/06/09 11:53Access VBAの課題1 特定のレコードを更新するには。
- VBA のプログラムで、特定のレコードだけを更新するには、どうしたらいいか考えてみましょう。今まで学習してきたスキルだけで可能です。【課題】PREF_CD が 40 以上の都道府県名の前後に、半角の「*」アスタリスクを、自動的に挿入する。Accessではいろんな方法が用意されていて、答えは一つではありません。すぐに思い付く方法としては、以下の3つがあります。1.更新クエリを使う方法2.プログラムで処理する方法3.SQL文を使う方. [続きを読む]
-
|
- 2008/06/04 14:52Access VBA DAOでレコードを削除する方法。
- VBA でレコードを削除する場合も、要領は更新と同じです。まず該当するレコードまで移動してから、削除する必要があります。今回は更新のプログラムをコピーして、少しだけ変更し、削除のプログラムを作ってみましょう。ここまで Step 順で進めてきた人は、ほとんど説明しなくても理解できると思います。削除はかなり簡単です。【1】Accessのファイル「SampleDB020.mdb」を起動し、テーブル「T01Prefecture」を開きます。【2】一番... [続きを読む]
-
|
- 2008/06/04 11:28Access VBA DAOでレコードを更新する方法。
- VBA で DAO を使って、テーブルにあるレコードを更新(編集)するには、まず該当するレコードまで移動してから、操作する必要があります。そのため先にレコードを検索する方法を学びました。あとは少しプログラムを変更するだけで、簡単にレコードを更新できます。【1】Accessのファイル「SampleDB020.mdb」を起動し、テーブル「T01Prefecture」を開きます。【2】最後のレコードが、「99 ハワイ」になっていることを、確認しておいて... [続きを読む]
-
|
- 2008/06/03 17:06Access VBA DAOでレコードを検索する方法。
- VBA のプログラムから、テーブルにあるレコードを検索してみましょう。Accessで検索する方法はいろいろありますが、今回はインデックスを設定したフィールドを検索できる「Seekメソッド」を使います。実はレコードを検索できるということは、探し出して表示すること以外にも、重要な役割があります。例えばレコードを更新、削除するには、対象となるレコードを検索して、そのレコードまで移動する必要があります。したがって検索は... [続きを読む]
-
|
- 2008/06/02 16:47Access VBA Callステートメントの使い方について。
- VBA では、独自に定義したプロシージャを呼び出す時に、「Call ステートメント」を使います。これまでにも何度か Call ステートメントを使用していますが、プロシージャの種類、引数の有無、戻り値の有無によって、呼び出し方がいろいろあります。そこで今回は、Call ステートメントとプロシージャの呼び出し方の関係について、整理しておくことにします。(1)Call ステートメントを使うのは、以下の場合です。・Subプロシージャを... [続きを読む]
-
|
- 2008/06/02 14:47Access VBA DAOでレコードを追加する方法。
- VBA のプログラムから、DAOを使ってレコードを追加してみましょう。VBAから Access のテーブルにレコードを追加するには、いくつか方法があります。まずは Recordsetオブジェクトの AddNew メソッドを使う方法です。【1】Accessのファイル「SampleDB020.mdb」を起動し、テーブル「T01Prefecture」を開きます。【2】最後のレコードが、「47 沖縄県」になっていることを、確認しておいてください。レコードを確認したらテーブルを閉 [続きを読む]
-
|
- 2008/05/29 11:49Access VBA SQL文のチェックにイミディエイト ウィンドウを使う方法。
- VBA のプログラミングで、とても便利なSQL文ですが、あらかじめ用意されている予約語などの命令に比べると、間違いに気付き難いということがあります。SQL文のチェックに便利なのが、イミディエイト ウィンドウです。上手く活用すると、SQL文の間違いを見つけやすくなります。今回はイミディエイト ウィンドウを使った、SQL文のチェック方法をいくつか紹介します。【1】Access で VBEを起動し、標準モジュールの test6 を表示しま [続きを読む]
-
|
- 2008/05/29 10:23Access VBA レコードの表示にSQL文を使う方法。
- VBA のプログラムでは、よくSQL文が使われます。前回、OpenRecordset() の引数にテーブル名を使いましたが、SQL文でも同じ結果になることを確認してみましょう。さらにSQL文を使うことのメリットを考えながら試してください。テーブル名の場合は表示が固定されていましたが、SQL文の場合は自由自在に変化させることができます。【1】Access で VBEを起動し、標準モジュールの test6 を表示します。*VBEは「Altキー」+「F11キー」... [続きを読む]
-
|
- 2008/05/28 15:05Access VBA レコードを表示するプログラムの解説。
- 前回作成した、DAOを使って Access のテーブルからレコードを表示する VBA のプログラムについて説明します。簡単にまとめると、レコードセットを取得し、Do Untilステートメントで、レコードの終端になるまでの間、フィールドの値を取り出して、イミディエイト ウィンドウに表示し、次のレコードに進む、という処理を繰り返しています。*レコードセットとは、レコードの集まりだとイメージしてください。それでは前回のプログラ [続きを読む]
-
|
- 2008/05/28 14:05Access VBA DAOでレコードを表示する方法。
- VBA で DAO を利用して、 Access のテーブルにあるレコードを、イミディエイト ウィンドウに表示してみましょう。既に DAO を使って、データベースに接続・切断を行なう方法は説明したので、あとはプログラムを数行加えるだけで、簡単にレコードを表示できます。これから先のサンプルプログラムは、カレントデータベースを対象としています。【1】Accessのファイル「SampleDB020.mdb」を起動し、データベースウィンドウの「テーブ... [続きを読む]
-
|
- 2008/05/27 16:56Access VBA 外部のデータベースに接続・切断する方法。
- VBA で DAO を使用すると、カレントデータベース以外に、外部のデータベースにも接続することができます。外部のデータベースとは、VBA のプログラムを書いているデータベースとは別の「mdbファイル」のことです。外部のデータベースに接続できると、データを複数のファイルに分散して保存したり、プログラムとデータを分離できるので、メンテナンスしやすくなります。カレントデータベースの場合に比べて、少しだけプログラムが増... [続きを読む]
-
|