Tutorials and Guide to Samples (v11)

レッスン 1:データ ブラウザーを作成する  (ActiveX を使用する Visual Basic チュートリアル)

このセクションでは、生徒情報を閲覧するためのフォームを作成し、Pervasive の ActiveX データ ソースとバウンド コントロールを、新しい Visual Basic プロジェクトに統合する方法を説明します。このレッスン終了後には、以下の操作が可能になります。

VB プロジェクトへ Pervasive ActiveX インターフェイスへ追加する

アプリケーションを作成するには、Visual Basic を起動し、新規に STANDARD.EXE プロジェクトを開始します。

Pervasive ActiveX インターフェイス使用の第一歩は、ActiveX コントロール コンポーネントを Visual Basic プロジェクトに追加することです。コンポーネントは、ACBTR732.OCX(Pervasive PSQL ActiveX データ ソース)および ACCTR732.OCX(Pervasive PSQL バウンド コントロール)の 2 つのファイルから構成されます。

Pervasive ActiveX インターフェイスを Visual Basic プロジェクトに追加するには

  1. [プロジェクト]メニューから[コンポーネント]を選択します(またはツール ボックスを右クリックして[コンポーネント]を選択)。
  2. [コントロール] リストをスクロールさせて "Pervasive ActiveX Data Source" および "Pervasive Bound Controls" チェック ボックスをオンにします。
  3. [OK]をクリックします。
    ツールボックスに Pervasive ActiveX アイコンが表示されます。



VAccess コントロール フォームを作成する

新規プロジェクトへの Pervasive ActiveX インターフェイスの追加後、プロパティ ウィンドウを使用して最初のフォームに名前を付けます。

フォームに名前を付けるには

  1. Name プロパティに、"frmVAccessForm" を使用します。
  2. Caption プロパティに、"VAccess Form" を使用します。

次は、フォームに VAccess コントロールを配置します。VAccess コントロールはデータをポイントするもので、ほかすべての Pervasive PSQL コントロールがバインドするマスター コントロールです。このコントロールは、Pervasive PSQL とのすべての通信を処理します。

VAccess コントロールを Visual Basic フォームに追加するには

  1. Pervasive PSQL ActiveX インターフェイスがある Visual Basic ツール ボックスをクリックします。
  2. VAccess コントロールのアイコンにマウスを置いて左クリックします。



  3. フォームにカーソルを置いてドラッグし、コントロールを保持するための四角形を作成します。マウスを離すと、四角形の中に ActiveX コントロールが表示されます。
    また、Pervasive PSQL の起動画面には、Pervasive PSQL データベース エンジンが起動されたことが表示されます。このコントロールは、設計時にはアイコンとして表示されますが、実行時には表示されません。
  4. この VAccess コントロールの名前を、デフォルトのまま「VAccess1」にします。
    プロジェクトのすべての VAccess コントロールは、バウンド コントロールとは別に、このフォームに配置します。VAccess コントロールを個々のフォームに配置する利点には、以下の 2 点が挙げられます。

Pervasive ActiveX インターフェイスのプロパティを設定する

チュートリアルを続ける前に、このセクションでは、Pervasive PSQL ActiveX プロパティの設定方法を説明します。プロパティは、以下の 3 個所で設定できます。

プロパティ ページ

タブを含むこのダイアログ ボックスへは、コントロールを右クリックし、ショートカット メニューから[プロパティ]を選択してアクセスします。ここには、コントロールとデータへの接続に関するカスタム プロパティが表示されます。このチュートリアルでは、全体を通してこの[プロパティ ページ]ダイアログ ボックスを使用します。

図 1 [プロパティ ページ]ダイアログ ボックス

Visual Basic のプロパティ ウィンドウ

ウィンドウには、選択したオブジェクトの全プロパティが表示されます。

図 2 Visual Basic のプロパティ ウィンドウ

Visual Basic コード エディター

各プロパティの詳細については、『ActiveX Controls Guide』を参照してください。

これらのプロパティは、チュートリアルの以下のセクションで設定します。

Pervasive PSQL ファイルへの接続

VAccess コントロールには、このコントロールを Pervasive PSQL データ ファイルへ接続するための重要なプロパティとして、DdfPathTableName および Location という 3 つのプロパティがあります。これらのプロパティへは、コントロールを右クリックし、ショートカット メニューから[プロパティ]を選択して表示される[プロパティ ページ]から簡単にアクセスできます。また、プロパティ ウィンドウからもアクセス可能です。

図 3 データに接続するためのプロパティの設定

以下は、データへの接続に重要なプロパティです。

プロパティ設定でデータを指定するには

  1. デフォルトで、VAccess1 コントロールの DdfPathfile_path¥PSQL¥DEMODATA に設定されています(この設定はレジストリから読み取られます)。
    Pervasive PSQL ファイルのデフォルトの保存場所については、『Getting Started with Pervasive PSQL』の Pervasive PSQL ファイルはどこにインストールされますか?を参照してください。
  2. TableName プロパティの使用可能な DDF が含まれるドロップダウン メニューから、TableName として "Student" を選択します。
    すべての Pervasive PSQL バウンド コントロールは、この VAccess コントロールへのバインド時に、このテーブルを参照します。"Student" を選択すると、Location プロパティが STUDENT.MKD ファイルに変更されます。
    この 3 つのファイルの場所プロパティは、以下のように設定されます。

    プロパティ
    DdfPath
    file_path¥PSQL¥DEMODATA
    TableName
    Student
    Location
    file_path¥PSQL¥DEMODATA¥STUDENT.MKD

ここで、インデックス番号を設定します。

テーブルのインデックス番号を設定するには

  1. VAccess1 の[プロパティ ページ]ダイアログ ボックスの[Settings]タブを選択し、[IndexNumber]フィールドをクリックして Student テーブルに定義されているインデックスを表示します。
  2. インデックス "0 - ID" を選択して[OK]をクリックします。図 4 に設定を示します。
図 4 IndexNumber プロパティの設定

バウンド コントロールのあるフォームを作成する

このセクションでは、Pervasive PSQL バウンド コントロールのフォームへの配置方法、および VAccess コントロールへのバインド方法を説明し、データベースの参照を可能にします。

バウンド コントロールのあるフォームをセットアップするには

  1. [プロジェクト]メニューの[フォーム モジュールの追加] をクリックします。
  2. [開く]をクリックします(デフォルトではフォーム モジュールが選択されています)。
    前セクションでの説明のように、すべてのバウンド コントロールは、VAccess コントロールとは別の個々のフォームに配置します。
  3. フォームのプロパティ ウィンドウで、Name プロパティを "frmStudentBrowser" に変更し、Caption プロパティを "Pervasive PSQL Student Browser Sample Application" に変更します。

    メモ

    このチュートリアルでは、フォーム名の先頭に「frm」、コマンド コントロール名の先頭に「cmd」を使用します。これにより、プログラム作成に当たって、フォームとコマンドをほかのオブジェクトと区別します。その他のコントロールの名前には、デフォルト(VAText1 ボックスVAText2 ボックスなど)を使用します。


  4. [プロジェクト]メニューから[Project のプロパティ]を選択して[プロジェクト プロパティ]ウィンドウを開きます。[スタートアップの設定]を "frmStudentBrowser" に変更し、アプリケーション実行時にこのフォームが表示されるようにします。
  5. [OK]をクリックします。
図 5 スタートアップのフォームの設定

  1. 次に、frmStudentBrowser フォームをダブルクリックしてForm_Load イベントを開きます。このイベントに、以下のコードを入力します。
    frmVAccessForm.VAccess1.GetFirst
    このコードでは、GetFirst メソッドを使用して frmVAccessFormVAccess1(VAccess コントロール)に、最初のレコードを取得するように指示します。これにより、フォームに配置するバウンド コントロールが、最初のアプリケーション実行時にデータを表示します。

インデックス検索を追加する

次に、バウンド コントロールを frmStudentBrowser フォームに配置します。最初に、テーブル インデックスの検索に使用するテキスト ボックスを追加します。

テキスト ボックスを追加するには

  1. フォームが表示されていない場合は、frmStudentBrowser フォームに移動します。
  2. フォームの左上の角に VAText ボックスを配置します。



    生徒 ID の 9 桁を入力できるようにボックスのサイズを変更します。
  3. テキスト ボックスを右クリックして[プロパティ] を選択し、[プロパティ ページ]を表示します。
  4. VAccessName のプロパティに、メニューから "VAccess1" を選択します。これにより、VAText ボックスが VAccess1(VAccess コントロール)にバインドされます。
  5. VASearch チェック ボックスをオンにします。
    この設定により、特定のフィールドを対象とした現在のインデックスの検索が可能になります。VAccess1 コントロールに選択されたインデックスが自動的に使用されるため、VAFieldName は必要ありません。
図 6 テキスト ボックスの検索インデックスの設定

  1. [OK]をクリックします。
  2. 必要に応じて Visual Basic Label コントロールをテキスト ボックス左側に配置し、Caption プロパティを以下のように変更します。
    「生徒レコードを指定する値を入力してください。」

リスト ボックスを追加する

VAList ボックスは、データベースからの情報のフィールドを、リスト形式で表示する場合に使用できます。

リスト ボックスを追加するには

  1. VAList ボックスをフォームに配置し、その VAccessName プロパティを "VAccess1" に変更することにより、VAccess コントロールにバインドします。

    メモ

    複数のデータ行が表示できるようリスト ボックスのサイズを変更します。リスト ボックス自体が小さすぎる場合、手順 5 で行のサイズを効率的に変更することができなくなります。


  2. [プロパティ ページ]ダイアログ ボックスの[VARecordList]チェック ボックスをオンにします。これにより、このプロパティが True に設定され、異なる行へのフィールドの表示が可能になります。
  3. [プロパティ ページ]ダイアログ ボックスの VAFieldName プロパティの隣の[...]ボタンをダブルクリックし、使用可能なフィールドが表示されたダイアログ ボックスを開きます。
  4. 複数の行を作成する場合は、使用可能なフィールドをダブルクリックして選択します(またはクリックして選択した後[追加]をクリック)。図 7 に示されているように、フィールドを選択します。IDCumulative_GPAMajorMinorCumulative_Hours の各タイトルを使用します。[OK]をクリックします。
図 7 リスト ボックス行の選択

  1. 行にデータが順番に表示されるように ColumnWidth プロパティを調整します。調整は、[ColumnWidth]コンボ ボックスの隣の[...]ボタンをクリックし、[Multi-Column Tab Settings]ウィンドウを表示して行います。選択した最初のフィールド[ID]が表示されます。

    メモ

    すべての行が表示されない場合は、このウィンドウと[プロパティ ページ]を閉じ、リスト ボックスのサイズを変更して再試行します。


  2. ID]の右側をダブルクリックして最初のタブ ストップを設定します。破線が現れます。この線をドラッグし、この列に表示されるデータ用のスペースを確保します。ダブルクリックとドラッグを繰り返し、4 つの行のタブを表示および調節します。
  3. 終了後、ウィンドウは、図 8 のようになります。このウィンドウの[OK]をクリックし、[プロパティ ページ]の[OK]をクリックして変更を適用します。
図 8 リスト ボックス行のサイズ変更

  1. 5 つの Visual Basic Label コントロールをフォームの VAList ボックスの上に配置し、各行にラベルを付けます。IDCumulative_GPAMajorMinorCumulative_Hours の各タイトルを使用します。

縦スクロール バーを追加する

VAVScrollBar により、データベースの閲覧が容易になります。

縦スクロール バーを追加するには

  1. VAVScrollBar をフォームに配置し、縦スクロール バーとして VAList ボックス右側に設置します。
  2. スクロール バーの VAccessName プロパティを "VAccess1" に設定し、VAccess コントロールにバインドします。

Visual Basic コマンド ボタンを追加する

Visual Basic のコマンド ボタンを使用し、ほかのフォーム(後述)を呼び出すことができます。

VB コマンド ボタンを追加するには

  1. 2 つの Visual Basic コマンド ボタンをフォーム下部に配置します。
  2. 1 つのボタンの Name プロパティを "cmdUpdate" に、もう 1 つのボタンの Name プロパティを "cmdBrowse" に変更します。
  3. 1 つのボタンの Caption プロパティを "Update Student Data" に、もう 1 つのボタンの Caption プロパティを "Browse Personal Data" に変更します。これらのボタンを機能させるには、コードを追加(後述)します。
    フォームは、図 9 のようになります。
図 9 実行前の Student Browser

アプリケーションのテスト

この時点でアプリケーションをテストするには

  1. まず、[ファイル]メニューの[名前をつけてプロジェクトの保存]から保存を行います。
  2. [実行]メニューの[開始]をクリックします。
    VAText ボックスと VAList ボックスが同期し、テキスト ボックスに生徒 ID を入力すると、リスト ボックス上部にそれが表示されます。また、VAVScrollBar を使用してデータベースをスクロールすることもできます。
    必要に応じて ColumnWidth プロパティから、VAList ボックスのサイズ、行ラベル コントロール、タブの位置を変更してフォームのデザインを統一します。コンパイル後のサンプル ブラウザーは、図 10 のようになります。
図 10 実行後の Student Browser


ActiveX を使用した Visual Basic の例

レッスン 2:更新用フォームを作成する (ActiveX を使用する Visual Basic チュートリアル)