|
VAccess
このコントロールに関連付けられた DDF ファイルが常駐するドライブとパスを設定します。
このプロパティは DDF データ定義ファイルの特定のセットに VAccess コントロールを接続します。このプロパティを変更した場合は、この DDF 内のテーブル名の 1 つを VAccess コントロールの TableName プロパティとして指定する必要があります。
実行時にこのプロパティを変更する場合は、事前に VAccess コントロールと関連付けられた現在開いているファイルをすべて閉じてください。次に、新たな TableName プロパティとして、新しい DDF のテーブル名の 1 つを指定する必要があります。新規ファイルを開く前に新たに Location プロパティを指定する必要のある場合もあります。
メモ
RefreshLocations が False の場合、DdfPath は変更できません。
OnRemote は DdfPath がエラーの時に呼び出されます。
この機能を使用して、実行時にパスを解決したり、ユーザーに接続エラーを通知することができます。
DdfPath は次のうちいずれかの書式にできます(以下で説明します)。
従来のドライブ名を用いる表記(c:
¥
path
¥
datafile
)は、ActiveX の旧バージョンと同様 DdfPath プロパティで使用できます。ドライブが見つからなかった場合、VAccess はパス環境設定を使用して IDSHOSTS と呼ばれるファイルを探します(LMHOSTS と同様、このファイルはネットワークあるいは IP アドレスにドライブ名をマップする際に使用されます。詳細については、『Pervasive PSQL Programmer's Guide』を参照してください)。このファイルが見つかった場合は、要求されたパスを検索します。要求されたパスがマップされている場合、VAccess コントロールは指定の場所で IDS への接続を試みます。
場所を指定するために URL も使用できます。プロトコル固有のプレフィックスは、リモート(IDS)呼び出しの場合は pids、ローカル呼び出しの場合は pmke です。そのため、ローカル呼び出しは pmke://{server}/[path/.../][tablename] のような形式となり、リモート呼び出しは pids://{server}/[path/.../][tablename] のような形式となります。
UNC(¥¥
server
¥
path
¥
datafile
)は、DdfPath エントリとしても使用できます。ここではサーバーは LAN 上の Pervasive PSQL サーバー、IDS サーバーあるいは IDS サーバーにマップされた IDSHOSTS のサーバーとすることができます。サーバーが標準 IP アドレスあるいはドメイン名でない場合は、VAccess はサーバー名をローカルで解決します。その場所がローカルでは使用できない場合は、VAccess は IDSHOSTS を使用してサーバー名を解決します。正常に解決できれば、呼び出しを IDS に再ルーティングします。
上記の説明のように、DdfPath はローカルあるいはリモートのアクセスを指定する際に使用できます(『Pervasive PSQL Programmer's Guide』も参照してください)。ただし、リモート アクセスが要求された場合、HostConnect が True に設定されていない限り、VAccess コントロールは IDS への接続を試みません。また、DdfPath プロパティと Location プロパティで、2 つの異なる IDS サーバーに同時にアクセスすることはできません。
そのため、Location がリモートの場所に設定され、DdfPath が別のリモートの場所に設定されている場合は、Location プロパティのサーバー名は、DdfPath によって指定された新たなリモートの場所を反映して変更されます。Location がローカル ディレクトリに設定されている場合、DdfPath は Location に影響しません。
HostAddress に URI を使用してサーバーが指定されている場合は、DdfPath に指定されたサーバーはすべて無視されます。
メモ
DdfPath が変更されると、VAccess は新たなパスで DDF ファイルを読み取り、内部テーブル リストの FieldList と IndexList を更新します。
'現在開いているファイルを閉じる Customers.Close '辞書情報をリフレッシュする Customers.RefreshLocations = True Customers.DdfPath = "v:¥accounts" Customers.TableName = "customer002" Customers.RefreshLocations = False '場所の情報を設定する Customers.Location = "cust002.dat" 'ファイルを開く stat = Customers.Open
影響先:Location、GetTableList、IndexList、FieldList
影響元:RefreshLocations、HostAddress、HostConnect、OnRemote イベント
|