Tutorials and Guide to Samples (v11)

レッスン 1:Visual Basic で ActiveX を使用する

ActiveX インターフェイスを準備する

  1. "Pervasive ActiveX Data Source" と "Pervasive Bound Controls" を Visual Basic のツールバーに追加します。



Visual Basic の VAccess コントロールを使用する

  1. VAccess データ コントロールを選択してフォームに配置します。



  2. このコントロールの Btrieve File プロパティを設定します。
    1. コントロールを右クリックして[プロパティ]を選択します。または、[表示|プロパティ ページ]を選択します。
    2. [File Information]タブで、以下のプロパティを設定します。
      • DdfPath - コントロールに付属するデータ ファイルの定義を含む DDF の場所(ドライブおよびパス)。
      • TableName - VAccess コントロールに付属するデータ ファイルの(DdfPath プロパティで指定した DDF 内の)テーブル名。
      • Location - コントロールに付属するデータ ファイルのオペレーティング システム ファイル名。TableName プロパティで指定されたテーブルの場所がデフォルトになります。このプロパティには、完全修飾パスおよびファイル名、またはファイル名のみが入ります。パスを指定しなかった場合、DdfPath プロパティで指定された場所にあるデータ ファイルが開きます。


  3. [Settings]タブをクリックして[IndexNumber]の値を確認します。
  4. ボックスから、Btrieve ファイルのインデックスを選択します。



  5. Extended オペレーションを使用するかどうかを選択します。
    アプリケーションで Extended オペレーションを使用すると、Btrieve サーバーから一度に複数のレコードを取得することができ、フィールド値に基づいてサーバー側でフィルタリングを行うことができます。Extended オペレーションにより、レコード取得操作によってはパフォーマンスが非常に向上します。
    [Extended Operations]タブをクリックします。Extended オペレーションを使用する場合は、[ExtendedOps]チェック ボックスをオンにし、使用しない場合は、このチェック ボックスをオフにします。



  6. [OK]をクリックします。
  7. 次のコードで VAccess1 の部分を自分のコントロールの名前に置き換え、Form_Load Event に追加します。
    VAccess1.GetFirst 
    

必要な場合は、初期化クエリのコードを追加します。

VAText コントロールを使用する

  1. フォームにコントロールを追加します。VAccess データ コントロールを選択してフォームに配置します。を参照してください。
  2. バウンド コントロールの VAccess プロパティを設定します。バウンド コントロールの VAccess プロパティを設定します。を参照してください。
    1. バウンド コントロールのプロパティ ダイアログ ボックスを開きます。
    2. [VAccessName]ボックスの矢印をクリックします。
    3. ドロップダウン リストからコントロールを選択します。
  3. VAFieldName プロパティを設定します。
    1. [VAFieldName]ボックスの矢印をクリックします。
    2. ドロップダウン リストからフィールドを選択します。



  4. VASearch プロパティを設定します。
    このプロパティを True に設定した場合、VAccess コントロールは、データ ソースの IndexNumber プロパティによって指定されたインデックスの最初のセグメントのテキスト ボックスの値を使用し、そのテキストが変化するごとに GetGreaterOrEqual メソッドを実行します。VAFieldName プロパティの設定は、無効になります。
    1. このプロパティを True に設定する場合は、[VASearch]チェック ボックスをオンにします。
    2. False に設定する場合は、このチェック ボックスをオフにします。
  5. [OK]をクリックします。

VAList コントロールを使用する

  1. フォームにコントロールを追加します。



  2. バウンド コントロールの VAccess プロパティを設定します。
    1. VAList コントロールのプロパティ ダイアログ ボックスを開きます。
    2. [VAccessName]ボックスの矢印をクリックします。
    3. ドロップダウン リストからデータ ソース コントロールを選択します。



  3. VAAutoScroll プロパティを設定します。
    このプロパティを False に設定することにより、リストがオートフィル レコード リストとして使用されている場合(VARecordList = True)、リスト内で現在選択されている項目が、自動的にそのリストの一番上にスクロールされなくなります。
    レコード リスト VAList のデフォルト(VARecordList = True)の動作では、リスト ボックスやその他の方法(スクロール バーや GetEqual コマンドなど)によって位置が変更された場合でも、現在のレコードが必ずリストの一番上に表示されます。
    VAAutoScroll が False の場合、このデフォルトは無効になり、リスト ボックス自体以外のソースによって位置が変更された場合にのみ、現在のレコードがリストの一番上に表示されます。たとえば、リスト ボックス内の項目をクリックすると VAccess コントロールの位置が変更されますが、リスト ボックス内の項目の位置は変更されません。
  4. VARecordList プロパティを設定します。
    このプロパティを True に設定した場合は、リスト ボックス コントロールまたはコンボ ボックス コントロールのモードが、フィールド連結コントロールからレコード ブラウザーに切り替わります。
    VARecordList プロパティにより、できるだけ多くのレコードをリスト コントロールに入力することが可能になります。リスト内の一番上の項目は、現在のレコードです(ただし、VAAutoScroll プロパティが False に設定されている場合は、選択されているリスト項目が現在のレコード)。
    VARecordList = True の場合は、追加機能を使用することができ、この追加機能には、設計時にプロパティ ページのボタンを使用してアクセスできます。VAFieldName プロパティおよび VAFormat プロパティには、それぞれセミコロンで区切られたフィールドと書式のリストを含めることができます。ただし、コントロールがフィールド バウンド モードの場合(VARecordList プロパティが False の場合)は、1 つのエントリに制限されます。また、VAAutoScroll プロパティと ColumnWidth プロパティが使用可能になります。
  5. 表示させるフィールドを選択します。
    VAList に表示させるフィールドを 1 つ選択するには
      a. [VAFieldName]ボックスの矢印をクリックします。
      b. ドロップダウン リストからフィールドを選択します。
    VAList に表示させるフィールドを複数選択するには
      a. [VAFieldName]ボックスのテキスト フィールドをクリックします。
      b. 表示させるフィールドをセミコロン(;)で区切って入力します。
    または、
      a. [VAFieldName]テキスト ボックスの横にある[...]ボタンをクリックします。
      b. 追加するフィールドをそれぞれダブルクリックします。
      c. [OK]をクリックします。
  6. 列幅を設定します。
    1. [ColumnWidth]ボックスの横にある[...]ボタンをクリックします。
    2. 編集ボックス内で、VAList ボックスの最初の列の任意の右端をダブルクリックします。最後の列以外のすべての列に対してこの操作を繰り返します。この操作の終了後は、列の線を新しい位置までドラッグできます。

2 つの VAccess コントロールを結合する

VAccess コントロールの Join プロパティを使用すると、キー値を使用して 2 つのファイルをリンクさせることができ、たとえば、最初の(マスター)ファイルでのレコードの位置を変更した場合、その変更は 2 番目の(スレーブ)ファイルから取得されたレコードにも反映されます。Join プロパティは、リレーショナル データベースを参照するための簡単な機能を提供します。

スレーブ コントロール内の結合されたフィールドは、インデックス フィールドである必要があります。またこのフィールドのデータは、マスター コントロール内の対応するフィールドと同じ未処理データである必要があります。マスター コントロール内のフィールドは、インデックスである必要はありません。スレーブ コントロールの IndexNumber プロパティは、この結合に関連があるインデックスに設定されたままであることが条件で、設定されていない場合、この結合は解除されます。

1 対 1、多対 1、1 対多のすべての結合が使用できます。スレーブ VAccess コントロールの ExtendedOps プロパティが True に設定されている場合は、1 対多の関係が最も有効です。この場合、スレーブ コントロールは、キー値に一致するすべてのレコードをマスター コントロールから自動的に取得し、その RowColumnValue プロパティからフィールド データにアクセス可能になります。このデータは、VAccessName プロパティをスレーブ コントロールの名前に、また VAFieldName プロパティを表示されるフィールドにそれぞれ設定することにより、レコード リスト モードで VAList ボックスに表示させることができます。スレーブ コントロールの Join プロパティを設定するには、以下の操作を行います。

  1. スレーブ コントロールのプロパティ ダイアログ ボックスを開きます。
  2. [Setting]タブをクリックします。
  3. インデックスを設定します。
  4. [File Information]タブをクリックします。
  5. [File Information]タブの[Join]をクリックします。
  6. [To VAccess]ボックスの矢印をクリックします。
  7. ドロップダウン リストからマスター ファイルを選択します。
  8. [Where]ボックスで、マスター ファイルをリンクさせるスレーブ ファイルのインデックスを選択します。
  9. [Fields]ボックスで、スレーブ ファイルのリンク先になるマスター ファイルのフィールドをダブルクリックします。
  10. [OK]をクリックして[Join Controls]ダイアログ ボックスを閉じます。
  11. [OK]をクリックして VAccess のプロパティ ページを閉じます。

VACommand コントロールを使用して Btrieve オペレーションを実行する

  1. フォームにコントロールを追加します。VAccess データ コントロールを選択してフォームに配置します。を参照してください。
  2. VAccess プロパティを設定します。バウンド コントロールの VAccess プロパティを設定します。を参照してください。
  3. VAOperation プロパティを設定します。
    1. プロパティ ダイアログ ボックスの[Operation Settings]タブをクリックします。
    2. [VAOperation]ボックスの矢印をクリックします。
    3. ドロップダウン リストからオペレーションを選択します。




Pervasive PSQL を Visual Basic で使用

レッスン 2:Visual Basic で Btrieve API を使用する