<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns="http://purl.org/rss/1.0/"
>

<channel rdf:about="http://vba.officehp.com/">
<title>Access VBA 初心者入門講座</title>
<link>http://vba.officehp.com/</link>
<description>Accessでよく使われるVBAの使い方を、初心者向けに図を交えて詳しく解説します。VBAを基礎から学べます。</description>
<dc:language>ja</dc:language>
<admin:generatorAgent rdf:resource="https://blog.seesaa.jp/" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://vba.officehp.com/article/445699200.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/432299069.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/410858271.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/106598893.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/105101755.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/104936288.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/103121284.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/103000090.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/102995704.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/102982829.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/102880014.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/102863464.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/102639507.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/102529099.html" />
<rdf:li rdf:resource="http://vba.officehp.com/article/102507233.html" />
</rdf:Seq>
</items>
</channel>

<item rdf:about="http://vba.officehp.com/article/445699200.html">
<link>http://vba.officehp.com/article/445699200.html</link>
<title>Access VBAとVisual Basicの違いについて。</title>
<description>AccessのVBAとVisual Basicとの違いについて考えてみましょう。AccessでVBAプログラミングを始めた初心者が、ちょっと気になるところですよね。Accessで学んだ後に、より本格的なVisual Basicに進む人も多いですから。まずは略語の意味です。・VBA(Visual Basic for Applications)・VB(Visual Basic)VBA は VB を基に作られたため、文法はそっくりです。VB の機能縮小版と言ったところです。どちらも..</description>
<dc:subject>Access VBAとVBの違い</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2017-01-08T09:53:45+09:00</dc:date>
<content:encoded><![CDATA[
<strong>Access</strong>の<strong>VBA</strong>とVisual Basicとの違いについて考えてみましょう。<br /><br />AccessでVBAプログラミングを始めた初心者が、ちょっと気になるところですよね。<br /><br />Accessで学んだ後に、より本格的なVisual Basicに進む人も多いですから。<br /><br />まずは略語の意味です。<br />・VBA(Visual Basic for Applications)<br />・VB(Visual Basic)<br /><br />VBA は VB を基に作られたため、文法はそっくりです。<br />VB の機能縮小版と言ったところです。<br /><br />どちらもMicrosoft社のプログラミング言語なので、かなり近いことは確かです。<br /><br />ほとんどは同じなんですが、やはり違いがあります。<br /><br />VBAはMicrosoft社の Office 製品専用のプログラミング言語です。<br /><br />だからVBA は Office 製品がインストールされていないパソコンだと動きません。<br /><br />Accessをはじめ Excel や PowerPoint などの Office 製品が入っているパソコンだと、<br />VBE(Visual Basic Editor)という統合開発環境が使えます。<br /><br />それに対し、VBはVisual Studioという統合開発環境をインストールしてプログラムを書きます。<br /><br />Visual Studioには、有料版と無料版があります。<br />個人利用や教育目的など、条件を満たしている場合は、無料で利用できます。<br /><br />VB は Windows 上で動作するアプリケーションソフトが開発できます。<br /><br />実はVisual Studioでは、VB以外にもVisual C、Fなど他のプログラミング言語でも開発できます。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-383.jpg" target="_blank"><img border="0" alt="Visual Basic" src="http://access-vba.up.seesaa.net/image/access-vba-383-thumbnail2.jpg" width="94" height="150"></a><br /><br />VBでの開発は、ごく一面に過ぎないことが分かると思います。<br /><br />また、Accessのフォームと、VBのフォームでは、部品のプロパティが違います。<br /><br />以下はVBのテキストボックスのプロパティの一部です。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-384.jpg" target="_blank"><img border="0" alt="Visual Basic" src="http://access-vba.up.seesaa.net/image/access-vba-384-thumbnail2.jpg" width="139" height="150"></a><br /><br />項目が多いので、全部は見せることができませんが、VBの方がより細かい設定ができます。<br /><br />プログラミングでは、オブジェクトやプロパティーを操作しますから、<br />VBの方がより細かい制御が出来るわけです。<br /><br />もちろん、使えるメソッドや関数も違いが出てきます。<br /><br />私が業務用システム開発をして感じたのは、<br />よく使うコンボボックスという部品一つ見ても、差があるなーと思ったことです。<br /><br />Accessのコンボボックスのプロパティーは、<br />プログラミング初心者でも分かりやすいのがメリットですが、<br /><br />より細かい制御では、VBの方がはるかに優れていると実感しました。<br /><br />その分、プログラミングには手間がかかりますがｗ<br /><br />したがってAccessの機能で十分ならそれでも良いし、<br />より細かい制御をしたい場合は、Visual Basicを次の選択肢に入れると良いでしょう。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/432299069.html">
<link>http://vba.officehp.com/article/432299069.html</link>
<title>Access VBA基礎の復習とまとめ。</title>
<description>VBAプログラミングの基礎をAccess(アクセス)で学んできました。重要なポイントをまとめたので、復習を兼ねて、もう一度確認しておきましょう。(1)VBAのプログラムはモジュールに書く。(種類がある)・標準モジュール・クラスモジュール　フォームやレポートに関連したもの標準モジュールは、複数のフォームやレポートで、共通して使う処理を書いておけます。例えば、「データベースに接続する」などのよく使う処理や、何度も使う計算など。標準モジュールで、プログラムの無駄な重複が防げます。ま..</description>
<dc:subject>Access VBA基礎のまとめ</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2016-01-08T19:55:10+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong>プログラミングの基礎を<strong>Access</strong>(アクセス)で学んできました。<br /><br />重要なポイントをまとめたので、復習を兼ねて、もう一度確認しておきましょう。<br /><br />(1)VBAのプログラムはモジュールに書く。(種類がある)<br />・標準モジュール<br />・クラスモジュール　フォームやレポートに関連したもの<br /><br />標準モジュールは、複数のフォームやレポートで、共通して使う処理を書いておけます。<br /><br />例えば、「データベースに接続する」などのよく使う処理や、何度も使う計算など。<br /><br />標準モジュールで、プログラムの無駄な重複が防げます。<br /><br />またフォームやレポートに関連付けられたモジュールを、クラスモジュールと言います。<br /><br />実はクラスモジュールには2種類あります。<br /><br />でもVBAプログラミング初心者でしたら、<br />フォームやレポートに直接記述する方法だけ知っておけば大丈夫です。<br /><br />(2)プロシージャはプログラム実行の最小単位である。<br />一つのモジュールには、プロシージャを複数書くことができます。<br /><br />また、プロシージャは複数行で記述されます。<br />各1行がステートメントと言います。<br /><br />(3)プロシージャには種類がある。<br />・イベントプロシージャ<br />・Functionプロシージャ<br />・Subプロシージャ<br />・Propertyプロシージャ<br /><br />イベントプロシージャとは、何かイベント(出来事)が起こった時に、<br />Accessから自動的に呼び出されるプロシージャのことです。<br /><br />例えば、コマンドボタンをクリックした時、フォームを開いた時など。<br /><br />Functionプロシージャは、何らかの計算をし、値を返す関数などを作る時に使います。<br /><br />Subプロシージャは、よく使う処理を書いておけます。<br /><br />他のプロシージャから呼び出して使います。<br /><br />FunctionプロシージャやSubプロシージャを上手く使えば、<br />呼び出し元のプログラムがシンプルに記述できます。<br /><br />Propertyプロシージャは、独自のプロパティを作成したい時に使いますが、<br />VBAプログラミング初心者は使わなくても大丈夫です。<br /><br />(4)変数や定数の宣言<br />変数や定数は、宣言してから使うことをおすすめします。<br /><br />また有効範囲(スコープ)がある点に注意。<br /><br />基本はプロシージャ内で宣言した変数は、そのプロシージャだけで有効なことです。<br /><br />複数のプロシージャで共通して使う変数や定数は、<br />プロシージャの外に記述します。(宣言セクションに)<br /><br />以上のポイントを押さえておけば、VBAプログラミングの基礎は大丈夫です。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/410858271.html">
<link>http://vba.officehp.com/article/410858271.html</link>
<title>AccessでVBAを学ぶメリットとは？</title>
<description>AccessでVBAを学ぶメリットをまとめてみます。VBAはExcelなど、他のマイクロソフト社製 Officeアプリケーションソフトでも使うことができます。例えば、ExcelでもVBAを使ってプログラミングをする人は多いです。では、わざわざAccessでVBA言語を学ぶことには、どんなメリットがあるのでしょうか？何といってもAccessはデータベースなので、データの蓄積や加工、利用面、応用範囲の広さで優れています。特に業務システムを作るには、最適なアプリケーションソフトです..</description>
<dc:subject>AccessでVBAを学ぶメリット</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2014-12-18T13:37:02+09:00</dc:date>
<content:encoded><![CDATA[
<strong>Access</strong>で<strong>VBA</strong>を学ぶメリットをまとめてみます。<br /><br />VBAはExcelなど、他のマイクロソフト社製 Officeアプリケーションソフトでも使うことができます。<br /><br />例えば、ExcelでもVBAを使ってプログラミングをする人は多いです。<br /><br />では、わざわざAccessでVBA言語を学ぶことには、どんなメリットがあるのでしょうか？<br /><br />何といってもAccessはデータベースなので、<br /><br />データの蓄積や加工、利用面、応用範囲の広さで優れています。<br /><br />特に業務システムを作るには、最適なアプリケーションソフトです。<br /><br />AccessはExcelよりも、本格的なシステムを構築できるのが、最大のメリットです。<br /><br />Accessには、クエリーやマクロといった優れた機能があるので、<br /><br />わざわざVBAでプログラミングしなくても、ある程度のシステムは作れてしまいます。<br /><br />何故プログラミングが必要なのか？<br /><br />確かに初心者にとっては、プログラミングを書くことなく処理を行えるマクロは便利です。<br /><br />クエリーもGUIによって視覚的にデータベースを操作できます。<br /><br />しかし、システムで細かい制御が必要になってくると、<br /><br />クエリーやマクロだけでは、限界があります。<br /><br />その点、VBAではSQL文を自由自在に組み立てたり、<br /><br />SQL文を通して、データベースを強力に操作することができます。<br /><br />画面上の部品のコントロールも自在。<br /><br />もちろんVBAはプログラミング言語なので、処理の繰り返しや自動化は大得意です。<br /><br />VBAで書いたプログラムやSQL文は、全体を見渡しやすいので、<br /><br />慣れてくると、こちらのほうがパッと見、分かりやすいくらいです。<br /><br />つまり、Accessでのシステム構築に慣れてくるほど、<br /><br />VBA言語やSQL文を使ったプログラミングのほうが、<br /><br />どんな処理をやっているのか、一目で分かる、処理が明確だというメリットがあるのです。<br /><br />分かりやすいシステムのほうが、後々の改良、メンテナンスもし易いと言えます。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/106598893.html">
<link>http://vba.officehp.com/article/106598893.html</link>
<title>Access VBA プログラムの書き方はいろいろあります。</title>
<description>VBA のプログラムの書き方は、いろいろあります。プログラミングでは、実行速度など効率を気にしなければ、正解はいくつもあるということです。今回は復習を兼ねて、もう一つフォームを作り、別の書き方をしてみましょう。押えておいて欲しいポイントは、以下の通りです。・フォームのコピーの仕方・関数の戻り値について・戻り値を受け取る変数のデータ型・関数の引数のデータ型に気をつける・データ型を変換する方法【1】Accessのファイル「SampleDB020.mdb」を起動します。【2】フォー..</description>
<dc:subject>Step43・プログラムの書き方はいろいろ</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-09-15T16:13:06+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong> のプログラムの書き方は、いろいろあります。プログラミングでは、実行速度など効率を気にしなければ、正解はいくつもあるということです。<br /><br />今回は復習を兼ねて、もう一つフォームを作り、別の書き方をしてみましょう。<br /><br />押えておいて欲しいポイントは、以下の通りです。<br />・フォームのコピーの仕方<br />・関数の戻り値について<br />・戻り値を受け取る変数のデータ型<br />・関数の引数のデータ型に気をつける<br />・データ型を変換する方法<br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動します。<br /><br /><br />【2】フォーム「F101Test」をコピーして、「F102Test」を作成します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-377.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-377-thumbnail2.gif" alt="access-vba-377.gif" width="150" height="107" border="0" /></a><br /><br /><br />【3】フォーム「F102Test」のコードを表示します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-378.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-378-thumbnail2.gif" alt="access-vba-378.gif" width="150" height="119" border="0" /></a><br /><br />＊VBEを起動するということです。<br /><br /><br />【4】VBEが起動したら、フォーム「F102Test」のモジュールが操作の対象となっていることを、必ず確認してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-379.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-379-thumbnail2.gif" alt="access-vba-379.gif" width="150" height="145" border="0" /></a><br /><br /><br />【5】コマンドボタンをクリック時のイベントプロシージャを、以下のように修正します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-381.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-381-thumbnail2.gif" alt="access-vba-381.gif" width="150" height="45" border="0" /></a><br /><br /><div class="pg"><br />Private Sub cmdAdd_Click()<br />&nbsp;&nbsp;Dim cdValue As String<br />&nbsp;&nbsp;Dim nameValue As String<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;cdValue = InputBox("PREF_CD を入力してください。", "PREF_CD")<br />&nbsp;&nbsp;nameValue = InputBox("PREF_NAME を入力してください。", "PREF_NAME")<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Call test8.addData(CInt(cdValue), nameValue)<br />&nbsp;&nbsp;MsgBox "追加完了"<br />End Sub<br /></div><br /><br /><br />【6】ここまでの作業を「保存」してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-382.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-382-thumbnail2.gif" alt="access-vba-382.gif" width="150" height="97" border="0" /></a><br /><br /><br />【7】あとは前回と同じ要領で、フォーム「F102Test」の動作を確認してみてください。<br /><br /><br />【解説】<br />変更のあった場所だけ赤枠で囲んでみました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-380.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-380-thumbnail2.gif" alt="access-vba-380.gif" width="150" height="45" border="0" /></a><br /><br />(1)PREF_CDを保存しておくための変数を、「文字列型」に変更しました。<br />Dim cdValue As String<br /><br /><br />(2)InputBox関数の戻り値は文字列型なので、そのまま代入できます。<br />cdValue = InputBox("PREF_CD を入力してください。", "PREF_CD")<br /><br /><br />(3)しかし標準モジュール test8.addData() の最初の引数は数値型なので、データ型変換関数の CInt() を使い、文字列を整数型に変換してから渡しています。<br />Call test8.addData(CInt(cdValue), nameValue)<br /><br />このように関数の引数には、別の関数を指定して、その戻り値を利用できます。関数部分が戻り値に置き換わるとイメージすると、納得できると思います。<br /><br />Call test8.addData(CInt(cdValue), nameValue)<br />↓<br />Call test8.addData(99, nameValue)<br /><br />CInt(cdValue) が 99 になるわけです。<br /><br /><br />【ワンポイント】<br />以上のように、プログラミングでは、ある程度プログラマーが自由に書くことができます。同じ動作をするプログラムでも、プログラマーによってソースコードが変わってきます。<br /><br />したがって正解は無いのですが、「プログラムの読み易さ」や「効率の良いプログラム」を意識して作るようにすると良いでしょう。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/105101755.html">
<link>http://vba.officehp.com/article/105101755.html</link>
<title>Access VBA インプットボックスの動作を確認する方法。</title>
<description>VBA で記述した、インプットボックス(InputBox関数)が、思ったとおりに動作するか、確認してみましょう。インプットボックスを使うと、処理の途中でユーザーが自由に値を入力できるようになり、とても便利です。インプットボックスのメリットは、プログラムの中から簡単に呼び出せるため、フォームのデザインなどの変更が、不要だということです。ちょっとしたデータを入力したい時に役立つ方法です。【1】Accessのファイル「SampleDB020.mdb」を起動します。【2】テーブル「T..</description>
<dc:subject>Step42・インプットボックスの動作確認</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-08-21T13:52:00+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong> で記述した、インプットボックス(InputBox関数)が、思ったとおりに動作するか、確認してみましょう。<br /><br />インプットボックスを使うと、処理の途中でユーザーが自由に値を入力できるようになり、とても便利です。<br /><br />インプットボックスのメリットは、プログラムの中から簡単に呼び出せるため、フォームのデザインなどの変更が、不要だということです。<br /><br />ちょっとしたデータを入力したい時に役立つ方法です。<br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動します。<br /><br /><br />【2】テーブル「T01Prefecture」を開き、「47 沖縄県」の下に、レコードが無い状態にしてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-364.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-364-thumbnail2.gif" alt="access-vba-364.gif" width="121" height="150" border="0" /></a><br /><br />＊テーブルはいったん閉じておきます。<br /><br /><br />【3】フォーム「F101Test」を選択し、「開く」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-365.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-365-thumbnail2.gif" alt="access-vba-365.gif" width="150" height="108" border="0" /></a><br /><br /><br />それでは動作を確認してみましょう。<br /><br />【4】コマンドボタンの「レコード追加」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-366.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-366-thumbnail2.gif" alt="access-vba-366.gif" width="150" height="60" border="0" /></a><br /><br /><br />【5】最初のインプットボックスが表示されました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-367.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-367-thumbnail2.gif" alt="access-vba-367.gif" width="150" height="58" border="0" /></a><br /><br />実際に表示されたタイトルやメッセージと、プログラムの引数の関係を掴んでください。<br />cdValue = CInt(InputBox("PREF_CD を入力してください。", "PREF_CD"))<br /><br /><br />【6】必ず半角数字で「99」と入力して、「OK」ボタンをクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-368.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-368-thumbnail2.gif" alt="access-vba-368.gif" width="150" height="43" border="0" /></a><br /><br />＊全角だと数値型に変換できないため、エラーになります。<br /><br /><br />【7】2番目のインプットボックスが表示されたら、「ハワイ」と入力して、「OK」ボタンをクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-369.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-369-thumbnail2.gif" alt="access-vba-369.gif" width="150" height="42" border="0" /></a><br /><br />同様にプログラムとの関係を掴んでください。<br />nameValue = InputBox("PREF_NAME を入力してください。", "PREF_NAME")<br /><br /><br />【8】「追加完了」というメッセージボックスが表示されたら、「OK」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-370.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-370-thumbnail2.gif" alt="access-vba-370.gif" width="150" height="114" border="0" /></a><br /><br />これでレコードが追加されました。<br /><br /><br />【9】フォーム「F101Test」を閉じてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-371.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-371-thumbnail2.gif" alt="access-vba-371.gif" width="150" height="70" border="0" /></a><br /><br /><br />【10】テーブル「T01Prefecture」を開き、レコードが追加されていることを確認しましょう。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-372.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-372-thumbnail2.gif" alt="access-vba-372.gif" width="114" height="150" border="0" /></a><br /><br />余裕がある場合は、VBEに切り替えて、イミディエイト ウィンドウで結果を確認したり、ブレイクポイントを設定して、プログラムを追ってみると、より理解が深まります。<br /><br /><br />【ワンポイント】<br />フォーム「F101Test」と「F100Test」は、同じように標準モジュールの test8.addData() を呼び出しています。<br /><br />標準モジュールを使うと、複数のフォームから共通して使える(呼び出せる)プログラムが作れます。そのため、処理に修正が出た場合は、標準モジュール側だけの変更で済むメリットがあります。<br /><br />もし各フォームに追加のプログラムを、別々に書いていた場合は、修正箇所が複数になるため、メンテナンスに手間がかかり、ミスの原因にもなります。<br /><br />「共通して使えるプログラムは標準モジュールに」ということを覚えておきましょう。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/104936288.html">
<link>http://vba.officehp.com/article/104936288.html</link>
<title>Access VBA インプットボックス(InputBox関数)を使う方法。</title>
<description>VBA を使い、ユーザーが値を入力できるようにするには、いくつか方法があります。Accessのフォームに、テキストボックスを配置する方法が一般的ですが、今回はプログラムの中から簡単に利用できる、インプットボックス(InputBox関数)を使ってみることにしましょう。インプットボックスなら、フォームを変更することなく利用できます。前回コピーして作成した、フォーム「F101Test」を使います。【1】Accessのファイル「SampleDB020.mdb」を起動します。【2】フォ..</description>
<dc:subject>Step41・インプットボックスを使う方法</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-08-18T13:20:45+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong> を使い、ユーザーが値を入力できるようにするには、いくつか方法があります。<br /><br />Accessのフォームに、テキストボックスを配置する方法が一般的ですが、今回はプログラムの中から簡単に利用できる、インプットボックス(InputBox関数)を使ってみることにしましょう。インプットボックスなら、フォームを変更することなく利用できます。<br /><br />前回コピーして作成した、フォーム「F101Test」を使います。<br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動します。<br /><br /><br />【2】フォーム「F101Test」を選択し、ツールバーの「コード」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-375.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-375-thumbnail2.gif" alt="access-vba-375.gif" width="150" height="104" border="0" /></a><br /><br />＊このようなVBEの表示の仕方も覚えておくと便利です。<br /><br /><br />【3】VBEが起動しました。フォーム「F101Test」のモジュールが操作の対象となっていることを、必ず確認してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-362.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-362-thumbnail2.gif" alt="access-vba-362.gif" width="150" height="83" border="0" /></a><br /><br />＊コピーしたものなので、イベントプロシージャが既に書かれています。<br /><br /><br />【4】コマンドボタンをクリック時のイベントプロシージャを、以下のように修正します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-363.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-363-thumbnail2.gif" alt="access-vba-363.gif" width="150" height="65" border="0" /></a><br /><br /><div class="pg"><br />Private Sub cmdAdd_Click()<br />&nbsp;&nbsp;Dim cdValue As Integer<br />&nbsp;&nbsp;Dim nameValue As String<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;cdValue = CInt(InputBox("PREF_CD を入力してください。", "PREF_CD"))<br />&nbsp;&nbsp;nameValue = InputBox("PREF_NAME を入力してください。", "PREF_NAME")<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Call test8.addData(cdValue, nameValue)<br />&nbsp;&nbsp;MsgBox "追加完了"<br />End Sub<br /></div><br /><br /><br />【5】ここまでの作業を「保存」してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-376.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-376-thumbnail2.gif" alt="access-vba-376.gif" width="150" height="80" border="0" /></a><br /><br />変更点はたったこれだけです。既にインプットボックスから値を入力できるようになっています。<br /><br /><br />【解説】<br /><br />(1)変数を宣言している部分です。<br />Dim cdValue As Integer　整数型<br />Dim nameValue As String　文字列型<br /><br />変数名は何でもかまいません。プロシージャ内で宣言した変数は、そのプロシージャ内だけが有効範囲なので、他のプロシージャに同名の変数があっても区別されます。<br /><br />＊変数の有効範囲をスコープと言います。<br /><br />今回は標準モジュール側と明確に区別するため、わざと別名を付けていますが、同じ名前でも大丈夫です。<br /><br /><br />(2)InputBox 関数を使い、PREF_CDの値を取得している部分です。<br />cdValue = CInt(InputBox("PREF_CD を入力してください。", "PREF_CD"))<br /><br />InputBox 関数の最初の引数は、表示するメッセージで、2番目の引数はタイトルです。文字列なら何でもかまいません。<br /><br />ポイントは InputBox 関数は、『文字列型の値を返す』ということです。そのままでは整数型の変数に代入することができません。そこでデータ型変換関数の CInt() を使い、文字列を整数型に変換してから代入しています。<br /><br /><br />(3)PREF_NAMEの値は、もともと文字列型なので、そのまま代入できます。<br />nameValue = InputBox("PREF_NAME を入力してください。", "PREF_NAME")<br /><br /><br />(4)あとは変数を引数に指定して、標準モジュールの Subプロシージャ を呼び出すだけです。<br />Call test8.addData(cdValue, nameValue)<br /><br />この時、引数のデータ型に注意してください。標準モジュールの Subプロシージャ 側は以下のように定義しましたね。<br /><br />test8.addData<br /><div class="pg"><br />Sub addData(pCd As Integer, pName As String)<br />&nbsp;&nbsp;省略<br />End Sub<br /></div><br /><br />つまり呼び出す側の引数の「データ型、順番、数」を、呼び出される側と一致させる必要があるのです。<br /><br />そのため変数 cdValue は整数型に、nameValueは文字列型にしています。<br /><br /><br />【ワンポイント】<br />InputBox 関数には、引数が多くありますが、そのほとんどが省略可能となっています。<br />InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])<br /><br />引数を指定することで、規定値を設定したり、InputBoxの表示位置などが調整できます。<br />もっと詳しく知りたい場合は、 Microsoft Visual Basic のヘルプをご覧ください。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/103121284.html">
<link>http://vba.officehp.com/article/103121284.html</link>
<title>Access VBA フォームをコピー(複製)する方法。</title>
<description>前回までに作成した Access のフォームは、VBA のプログラムの中に、新しいレコードの値を直接書いていました。Call test8.addData(99, &quot;ハワイ&quot;)しかしレコードを追加する度に、プログラムを修正するのは面倒です。そこで PREF_CD と PREF_NAME の値を、ユーザーがフォームから入力できるように、改良したいと思います。今のフォームはそのままにして、新しくフォームを作成し、カスタマイズすることにします。カスタマイズとは、好みに合わせて作り変え..</description>
<dc:subject>Step40・フォームをコピーする</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-07-18T14:40:48+09:00</dc:date>
<content:encoded><![CDATA[
前回までに作成した Access のフォームは、<strong>VBA</strong> のプログラムの中に、新しいレコードの値を直接書いていました。<br /><br />Call test8.addData(99, "ハワイ")<br /><br />しかしレコードを追加する度に、プログラムを修正するのは面倒です。<br /><br />そこで PREF_CD と PREF_NAME の値を、ユーザーがフォームから入力できるように、改良したいと思います。<br /><br />今のフォームはそのままにして、新しくフォームを作成し、カスタマイズすることにします。カスタマイズとは、好みに合わせて作り変えることです。<br /><br />でもほとんど同じフォームを、またゼロから作るのは無駄が多いです。そんな時は、Accessにはフォームをコピーする機能があるので、活用しましょう。<br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動します。<br /><br /><br />【2】フォーム「F100Test」を、マウスで右クリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-348.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-348-thumbnail2.gif" alt="access-vba-348.gif" width="150" height="107" border="0" /></a><br /><br /><br />【3】コンテキストメニューが表示されたら、「コピー」を選択します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-347.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-347-thumbnail2.gif" alt="access-vba-347.gif" width="150" height="113" border="0" /></a><br /><br /><br />【4】データベースウィンドウの中で、何も無い余白部分を右クリックし、「貼り付け」を選択します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-349.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-349-thumbnail2.gif" alt="access-vba-349.gif" width="150" height="111" border="0" /></a><br /><br /><br />【5】フォーム名に「F101Test」と入力し、「OK」ボタンをクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-350.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-350-thumbnail2.gif" alt="access-vba-350.gif" width="150" height="33" border="0" /></a><br /><br /><br />【6】フォーム「F101Test」が作成されました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-351.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-351-thumbnail2.gif" alt="access-vba-351.gif" width="150" height="107" border="0" /></a><br /><br /><br />【7】フォーム「F101Test」を選択し、「デザイン」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-352.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-352-thumbnail2.gif" alt="access-vba-352.gif" width="150" height="107" border="0" /></a><br /><br /><br />【8】デザインビューが開きました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-353.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-353-thumbnail2.gif" alt="access-vba-353.gif" width="150" height="75" border="0" /></a><br /><br />コピーなので、デザインはまったく同じです。コマンドボタンも配置済みです。<br /><br /><br />【9】VBEを起動するため、ツールバーにある「コード」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-354.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-354-thumbnail2.gif" alt="access-vba-354.gif" width="150" height="108" border="0" /></a><br /><br /><br />【10】VBEが起動しました。プロジェクト エクスプローラに、「F101Test」が表示されていることを確認してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-355.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-355-thumbnail2.gif" alt="access-vba-355.gif" width="150" height="80" border="0" /></a><br /><br /><br />【11】フォームが複数ある場合は、VBEのタイトルを見て、現在どのフォームが操作の対象となっているか、必ず確認するようにしてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-356.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-356-thumbnail2.gif" alt="access-vba-356.gif" width="150" height="86" border="0" /></a><br /><br /><br />【12】フォームをコピーすると、VBAのプログラムもコピーされていることに注目してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-357.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-357-thumbnail2.gif" alt="access-vba-357.gif" width="150" height="80" border="0" /></a><br /><br /><br />【13】もちろんフォームやコマンドボタンのプロパティの設定も、同じになっています。<br /><br />・フォームのプロパティ<br /><a href="http://access-vba.up.seesaa.net/image/access-vba-360.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-360-thumbnail2.gif" alt="access-vba-360.gif" width="150" height="115" border="0" /></a><br /><br />・コマンドボタンのプロパティ<br /><a href="http://access-vba.up.seesaa.net/image/access-vba-359.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-359-thumbnail2.gif" alt="access-vba-359.gif" width="150" height="115" border="0" /></a><br /><br /><br />【14】フォームの動作を確認しても、コピー元と同じように動きます。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-358.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-358-thumbnail2.gif" alt="access-vba-358.gif" width="150" height="110" border="0" /></a><br /><br /><br />【解説】<br />Accessでフォームをコピーすると、まったく同じデザインのフォームが作成されます。プロパティの設定も同じで、VBAのプログラムもコピーされます。<br /><br />似たようなフォームは、コピーしてからカスタマイズすると、効率的に開発できます。<br /><br />またフォームに大きな変更を加える前に、保存用としてコピーすることもあります。<br /><br />コピーはよく使う機能なので、覚えておくと便利です。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/103000090.html">
<link>http://vba.officehp.com/article/103000090.html</link>
<title>Access VBA フォームに書いたイベントプロシージャの動作確認をする方法。</title>
<description>フォームのモジュールにVBA で記述した、イベントプロシージャのプログラムが、正常に動作するか確認してみましょう。今回は動作確認のために、データベースウィンドウ、テーブル、フォーム、VBEの画面を同時に使います。Windows のタスクバーで、画面を上手く切り替えてください。【1】Accessのファイル「SampleDB020.mdb」を起動します。【2】テーブル「T01Prefecture」を開き、「47 沖縄県」の下に、レコードが無い状態にしてください。＊テーブルはいった..</description>
<dc:subject>Step39・フォームの動作確認</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-07-16T17:14:15+09:00</dc:date>
<content:encoded><![CDATA[
フォームのモジュールに<strong>VBA</strong> で記述した、イベントプロシージャのプログラムが、正常に動作するか確認してみましょう。<br /><br />今回は動作確認のために、データベースウィンドウ、テーブル、フォーム、VBEの画面を同時に使います。Windows のタスクバーで、画面を上手く切り替えてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-344.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-344-thumbnail2.gif" alt="access-vba-344.gif" width="150" height="51" border="0" /></a><br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動します。<br /><br /><br />【2】テーブル「T01Prefecture」を開き、「47 沖縄県」の下に、レコードが無い状態にしてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-337.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-337-thumbnail2.gif" alt="access-vba-337.gif" width="116" height="150" border="0" /></a><br /><br />＊テーブルはいったん閉じておきます。<br /><br /><br />【3】VBEを起動し、フォーム「F100Test」のモジュールを表示してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-338.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-338-thumbnail2.gif" alt="access-vba-338.gif" width="150" height="73" border="0" /></a><br /><br />VBEを表示したのは、イミディエイト ウィンドウを使うためです。フォームを実行する時に、必ずVBEを開く必要があるわけではありません。<br /><br /><br />【4】フォームで「F100Test」を選択し、「開く」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-334.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-334-thumbnail2.gif" alt="access-vba-334.gif" width="150" height="107" border="0" /></a><br /><br /><br />【5】フォーム「F100Test」が表示されました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-335.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-335-thumbnail2.gif" alt="access-vba-335.gif" width="150" height="62" border="0" /></a><br /><br /><br />【6】コマンドボタンの「レコード追加」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-336.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-336-thumbnail2.gif" alt="access-vba-336.gif" width="150" height="62" border="0" /></a><br /><br />この瞬間に、クリック時のイベントが発生し、イベントプロシージャが自動的に呼び出され、中に書いたプログラムが実行されます。<br /><br /><br />【7】「追加完了」というメッセージボックスが表示されたら、「OK」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-341.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-341-thumbnail2.gif" alt="access-vba-341.gif" width="150" height="116" border="0" /></a><br /><br />この段階で、レコード追加の処理は終わっています。<br /><br /><br />【8】VBEに切り替え、イミディエイト ウィンドウを確認してみましょう。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-342.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-342-thumbnail2.gif" alt="access-vba-342.gif" width="150" height="55" border="0" /></a><br /><br />イミディエイト ウィンドウへの表示は、プログラマーの確認用に使っているだけなので、実際には省略してもかまいません。<br /><br /><br />【9】テーブル「T01Prefecture」を開き、レコードが追加されていることを確認しましょう。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-343.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-343-thumbnail2.gif" alt="access-vba-343.gif" width="114" height="150" border="0" /></a><br /><br /><br />【10】同様に、何度か動作確認を繰り返してください。<br /><br />2回目は、VBEでブレークポイントを設定して、ワンステップごとに確認すると、より理解が深まります。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-345.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-345-thumbnail2.gif" alt="access-vba-345.gif" width="150" height="64" border="0" /></a><br /><br />「ステップイン」を使うと、標準モジュールのSubプロシージャに、処理が移ることがよくわかります。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-346.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-346-thumbnail2.gif" alt="access-vba-346.gif" width="150" height="89" border="0" /></a><br /><br /><br />【ワンポイント】<br />テーブルを開いたままレコードを追加した場合、結果がすぐに反映されません。だからテーブルをいったん閉じておいたのです。<br /><br />反映されていない場合は、再度テーブルを開き直せば、表示されます。<br /><br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/102995704.html">
<link>http://vba.officehp.com/article/102995704.html</link>
<title>Access VBA イベントプロシージャを作成する方法。</title>
<description>VBA のプログラムを、フォームのモジュールに書いてみましょう。実は既に追加のプログラムは完成しているので、標準モジュールのSubプロシージャを呼び出すだけで済みます。今回は新たに「イベントプロシージャ」というものが登場します。これまでのプロシージャとどこが違うのか、注意しながら読んでみてください。【1】Accessのファイル「SampleDB020.mdb」を起動します。【2】VBEを起動し、フォーム「F100Test」のモジュールを表示してください。【3】フォームのモジュ..</description>
<dc:subject>Step38・イベントプロシージャを作成する</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-07-16T15:33:22+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong> のプログラムを、フォームのモジュールに書いてみましょう。<br /><br />実は既に追加のプログラムは完成しているので、標準モジュールのSubプロシージャを呼び出すだけで済みます。<br /><br />今回は新たに「イベントプロシージャ」というものが登場します。これまでのプロシージャとどこが違うのか、注意しながら読んでみてください。<br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動します。<br /><br /><br />【2】VBEを起動し、フォーム「F100Test」のモジュールを表示してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-333.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-333-thumbnail2.gif" alt="access-vba-333.gif" width="150" height="79" border="0" /></a><br /><br /><br />【3】フォームのモジュールに、何か書いてある場合は、最初の1行以外クリアしておいてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-325.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-325-thumbnail2.gif" alt="access-vba-325.gif" width="150" height="94" border="0" /></a><br /><br /><br />【4】左側のコンボボックスで、「▼」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-326.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-326-thumbnail2.gif" alt="access-vba-326.gif" width="150" height="102" border="0" /></a><br /><br /><br />【5】表示されたリスト(一覧)から、「cmdAdd」を選択します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-327.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-327-thumbnail2.gif" alt="access-vba-327.gif" width="150" height="65" border="0" /></a><br /><br />＊フォームやフォーム上に配置したコントロールが、リストに表示される<br /><br /><br />【6】右側のコンボボックスで、「Click」を選択した瞬間に、コマンドボタンをクリック時のイベントプロシージャが、自動的に表示されます。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-328.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-328-thumbnail2.gif" alt="access-vba-328.gif" width="150" height="49" border="0" /></a><br /><br />＊まだ無い時は作成される<br />＊既にある時は表示される<br /><br /><br />【7】あとは以下のように、イベントプロシージャの中に、プログラムを書くだけです。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-331.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-331-thumbnail2.gif" alt="access-vba-331.gif" width="150" height="62" border="0" /></a><br /><br /><div class="pg"><br />Private Sub cmdAdd_Click()<br />&nbsp;&nbsp;Call test8.addData(99, "ハワイ")<br />&nbsp;&nbsp;MsgBox "追加完了"<br />End Sub<br /></div><br /><br /><br />【8】ここまでの作業を「保存」してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-332.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-332-thumbnail2.gif" alt="access-vba-332.gif" width="150" height="73" border="0" /></a><br /><br /><br />【解説】<br />(1)フォームやレポートのモジュールを、「クラスモジュール」と言います。<br /><br /><br />(2)クラスモジュールには、イベントプロシージャ以外に、Functionプロシージャ や Subプロシージャ を書くことができます。<br /><br />また宣言といって、フォームの各プロシージャで共通して使う、変数や定数を書くことができます。(プロシージャの外に記述するだけ)<br /><br /><br />(3)イベントプロシージャとは、コマンドボタンをクリックした時、フォームを開いた時、といったイベント(出来事)が起こった時に、Accessから自動的に呼び出されるプロシージャです。(重要)<br /><br />Functionプロシージャ や Subプロシージャ が、プログラムの中で、明示的に呼び出すのとは対照的です。<br /><br /><br />(4)イベントプロシージャは、自動的に呼び出されるため、フォームやコントロールなどのオブジェクト(物)によって、あらかじめイベントの種類が決まっています。<br /><br /><br />(5)イベントプロシージャ名は、あらかじめ決められていて、自由に付けることはできません。必ずコンボボックスから選択して表示します。<br /><br />Private Sub cmdAdd_Click()<br />省略<br />End Sub<br /><br />左のコンボボックスでオブジェクトを選択し、右のコンボボックスでイベントを選択します。既存のイベントプロシージャを表示する時も、手順は同じです。<br /><br />絶対に手入力はしないでください。不具合の原因になります。入力するのは、イベントプロシージャの中だけです。<br /><br /><br />(6)イベントプロシージャ名を見れば、どのオブジェクトで、どんなイベントが発生した時に呼び出されるか、すぐにわかります。<br /><br />cmdAdd_Click()<br />オブジェクト名_イベント名()<br /><br /><br />(7)イベントプロシージャの中では、標準モジュールのSubプロシージャを、引数を指定して呼び出しているだけです。<br /><br />Call test8.addData(99, "ハワイ")<br />MsgBox "追加完了"<br /><br />標準モジュールのSubプロシージャを呼び出しただけでは、処理の進捗状況がわからないので、最後にメッセージボックスを表示するようにしています。<br /><br />もちろんメッセージボックスを表示しなくても、追加の処理に影響はありません。<br /><br /><br />【ワンポイント】<br />既に気付いた人もいると思いますが、VBEのコンボボックスで選択できるリストは、プロパティのイベントタブと対応しています。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-330.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-330-thumbnail2.gif" alt="access-vba-330.gif" width="150" height="68" border="0" /></a><br /><br />したがって、VBEでイベントプロシージャを設定すると、プロパティにも反映されます。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-329.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-329-thumbnail2.gif" alt="access-vba-329.gif" width="150" height="114" border="0" /></a><br /><br />プロパティの日本語をみれば、どんなイベントがあるのかわかります。それがVBEのリストでは、英語で表示されているだけです。<br /><br />慣れてくると、プロパティからイベントを選択するより、今回のようにVBEのコンボボックスで選択したほうが楽です。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/102982829.html">
<link>http://vba.officehp.com/article/102982829.html</link>
<title>Access VBA フォームのデザインビューからVBEを起動する方法。</title>
<description>VBA を、フォームのモジュールに書くには、VBEを起動する必要があります。これは標準モジュールの場合と同じですね。・VBA(Visual Basic for Applications)・VBE(Visual Basic Editor)ただしフォームの場合、VBEを起動する方法がいくつもあります。そこで今回は、一通り体験してみることにしましょう。Accessのファイル「SampleDB020.mdb」は、起動しておいてください。■フォームのデザインビューからVBEを起動する方..</description>
<dc:subject>Step37・フォームからVBEを起動する</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-07-16T10:57:34+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong> を、フォームのモジュールに書くには、VBEを起動する必要があります。これは標準モジュールの場合と同じですね。<br /><br />・VBA(Visual Basic for Applications)<br />・VBE(Visual Basic Editor)<br /><br />ただしフォームの場合、VBEを起動する方法がいくつもあります。そこで今回は、一通り体験してみることにしましょう。<br /><br />Accessのファイル「SampleDB020.mdb」は、起動しておいてください。<br /><br /><br />■フォームのデザインビューからVBEを起動する方法<br /><br />【1】フォーム「F100Test」を、デザインビューで開きます。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-315.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-315-thumbnail2.gif" alt="access-vba-315.gif" width="150" height="107" border="0" /></a><br /><br /><br />【2】Accessのツールバーから、「コード」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-316.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-316-thumbnail2.gif" alt="access-vba-316.gif" width="150" height="113" border="0" /></a><br /><br /><br />【3】VBEが起動しました。フォーム「F100Test」のモジュールが表示されています。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-317.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-317-thumbnail2.gif" alt="access-vba-317.gif" width="150" height="87" border="0" /></a><br /><br />フォームのモジュールは、「Microsoft Access クラス オブジェクト」に含まれます。標準モジュールとは別だということに注意してください。<br /><br /><br />【4】ここまでの操作で、VBEの設定が変更されているので、「保存」してください。<br /><br /><br />■コントロールのプロパティからVBEを起動する方法<br /><br />【1】フォーム「F100Test」を、デザインビューで開くところまでは、上記と同じです。<br /><br /><br />【2】コマンドボタン cmdAdd のプロパティを表示します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-319.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-319-thumbnail2.gif" alt="access-vba-319.gif" width="150" height="116" border="0" /></a><br /><br /><br />【3】「イベント」タブを選択し、「クリック時」の「▼」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-318.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-318-thumbnail2.gif" alt="access-vba-318.gif" width="150" height="115" border="0" /></a><br /><br /><br />【4】「イベント プロシージャ」を選択します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-320.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-320-thumbnail2.gif" alt="access-vba-320.gif" width="150" height="116" border="0" /></a><br /><br />＊ここにマクロが表示されることもあります。<br /><br /><br />【5】「...」(ビルド)をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-321.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-321-thumbnail2.gif" alt="access-vba-321.gif" width="150" height="100" border="0" /></a><br /><br /><br />【6】VBEが起動しました。フォーム「F100Test」のモジュールが表示されています。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-322.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-322-thumbnail2.gif" alt="access-vba-322.gif" width="150" height="89" border="0" /></a><br /><br />上記との違いは、既にクリック時のプログラムが、自動的に一部作成されていることです。<br /><br />これをイベントプロシージャと言います。イベントプロシージャについては、後に詳しく説明します。<br /><br /><br />【7】ここまでの操作で、VBEの設定が変更されているので、「保存」してください。<br /><br /><br />■通常通りVBEを起動する方法<br /><br />【1】VBEは「Altキー」＋「F11キー」で、直接起動できます。標準モジュールの場合と同じです。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-323.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-323-thumbnail2.gif" alt="access-vba-323.gif" width="150" height="88" border="0" /></a><br /><br />ただし一度目は、フォームのモジュールが、表示されないことがあります。<br /><br />その場合は、上記2つのどちらかの方法で、フォーム「F100Test」のモジュールを表示した後に、いったん「保存」してください。2回目からは、直接起動してOKです。<br /><br /><br />【解説】<br />(1)コントロール(部品)のプロパティから起動する方法は、フォームのプロパティでも同様で、イベントタブが用意されています。余裕がある人は、確認してみてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-324.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-324-thumbnail2.gif" alt="access-vba-324.gif" width="150" height="113" border="0" /></a><br /><br /><br />(2)あなたが使いやすい方法で、VBEを起動してかまいません。レポートのモジュールを表示する場合も、まったく同じ要領です。<br /><br />フォームやレポートを作成中なら、最初に説明した方法が便利です。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/102880014.html">
<link>http://vba.officehp.com/article/102880014.html</link>
<title>Access VBA フォームのプロパティを変更する方法。</title>
<description>VBA でプログラミングする前に、もう少しだけフォームを工夫してみましょう。Accessはフォームにもプロパティがあり、細かい設定ができるようになっています。今回は不要な機能を非表示にしてみましょう。＊プロパティとは、性質を表すデータです。【1】Accessのファイル「SampleDB020.mdb」を起動します。【2】データベースウィンドウの「フォーム」を表示します。【3】前回作成した、フォーム「F100Test」を選択して、「開く」をクリックします。【4】フォームビューで..</description>
<dc:subject>Step36・フォームのプロパティを変更する</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-07-14T17:11:48+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong> でプログラミングする前に、もう少しだけフォームを工夫してみましょう。<br /><br />Accessはフォームにもプロパティがあり、細かい設定ができるようになっています。今回は不要な機能を非表示にしてみましょう。<br /><br />＊プロパティとは、性質を表すデータです。<br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動します。<br /><br /><br />【2】データベースウィンドウの「フォーム」を表示します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-298.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-298-thumbnail2.gif" alt="access-vba-298.gif" width="150" height="106" border="0" /></a><br /><br /><br />【3】前回作成した、フォーム「F100Test」を選択して、「開く」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-299.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-299-thumbnail2.gif" alt="access-vba-299.gif" width="150" height="93" border="0" /></a><br /><br /><br />【4】フォームビューで開きました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-300.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-300-thumbnail2.gif" alt="access-vba-300.gif" width="150" height="67" border="0" /></a><br /><br />＊フォームビューは、フォームを実行した時の画面です。<br /><br /><br />【5】コマンドボタンの「レコード追加」をクリックしてみましょう。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-301.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-301-thumbnail2.gif" alt="access-vba-301.gif" width="150" height="67" border="0" /></a><br /><br />まだプログラムを書いていないので、もちろん何も起こりません。<br /><br /><br />【6】フォームビューで見ると、今回は不要な機能が表示されているので、変更することにします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-302.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-302-thumbnail2.gif" alt="access-vba-302.gif" width="150" height="75" border="0" /></a><br /><br />レコードセレクタ、移動ボタン、区切り線は、複数のレコードをフォームに表示する時に便利な機能です。しかし今回のように、ただボタンを配置しただけのフォームには不要です。<br /><br /><br />【7】フォームを編集するため、デザインビューに切り替えます。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-303.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-303-thumbnail2.gif" alt="access-vba-303.gif" width="150" height="100" border="0" /></a><br /><br /><br />【8】画面がデザインビューに切り替わりました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-304.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-304-thumbnail2.gif" alt="access-vba-304.gif" width="150" height="78" border="0" /></a><br /><br /><br />【9】以下の図のように、フォームの左上をクリックしてから、ツールバーの「プロパティ」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-305.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-305-thumbnail2.gif" alt="access-vba-305.gif" width="150" height="104" border="0" /></a><br /><br />＊この手順は大事なので、覚えてください。<br /><br /><br />【10】フォームのプロパティが表示されました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-306.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-306-thumbnail2.gif" alt="access-vba-306.gif" width="150" height="115" border="0" /></a><br /><br /><br />【11】「すべて」タブをクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-307.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-307-thumbnail2.gif" alt="access-vba-307.gif" width="150" height="116" border="0" /></a><br /><br /><br />【12】レコードセレクタ、移動ボタン、区切り線を探し、「いいえ」を選択します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-308.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-308-thumbnail2.gif" alt="access-vba-308.gif" width="150" height="114" border="0" /></a><br /><br />＊ここでスクロールバーを「なし」に設定したほうがよい事もあります。<br /><br /><br />【13】変更したらプロパティを閉じてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-309.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-309-thumbnail2.gif" alt="access-vba-309.gif" width="150" height="121" border="0" /></a><br /><br /><br />【14】ここまでの作業を「上書き保存」します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-310.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-310-thumbnail2.gif" alt="access-vba-310.gif" width="150" height="111" border="0" /></a><br /><br /><br />【15】確認のため、フォームビューに切り換えます。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-311.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-311-thumbnail2.gif" alt="access-vba-311.gif" width="150" height="108" border="0" /></a><br /><br /><br />【16】レコードセレクタ、移動ボタン、区切り線が非表示になりました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-312.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-312-thumbnail2.gif" alt="access-vba-312.gif" width="150" height="79" border="0" /></a><br /><br />画面がかなりスッキリしましたね。<br /><br /><br />【17】あとはフォームビューで、フォーム自体の大きさを調整してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-313.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-313-thumbnail2.gif" alt="access-vba-313.gif" width="150" height="77" border="0" /></a><br /><br />＊変更したら必ず、「上書き保存」します。<br /><br /><br />【18】完成したらフォームを閉じてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-314.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-314-thumbnail2.gif" alt="access-vba-314.gif" width="150" height="82" border="0" /></a><br /><br />ここまでの操作を行なって、やっとVBAのプログラムを記述する準備ができたわけです。最初に標準モジュールを使った手軽さが、わかったのではないでしょうか。<br /><br /><br />【解説】<br />Accessでは、フォームやコマンドボタンのような各部品ごとに、プロパティを設定することができます。<br /><br />各部品(コントロールという)のプロパティを表示するのは簡単ですが、フォームのプロパティは、今回のような少し変わった手順で表示します。<br /><br />プロパティを編集する時は、「何のプロパティ」を操作しているのか、常に意識してください。意外と他のコントロールのプロパティをいじっていることに、気付かない時があります。(初心者が間違いやすい)<br /><br />プロパティを使うと、文字の色やサイズ、背景色など、いろんな設定が簡単に行なえます。全て覚える必要はありませんが、余裕がある時に一通り見ておくとよいでしょう。<br /><br />プロパティでどんなことができるか知っておくと、後々にVBAのプログラミングで役立ちます。プロパティの値は、プログラムから変更することもできるからです。<br /><br /><br />次回はいよいよフォームのモジュールのプログラミングです。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/102863464.html">
<link>http://vba.officehp.com/article/102863464.html</link>
<title>Access VBA フォームを作成する方法。</title>
<description>VBA のプログラムを、フォームのモジュールに書くためには、まずフォームを作成する必要があります。Accessでフォームを作成するのは、慣れれば簡単なのですが、機能が多いので、初心者は最初のうち戸惑うかもしれません。今回は初めてなので、できるだけ詳しく書きます。次回からは少しずつ手順を省略しますので、フォームの基本的な作り方は、今回で覚えてください。Accessのフォームやレポートは、繰り返し作るうちに、自然に覚えるので大丈夫です。【1】Accessのファイル「SampleD..</description>
<dc:subject>Step35・フォームを作成する</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-07-14T11:24:44+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong> のプログラムを、フォームのモジュールに書くためには、まずフォームを作成する必要があります。<br /><br />Accessでフォームを作成するのは、慣れれば簡単なのですが、機能が多いので、初心者は最初のうち戸惑うかもしれません。<br /><br />今回は初めてなので、できるだけ詳しく書きます。次回からは少しずつ手順を省略しますので、フォームの基本的な作り方は、今回で覚えてください。<br /><br />Accessのフォームやレポートは、繰り返し作るうちに、自然に覚えるので大丈夫です。<br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動します。<br /><br /><br />【2】データベースウィンドウの「フォーム」を表示します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-272.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-272-thumbnail2.gif" alt="access-vba-272.gif" width="150" height="107" border="0" /></a><br /><br />＊表示されているフォームの数は、先に <a href="http://ms-access.seesaa.net/" target="_blank">Microsoft Access初心者入門講座</a> を行なったかどうかで異なります。<br /><br />もし違っていても気にしないでください。<br /><br /><br />【3】「デザインビューでフォームを作成する」をダブルクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-274.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-274-thumbnail2.gif" alt="access-vba-274.gif" width="150" height="107" border="0" /></a><br /><br /><br />【4】新しいフォームのデザインビューが表示されました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-275.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-275-thumbnail2.gif" alt="access-vba-275.gif" width="150" height="77" border="0" /></a><br /><br />フォームはこの画面で編集していきます。<br /><br /><br />【5】Accessのツールバーから、「ツールボックス」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-276.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-276-thumbnail2.gif" alt="access-vba-276.gif" width="150" height="57" border="0" /></a><br /><br />＊既にツールボックスが表示されている場合は、操作不要です。<br /><br /><br />【6】ツールボックスが表示されました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-277.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-277-thumbnail2.gif" alt="access-vba-277.gif" width="70" height="150" border="0" /></a><br /><br /><br />【7】ツールボックスの「コントロール ウィザード」は、オフにしておいてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-278.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-278-thumbnail2.gif" alt="access-vba-278.gif" width="140" height="150" border="0" /></a><br /><br />＊へこんでいない状態がオフ<br /><br /><br />【8】ツールボックスの「コマンドボタン」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-279.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-279-thumbnail2.gif" alt="access-vba-279.gif" width="119" height="150" border="0" /></a><br /><br /><br />【9】マウスで四角く囲み、フォーム上にコマンドボタンを配置します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-280.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-280-thumbnail2.gif" alt="access-vba-280.gif" width="150" height="79" border="0" /></a><br /><br /><br />【10】左上の少し大き目のマーカーで、移動できます。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-281.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-281-thumbnail2.gif" alt="access-vba-281.gif" width="150" height="79" border="0" /></a><br /><br /><br />【11】左上以外は、拡大・縮小に使います。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-282.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-282-thumbnail2.gif" alt="access-vba-282.gif" width="150" height="79" border="0" /></a><br /><br /><br />【12】コマンドボタンを選択して、Accessのツールバーから、「プロパティ」をクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-283.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-283-thumbnail2.gif" alt="access-vba-283.gif" width="150" height="87" border="0" /></a><br /><br />＊先にコマンドボタンを選択することが重要<br /><br /><br />【13】コマンドボタンのプロパティが表示されました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-284.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-284-thumbnail2.gif" alt="access-vba-284.gif" width="150" height="114" border="0" /></a><br /><br /><br />【14】プロパティで「すべて」タブをクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-285.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-285-thumbnail2.gif" alt="access-vba-285.gif" width="150" height="114" border="0" /></a><br /><br /><br />【15】全ての項目が表示されました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-286.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-286-thumbnail2.gif" alt="access-vba-286.gif" width="150" height="115" border="0" /></a><br /><br /><br />【16】名前に「cmdAdd」と入力し、標題には「レコード追加」と入力します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-287.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-287-thumbnail2.gif" alt="access-vba-287.gif" width="150" height="113" border="0" /></a><br /><br /><br />【17】コマンドボタンの名前を変えたので、プロパティのタイトルが変わりました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-288.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-288-thumbnail2.gif" alt="access-vba-288.gif" width="150" height="113" border="0" /></a><br /><br />＊名前はプログラム中で使われる重要なものです。<br /><br /><br />【18】フォーム上のコマンドボタンの表示が、変わっていることを確認してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-289.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-289-thumbnail2.gif" alt="access-vba-289.gif" width="150" height="78" border="0" /></a><br /><br />＊標題はコマンドボタン上の文字として反映されます。<br /><br /><br />ここまでの作業を保存しましょう。<br /><br />【19】ツールバーの「上書き保存」ボタンをクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-290.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-290-thumbnail2.gif" alt="access-vba-290.gif" width="150" height="96" border="0" /></a><br /><br /><br />【20】フォーム名に「F100Test」と入力し、「OK」ボタンをクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-291.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-291-thumbnail2.gif" alt="access-vba-291.gif" width="150" height="33" border="0" /></a><br /><br /><br />【21】保存したらフォームを閉じてください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-292.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-292-thumbnail2.gif" alt="access-vba-292.gif" width="150" height="85" border="0" /></a><br /><br /><br />【22】データベースウィンドウの「フォーム」に、新しく作成した「F100Test」が表示されています。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-293.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-293-thumbnail2.gif" alt="access-vba-293.gif" width="150" height="107" border="0" /></a><br /><br /><br />【解説】<br />(1)コマンドボタンのプロパティで設定した、「名前」と「標題」の違いについて注意してください。大事なのは名前のほうで、プログラムの中でもこの名前が使われます。<br /><br />標題のほうは、システムを利用するユーザーがわかりやすければ、何でもかまいません。<br /><br /><br />(2)今回作成したフォームは、テーブルやクエリと関係無い場合の作り方です。<br /><br />テーブルやクエリを基にフォームを作る場合は、少し手順が異なります。その時は <a href="http://ms-access.seesaa.net/" target="_blank">Microsoft Access初心者入門講座</a> のほうが参考になります。<br /><br /><br />(3)あとは以下のような画面イメージと、簡単なメモから、今回のようなフォームが作れるように練習してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-297.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-297-thumbnail2.gif" alt="access-vba-297.gif" width="150" height="69" border="0" /></a><br /><br />フォーム名：F100Test<br /><br />コマンドボタンのプロパティ<br />名前：cmdAdd<br />標題：レコード追加<br /><br />Accessでフォーム作りに慣れてきたら、これくらいの情報でも、どのように作ったらいいのか、すぐにイメージできるようになります。<br /><br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/102639507.html">
<link>http://vba.officehp.com/article/102639507.html</link>
<title>Access VBA フォームから標準モジュールを呼び出す方法。</title>
<description>VBA で標準モジュールの使い方にも慣れてきた頃だと思います。Accessの標準モジュールは、フォームやレポートに関連付けられていないので、どこからでも実行可能なプロシージャを書くことができます。プロシージャの種類には、Subプロシージャや Functionプロシージャがありましたね。関連付けられていないということは、フォームやレポート無しでも、プログラムのテストができるので、まず最初に学んでもらいました。(重要)初心者がAccessでフォームやレポートを作り、さらにプログラ..</description>
<dc:subject>Step34・フォームから標準モジュール呼出し</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-07-11T13:16:33+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong> で標準モジュールの使い方にも慣れてきた頃だと思います。<br /><br />Accessの標準モジュールは、フォームやレポートに関連付けられていないので、どこからでも実行可能なプロシージャを書くことができます。<br /><br />プロシージャの種類には、Subプロシージャや Functionプロシージャがありましたね。<br /><br />関連付けられていないということは、フォームやレポート無しでも、プログラムのテストができるので、まず最初に学んでもらいました。(重要)<br /><br />初心者がAccessでフォームやレポートを作り、さらにプログラミングまで行なうのは、難しく感じてしまうかもしれないからです。(慣れると難しくないのですが)<br /><br />そこで最初はVBAのプログラミングに集中してもらうために、標準モジュールから入りました。<br /><br />でも実際にシステムを運用する時に、システムを使うユーザーが、いちいち VBE(Visual Basic Editor) を起動して、イミディエイト ウィンドウから操作を行なうのは大変ですよね。間違えてプログラムを書き換えてしまう可能性もあります。<br /><br />普通はユーザーにプログラムを見せないで、フォームから操作してもらうようにします。<br /><br />そこで次の段階として、フォームから標準モジュールを呼び出して、処理を行なえるようにしてみましょう。<br /><br />以下のようなイメージを実現します。<br /><br />(1)フォーム上のボタンをクリックすると、<br /><a href="http://access-vba.up.seesaa.net/image/access-vba-294.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-294-thumbnail2.gif" alt="access-vba-294.gif" width="150" height="73" border="0" /></a><br /><br /><br />(2)テーブルにレコードが追加される。<br /><a href="http://access-vba.up.seesaa.net/image/access-vba-295.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-295-thumbnail2.gif" alt="access-vba-295.gif" width="131" height="150" border="0" /></a><br /><br /><br />(3)イミディエイト ウィンドウにも実行結果が表示される。<br /><a href="http://access-vba.up.seesaa.net/image/access-vba-296.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-296-thumbnail2.gif" alt="access-vba-296.gif" width="150" height="51" border="0" /></a><br /><br />イミディエイト ウィンドウは、あくまでプログラマーの確認用なので、ユーザーに見せる必要はありません。<br /><br />本当は PREF_CD や PREF_NAME の値を変えられるようにしたいところですが、今回は「フォームから標準モジュールを呼び出す」ということに集中して、後から改良することにします。<br /><br /><br />【ワンポイント】<br />本来、標準モジュールの使い方は、複数のフォームやレポートで、共通して使う処理を書いておくものです。<br /><br />例<br />・データベースに接続する部分<br />・よく使う計算<br />・よく使う処理　など<br /><br />これまでに書いてきたプログラムは、フォームのモジュールでも行なえるものです。(そちらに書いたほうが良い)<br /><br />フォームやレポートを作る手間を省くために、あえて使っていたので、その点はご理解ください。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/102529099.html">
<link>http://vba.officehp.com/article/102529099.html</link>
<title>Access VBA SQL文を使った検索、追加、更新、削除の動作確認。</title>
<description>前回作成した VBA の標準モジュール「test8」の動作を確認してみましょう。標準モジュールに、同じ名前の Subプロシージャが定義されています。そのため Subプロシージャ の実行方法が、今までと少し違いますので注意してください。【1】Accessのファイル「SampleDB020.mdb」を起動し、テーブル「T01Prefecture」を確認します。「47 沖縄県」の後ろにレコードが無い状態にしてください。【2】VBE を起動して、標準モジュールの test8 を表示し..</description>
<dc:subject>Step33・標準モジュール「test8」の動作確認</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-07-09T20:20:45+09:00</dc:date>
<content:encoded><![CDATA[
前回作成した <strong>VBA</strong> の標準モジュール「test8」の動作を確認してみましょう。<br /><br />標準モジュールに、同じ名前の Subプロシージャが定義されています。そのため Subプロシージャ の実行方法が、今までと少し違いますので注意してください。<br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動し、テーブル「T01Prefecture」を確認します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-257.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-257-thumbnail2.gif" alt="access-vba-257.gif" width="114" height="150" border="0" /></a><br /><br />「47 沖縄県」の後ろにレコードが無い状態にしてください。<br /><br /><br />【2】VBE を起動して、標準モジュールの test8 を表示します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-258.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-258-thumbnail2.gif" alt="access-vba-258.gif" width="150" height="95" border="0" /></a><br /><br />＊VBEは「Altキー」＋「F11キー」で起動できます。<br /><br /><br />まず最初に、わざとエラーを出してみましょう。<br /><br />【3】イミディエイト ウィンドウから dispData() を実行してください。<br /><br />call dispData()<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-259.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-259-thumbnail2.gif" alt="access-vba-259.gif" width="150" height="73" border="0" /></a><br /><br /><br />【4】エラーメッセージが表示されます。「OK」ボタンをクリックします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-260.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-260-thumbnail2.gif" alt="access-vba-260.gif" width="150" height="85" border="0" /></a><br /><br />これは標準モジュールに、同じ名前のプロシージャが複数あるため、コンピュータがどのプロシージャを実行してよいのか、判断できないからです。<br /><br /><br />【5】次は「標準モジュール名.プロシージャ名」の形式で、明確に指定します。<br /><br />call test8.dispData()<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-262.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-262-thumbnail2.gif" alt="access-vba-262.gif" width="150" height="68" border="0" /></a><br /><br />「.」ドットまで入力すると、入力候補が表示されます。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-261.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-261-thumbnail2.gif" alt="access-vba-261.gif" width="150" height="75" border="0" /></a><br /><br /><br />【6】今度はちゃんと実行することができました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-263.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-263-thumbnail2.gif" alt="access-vba-263.gif" width="150" height="75" border="0" /></a><br /><br /><br />【7】次の操作のために、イミディエイト ウィンドウをクリアします。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-264.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-264-thumbnail2.gif" alt="access-vba-264.gif" width="150" height="76" border="0" /></a><br /><br /><br />【8】イミディエイト ウィンドウから addData() を実行してください。<br /><br />call test8.addData(99, "ハワイ")<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-265.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-265-thumbnail2.gif" alt="access-vba-265.gif" width="150" height="71" border="0" /></a><br /><br /><br />【9】レコードを追加しました。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-266.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-266-thumbnail2.gif" alt="access-vba-266.gif" width="150" height="51" border="0" /></a><br /><br /><br />【10】イミディエイト ウィンドウをスクロールして、レコードが追加されていることを確認してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-267.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-267-thumbnail2.gif" alt="access-vba-267.gif" width="150" height="111" border="0" /></a><br /><br /><br />【11】テーブル「T01Prefecture」でも確認してください。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-268.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-268-thumbnail2.gif" alt="access-vba-268.gif" width="131" height="150" border="0" /></a><br /><br /><br />【12】同じ要領で、イミディエイト ウィンドウから editData() を実行してください。<br /><br />call test8.editData(99, "グアム")<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-269.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-269-thumbnail2.gif" alt="access-vba-269.gif" width="150" height="57" border="0" /></a><br /><br /><br />【13】イミディエイト ウィンドウから deleteData() を実行してください。<br /><br />call test8.deleteData(99)<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-270.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-270-thumbnail2.gif" alt="access-vba-270.gif" width="150" height="73" border="0" /></a><br /><br /><br />【14】イミディエイト ウィンドウから seekData() を実行してください。<br /><br />call test8.seekData(8)<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-271.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-271-thumbnail2.gif" alt="access-vba-271.gif" width="150" height="51" border="0" /></a><br /><br /><br />【15】要領が掴めたら、好きなように、レコードを検索、追加、更新、削除してみてください。<br /><br />＊1～47のレコードはそのままで。練習用にレコードを追加してから行なってください。<br /><br /><br />【ワンポイント】<br />プロシージャの引数を使って組み立てられるSQL文を、イミディエイト ウィンドウに表示しています。どんなSQL文になるのか、確認しながら練習すると、理解が深まります。<br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://vba.officehp.com/article/102507233.html">
<link>http://vba.officehp.com/article/102507233.html</link>
<title>Access VBA SQL文を使って検索、追加、更新、削除する方法。</title>
<description>VBA で、SQL文を使ってデータベースを操作することのメリットを、実感できたと思います。そこで今回は、以前に作成した、標準モジュール test6 の検索、追加、更新、削除を、SQL文を使った方法に書き換えてみましょう。・レコードの操作は、T01Prefecture に対して行ないます。(重要)・test6 はそのままにして、新規に test8 を作成します。・test8 の Subプロシージャ名は test6 と同じにします。【1】Accessのファイル「SampleDB0..</description>
<dc:subject>Step32・SQL文を使った方法に変更する</dc:subject>
<dc:creator>Access VBA入門</dc:creator>
<dc:date>2008-07-09T14:50:37+09:00</dc:date>
<content:encoded><![CDATA[
<strong>VBA</strong> で、SQL文を使ってデータベースを操作することのメリットを、実感できたと思います。<br /><br />そこで今回は、以前に作成した、標準モジュール test6 の検索、追加、更新、削除を、SQL文を使った方法に書き換えてみましょう。<br /><br />・レコードの操作は、T01Prefecture に対して行ないます。(重要)<br />・test6 はそのままにして、新規に test8 を作成します。<br />・test8 の Subプロシージャ名は test6 と同じにします。<br /><br /><br />【1】Accessのファイル「SampleDB020.mdb」を起動し、VBE を起動してください。<br /><br />＊VBEは「Altキー」＋「F11キー」で起動できます。<br /><br /><br />【2】新しく標準モジュール test8 を作成します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-255.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-255-thumbnail2.gif" alt="access-vba-255.gif" width="150" height="95" border="0" /></a><br /><br /><br />【3】標準モジュールの「test8」に、以下のように Subプロシージャ を追加します。<br /><br /><a href="http://access-vba.up.seesaa.net/image/access-vba-256.gif" target="_blank"><img src="http://access-vba.up.seesaa.net/image/access-vba-256-thumbnail2.gif" alt="access-vba-256.gif" width="150" height="106" border="0" /></a><br /><br /><div class="pg"><br />Sub dispData()<br />&nbsp;&nbsp;Dim db As DAO.Database<br />&nbsp;&nbsp;Set db = CurrentDb<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Dim mySql As String<br />&nbsp;&nbsp;mySql = "SELECT * FROM T01Prefecture"<br />&nbsp;&nbsp;mySql = mySql &amp; " ORDER BY PREF_CD ASC"<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Debug.Print mySql<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Dim rs As DAO.Recordset<br />&nbsp;&nbsp;Set rs = db.OpenRecordset(mySql)<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Do Until rs.EOF<br />&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print rs.Fields("PREF_CD") &amp; " " &amp; rs.Fields("PREF_NAME")<br />&nbsp;&nbsp;&nbsp;&nbsp;'Debug.Print rs!PREF_CD &amp; " " &amp; rs!PREF_NAME<br />&nbsp;&nbsp;&nbsp;&nbsp;rs.MoveNext<br />&nbsp;&nbsp;Loop<br /><br />&nbsp;&nbsp;rs.Close<br />&nbsp;&nbsp;Set rs = Nothing<br />&nbsp;&nbsp;db.Close<br />&nbsp;&nbsp;Set db = Nothing<br />&nbsp;&nbsp;<br />End Sub<br /><br />Sub addData(pCd As Integer, pName As String)<br />&nbsp;&nbsp;Dim db As DAO.Database<br />&nbsp;&nbsp;Set db = CurrentDb<br /><br />&nbsp;&nbsp;Dim mySql As String<br />&nbsp;&nbsp;mySql = "INSERT INTO T01Prefecture"<br />&nbsp;&nbsp;mySql = mySql &amp; " (PREF_CD, PREF_NAME)"<br />&nbsp;&nbsp;mySql = mySql &amp; " VALUES (" &amp; pCd &amp; ", '" &amp; pName &amp; "')"<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Debug.Print mySql<br />&nbsp;&nbsp;db.Execute mySql<br /><br />&nbsp;&nbsp;db.Close<br />&nbsp;&nbsp;Set db = Nothing<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Debug.Print "レコードを追加しました。"<br />&nbsp;&nbsp;test8.dispData<br />End Sub<br /><br />Sub seekData(pCd As Integer)<br />&nbsp;&nbsp;Dim db As DAO.Database<br />&nbsp;&nbsp;Set db = CurrentDb<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;mySql = "SELECT * FROM T01Prefecture"<br />&nbsp;&nbsp;mySql = mySql &amp; " WHERE PREF_CD = " &amp; pCd<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Debug.Print mySql<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Dim rs As DAO.Recordset<br />&nbsp;&nbsp;Set rs = db.OpenRecordset(mySql)<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;If rs.BOF And rs.EOF Then<br />&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print "該当するレコードは見つかりませんでした。"<br />&nbsp;&nbsp;Else<br />&nbsp;&nbsp;&nbsp;&nbsp;Debug.Print pCd &amp; ":" &amp; rs.Fields("PREF_NAME")<br />&nbsp;&nbsp;End If<br /><br />&nbsp;&nbsp;rs.Close<br />&nbsp;&nbsp;Set rs = Nothing<br />&nbsp;&nbsp;db.Close<br />&nbsp;&nbsp;Set db = Nothing<br />&nbsp;&nbsp;<br />End Sub<br /><br />Sub editData(pCd As Integer, pName As String)<br />&nbsp;&nbsp;Dim db As DAO.Database<br />&nbsp;&nbsp;Set db = CurrentDb<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;Dim mySql As String<br />&nbsp;&nbsp;mySql = "UPDATE T01Prefecture"<br />&nbsp;&nbsp;mySql = mySql &amp; " SET PREF_NAME = '" &amp; pName &amp; "'"<br />&nbsp;&nbsp;mySql = mySql &amp; " WHERE PREF_CD = " &amp; pCd<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Debug.Print mySql<br />&nbsp;&nbsp;db.Execute mySql, dbFailOnError<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;db.Close<br />&nbsp;&nbsp;Set db = Nothing<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Debug.Print "レコードを更新しました。"<br />&nbsp;&nbsp;test8.dispData<br />End Sub<br /><br />Sub deleteData(pCd As Integer)<br />&nbsp;&nbsp;Dim db As DAO.Database<br />&nbsp;&nbsp;Set db = CurrentDb<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Dim mySql As String<br />&nbsp;&nbsp;mySql = "DELETE FROM T01Prefecture"<br />&nbsp;&nbsp;mySql = mySql &amp; " WHERE PREF_CD = " &amp; pCd<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Debug.Print mySql<br />&nbsp;&nbsp;db.Execute mySql, dbFailOnError<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;db.Close<br />&nbsp;&nbsp;Set db = Nothing<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;Debug.Print "レコードを削除しました。"<br />&nbsp;&nbsp;test8.dispData<br />End Sub<br /></div><br /><br />動作確認については、次回に説明します。<br /><br /><br />【解説】<br />今回のプログラムは、これまでにも何度か使っているので、重要な部分だけ解説します。<br /><br />(1)本当は標準モジュールで、同じ名前のプロシージャを定義したくないのですが、今回は比較しやすいように、わざと Subプロシージャ名を test6 と同じにしました。<br /><br /><br />(2)同じSubプロシージャ名が定義されているので、Subプロシージャ の実行方法が、今までと少し変わります。(次回に説明)<br /><br /><br />(3)わかりやすくするため、エラー処理は省略しています。そのため想定外の値で実行した場合は、正しく動作しません。<br /><br /><br />(4)seekData()部分について<br /><br />BOF かつ EOF でもあるということは、レコードが無いということです。<br />If rs.BOF And rs.EOF Then<br /><br />BOF(Begin Of File)はレコードの始端を表す記号<br />EOF(End Of File)はレコードの終端を表す記号<br /><br />以下のようにイメージすると、わかりやすいと思います。<br /><br />・レコードがある場合<br /><div class="pg"><br />BOF<br />1 北海道　←カレント レコード<br />EOF<br /></div><br /><br />・レコードが無い場合<br /><div class="pg"><br />BOF　EOF<br /></div><br /><br />ちなみに以下でも同じ結果になります。<br />If rs.BOF Then<br />または<br />If rs.EOF Then<br /><br />しかしレコードがある場合でも、「rs.MoveNext」で移動したりすると「EOF」になることがあるので、注意が必要です。やはり「rs.BOF And rs.EOF」が確実です。<br /><br /><br />(5)SQL実行部分の違いについて<br /><br />db.Execute mySql, dbFailOnError<br />db.Execute mySql<br /><br />dbFailOnError は、レコードの更新・削除が不可能な時に取り消すオプションなので、追加の場合は省略しています。<br /><br /><br />(6)レコードを表示している部分について<br /><br />test8.dispData<br /><br />追加、更新、削除の後には、dispDataを呼び出していますが、標準モジュールに、同じ名前のプロシージャがあるため、「標準モジュール名.プロシージャ名」の形式で明確に指定しています。<br /><br />＊間に半角の「.」ドットが入ります。<br /><br /><br />【ワンポイント】<br />SQLについては <a href="http://access-sql.seesaa.net/" target="_blank">Access SQL初心者入門講座</a> をご覧ください。詳しく解説しています。<br /><br /><br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
</rdf:RDF>

