(非推奨 - 以前の I*net Data Server のみ)このプロパティが True に設定されていると、コントロールは通信エラーが発生した場合に自動的にダイアログ ボックスをユーザーに表示します。これは、PSQL サーバーに到達できない場合に発生します。VAccess コントロールが IDS 経由でリモート データへのアクセスを試みないのであれば、このプロパティは無視されます。
AutoDialog プロパティは、IDS 経由の通信エラーが発生した場合に、ActiveX が自動的にダイアログ ボックスを表示するかどうかを決定します。再接続が可能な場合は、ダイアログ ボックスに再接続を試行できるプロンプトが含まれます。デフォルト値は
False です。
『PSQL Programmer's Guide』
(非推奨 - 以前の I*net Data Server のみ)このプロパティを True に設定しておくと、アプリケーションは安全な IDS サイトでデータベースを開くとき、自動的にログオン ダイアログ ボックスをユーザーに提供できます。このプロパティが
False の場合は、セキュリティ情報を提供するために、アプリケーションは
Logon イベントを手動で処理する必要があります。
AutoLogon プロパティには 2 つの関連機能があります。まず、IDS からログオンの要求があった場合に、ActiveX が自動的にログオン ダイアログ ボックスをユーザーに表示するかどうかを決定します。IDS が
Browseable に設定されている場合は、このダイアログは IDS データベース名のリストを提示します。Browseable に設定されていない場合は、ユーザーにデータベース名を入力するように要求します。また、
AutoLogon は、IDS がセキュリティ情報を要求したときに
Logon イベントを発生させるかどうかも決定します。
AutoLogon が
True に設定されている場合、ActiveX はデフォルトのログオン ダイアログ ボックスを表示し、
Logon イベントは発生しません。
このプロパティが False に設定されている場合、デフォルトのダイアログは表示されず、IDS がセキュリティ情報を要求するたびに
Logon イベントが発生します。その後
Logon イベントに応答して、セキュリティ情報を提供するか、カスタム ログオン ダイアログ ボックスを実装することができます。
『PSQL Programmer's Guide』
AutoMode プロパティを
True に設定しておくと、実行時に
Init メソッドが呼び出されるとすぐに、PSQL の Extended Fetch オペレーション(GetNextExtended)を自動的に実行して、
SelectedFields および
SelectedRecords プロパティで指定されたデータを取得します。GetNextExtended オペレーションは論理カレンシーを必要とします。論理カレンシーは、GetFirst、GetEqual などのインデックス付きのレコード オペレーションを呼び出すことによって設定できます。
AutoMode が
True に設定されている場合は、選択条件を満たすレコードが自動的にフェッチされ、
Row 値の要求に従って、レコード セットのスナップショットとしてメモリにキャッシュされます。
AutoMode が
True に設定されている場合、Extended メソッドは無効になります。
CancelDialog プロパティが
True の場合は、データ アクセス オペレーションの間にユーザーに[Cancel]ダイアログ ボックスが表示され、ユーザーは、このプロセスをキャンセルすることができます。
AutoMode が
True に設定されている場合は、Extended オペレーションを使用しようとすると、実行時に
-1 のステータスが返されます。
ExtendedOps を参照してください。
AutoMode プロパティが
False に設定されている場合、データの取得はユーザー自身で行ってください。
Init メソッドの呼び出しでは、PSQL が Extended オペレーションの呼び出しで使用する構造体を割り当てるだけで、データの取得は実行されません。
GetNextExtended、
GetPreviousExtended、
StepNextExtended、または
StepPreviousExtended メソッドを実行時に実行することによってデータをフェッチすることができます。Extended オペレーションのキャッシュ バッファーは 1 つだけメモリに保持され、後続のフェッチで再利用されます。
影響先:GetNextExtended、GetPreviousExtended、StepNextExtended、StepPreviousExtended、Init、Row
AutoOpen プロパティは以前の
RequireOpen プロパティと置き換えられたものです。このプロパティは、データ ファイルが妥当な場合に、VAccess コントロールがそのファイルを自動的に開くかどうかを決定します。このプロパティが
True に設定されると、VAccess は実行時のインスタンス生成時、また
Location プロパティが変更されるたびに要求されたデータ ファイルを開こうとします。このプロパティが
False に設定されている場合は、データ ファイルに対して何らかの操作を実行しようとする前には、ユーザー自身で
Open 呼び出しを行ってください。
object.
Buffer(short
alignment)
Buffer プロパティの構文は次のような要素で構成されます。
返されるバッファーは単一レコード バッファーだけです。Stat 呼び出しの後のステータス バッファーの内容は含みませんし、Extended オペレーションの呼び出し後の Extended オペレーション レコード バッファーも含みません。この情報は、ほかのプロパティやメソッドからも利用できます(Stat、RowColumnValue、RowPosition を参照してください)。
Clear メソッドはこのバッファーを消去します。
影響元:Clear、GetDirect、GetEqual、GetGreaterOrEqual、GetLessOrEqual、GetFirst、GetPrevious、GetNext、GetLast、StepFirst、StepPrevious、StepNext、StepLast、Percentage
CacheRejectMax プロパティの値を指定すると、PSQL が
SelectedRecords プロパティ フィルター条件を満たすレコードの検索中にスキップできるレコード数が制限されます。このプロパティがゼロの場合はシステム定義の最大値が使用されます。このプロパティを使用して、所定クエリの読み取り時間を最適化することができます。このプロパティの有効範囲は、0 レコード(デフォルト値)から 65,535 レコードまでです。
SelectedRecords プロパティに値が指定されていない場合は、このプロパティの設定はまったく効果がありません。
このプロパティは、GetNextExtended メソッド、
GetPreviousExtended メソッド、
StepNextExtended メソッド、または
StepPreviousExtended メソッドで使用できるほか、特定の
Row 値の要求を受けて、
AutoMode モードで実行している VAccess コントロールで使用できます。
PSQL が Extended Fetch を処理している間に CacheRejectMax 値に達した場合、このフェッチ オペレーションは、その処理の中で検出したレコード選択条件を満たすレコードのセットと、拒否された(該当しない)レコードのフィルター制限に達したことを示すステータス値 64 を返します。
影響先:GetPreviousExtended、GetNextExtended、StepPreviousExtended、StepNextExtended
影響元:SelectedRecords、ExtendedOps
CacheRows プロパティは一度の PSQL Extended Fetch オペレーションで返される最大行数を決定します。
このプロパティに設定し得る最大値は返される行のバイト長によって決まりますが、この行の長さは、SelectedFields プロパティがある場合にはその値によって、ない場合はデータ ファイルの定義済みのデータ バッファー長によって決まります。このプロパティは、Extended Get オペレーション構造体のデータ抽出の固定部分の「取得するレコード数」に対応しています(『
PSQL Programmer's Guide』の「Get Next Extended」の説明を参照してください)。
このプロパティをゼロに設定すると、返される行の長さと MaxBufferSize プロパティの値に基づいて可能な最大値が自動的に計算され、それが使用されます。このプロパティに低い値を設定すると、所定クエリの読み取り時間を最適化することができます。
影響元:ExtendedOps、MaxBufferSize、SelectedFields、Init
AutoMode プロパティが
True に設定されている場合、
CancelDialog を
True に設定すると、複数の Extended Fetch オペレーションが実行される間、ユーザーにダイアログ ボックスが表示されるようになります。これを利用して、ユーザーはオペレーションの合間にフェッチ要求をキャンセルできます。
AutoMode が
True の場合、Extended Fetch オペレーションは
Row プロパティの変更に伴って実行されます。
[Cancel]ダイアログ ボックスには、現在取得済みのレコード数が表示されます。この数値は Extended Fetch イベントから新たなレコード ブロックが返されるたびに更新されます。AutoMode の Extended Fetch イベントをキャンセルすると、キャンセル前に取得した行はメモリに保持されます。このプロパティは、
AutoMode プロパティが
False の場合にはまったく効果がありません。
影響元:ExtendedOps、Row、AutoMode
Extended Fetch レコード セットのどの列が、FieldValue プロパティおよび
ColumnName プロパティの現在の列になるのかを指定します。
Extended Fetch レコード セットの各列はデータベースのフィールドと対応しています。SelectedFields プロパティに値が指定されている場合、列値の順序は
SelectedFields プロパティに記載されたフィールドの順序と同じです。
SelectedFields プロパティに値が指定されていない場合、列値の順序はデータベース レコードのフィールドの順序と同じです。
Column プロパティと
Row プロパティで、Extended Fetch オペレーションによって返されるレコード セットの個別フィールドを指定します。
Column プロパティの値の有効範囲は 1(最初の列)から
Columns プロパティの値(最後の列)までです。このプロパティは設計時には使用できません。
Column プロパティは、
ColumnName プロパティとペアになります。一方を設定すると、もう一方も設定されます。
特定のフィールド値を指定、取得する場合は、通常、Column よりも
RowColumnValue の方が簡単です。
影響先:ColumnName、FieldValue、RowColumnValue
ColumnName プロパティには、Extended Fetch オペレーションによって返されたレコード セットの、現在選択されている列に割り当てられたフィールドのフィールド名が格納されます。
ColumnName プロパティは、
Column プロパティとペアになります。一方を設定すると、もう一方も設定されます。つまり、
Column プロパティは、
ColumnName の現在の列を特定します。
このプロパティを連続で呼び出して列挙されたフィールドは、FieldList で指定されたフィールドとは異なっている、あるいは異なった順序になっている場合があります。これは、
FieldList にはレコードの実際のフィールドがオフセット順で入っているのに対し、列は
SelectedFields によって決定づけられるからです。
影響元:Column、SelectedFields、ExtendedOps
Columns プロパティは Extended Fetch レコード セットに定義されている列数を返します。
Extended Fetch オペレーションに対してSelectedFields プロパティが指定されている場合、この値は
SelectedFields プロパティに指定されたフィールド数と同じです。その他の場合は、データ ファイルのレコードに対して定義された合計数と同じです(「
Fields プロパティ」を参照)。
このプロパティは設計時には使用できません。実行時は読み取り専用です。このプロパティには、Extended オペレーションの Init メソッドが実行時に呼び出された後にのみ有効なデータが入ります。VAccess コントロールの Extended オペレーション機能を有効にするには、
ExtendedOps プロパティを
True に設定する必要があります。
影響元:ExtendedOps、SelectedFields
3
|
VAFieldName プロパティで表示する列をまだ選択していない場合は選択します。(これを行うには、リスト ボックスで右クリックして、プロパティ ページにアクセスします。 VAFieldName の横にある省略ボタンをクリックし、列を選択します。)
|
4
|
プロパティ ページの VAFieldName プロパティで、目的のフィールドを選択します。使用可能なフィールド(列)をダブルクリックすると、それを選択することができます。[ OK]をクリックします。
|
5
|
引き続きプロパティ ページから、ColumnWidth コンボ ボックスの隣の省略ボタンをクリックし、[Multi-Column Listbox Tab Settings]ウィンドウを開きます。選択した最初のフィールドが表示されます。
|
CompressData プロパティは IDS と通信する際に圧縮機能を使用するかどうかを決定します。IDS は圧縮設定をクライアント単位で実行中に決定するので、レコード要求とレコード要求の間であっても、このプロパティは実行時に
True または
False に設定できます。
『PSQL Programmer's Guide』
接続するデータベース名を指定します。このプロパティは HostAddress および
HostConnect を組み合わせて使用し、ホスト名とデータベース名を指定します。ActiveX ではデータベース URI を使用してデータベースに接続します。
データベース URI の詳細については、『PSQL Programmer's Guide』を参照してください。
影響先:HostAddress、HostConnect
このプロパティが False の場合、VAccess コントロールは、すべてのインデックス情報にステータス バッファーのインデックス情報を使用します。ステータス バッファーにない情報(
IndexName など)については DDF を使用します。
True の場合、VAccess は DDF 情報を排他的に使用します。DDF が正しくない場合にこのプロパティの設定を
True にすると、すべてのキーベースのナビゲーション呼び出しがエラーになります。
実行時にこのプロパティを変更する場合は、事前に VAccess コントロールと関連付けられた現在開いているファイルをすべて閉じてください。次に、新たな TableName プロパティとして、新しい DDF のテーブル名の 1 つを指定する必要があります。新規ファイルを開く前に新たに
Location プロパティを指定する必要のある場合もあります。
OnRemote は
DdfPath がエラーの時に呼び出されます。
DdfPath は次のうちいずれかの書式にできます(以下で説明します)。
従来のドライブ名を用いる表記(c:\path\datafile)は、ActiveX の旧バージョンと同様
DdfPath プロパティで使用できます。ドライブが見つからなかった場合、VAccess はパス環境設定を使用して IDSHOSTS と呼ばれるファイルを探します(LMHOSTS と同様、このファイルはネットワークあるいは IP アドレスにドライブ名をマップする際に使用されます。詳細については、『
PSQL Programmer's Guide』を参照してください)。このファイルが見つかった場合は、要求されたパスを検索します。要求されたパスがマップされている場合、VAccess コントロールは指定の場所で IDS への接続を試みます。
場所を指定するために URL も使用できます。プロトコル固有のプレフィックスは、リモート(IDS)呼び出しの場合は pids、ローカル呼び出しの場合は
pmke です。そのため、ローカル呼び出しは
pmke://{server}/[path/.../][tablename] のような形式となり、リモート呼び出しは
pids://{server}/[path/.../][tablename] のような形式となります。
UNC(\\server\path\datafile)は、
DdfPath エントリとしても使用できます。ここではサーバーは LAN 上の PSQL サーバー、IDS サーバーあるいは IDS サーバーにマップされた IDSHOSTS のサーバーとすることができます。 サーバーが標準 IP アドレスあるいはドメイン名でない場合は、VAccess はサーバー名をローカルで解決します。 その場所がローカルでは使用できない場合は、VAccess は IDSHOSTS を使用してサーバー名を解決します。正常に解決できれば、呼び出しを IDS に再ルーティングします。
上記の説明のように、DdfPath はローカルあるいはリモートのアクセスを指定する際に使用できます(『
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 を更新します。
影響先:Location、GetTableList、IndexList、FieldList
影響元:RefreshLocations、HostAddress、HostConnect、OnRemote イベント
DdfTransactionMode の設定により、データ辞書テーブルへの更新がトランザクション内で実行されるかどうかが決定されます。ブール値を受け付けます。またはブール値を返します。
DdfTransactionMode は、トランザクション内の DDF 辞書操作すべてをラップするので、DDF ファイルに変更を行う場合は
True に設定し、その他の場合は
False に設定してください。
『PSQL Programmer's Guide』
このプロパティが True の場合、VAccess コントロールは Extended Fetch メソッドを使用してレコードを取得できます。
ExtendedOps プロパティが
False の場合、あるいは
AutoMode プロパティが
True に設定されている場合は、Extended オペレーションを使用する
GetNextExtended、
GetPreviousExtended、
StepNextExtended、
StepPreviousExtended などのメソッドはすべて、Extended オペレーションが使用できないことを示す、
-1 というコードを返します。
このプロパティが False(デフォルト値)の場合、VAccess コントロールは PSQL データ ファイルをナビゲートし、単一レコード フェッチ オペレーションを使用してレコードを取得します。
影響元:AutoMode、CacheRows、CancelDialog、Column、Columns、ColumnName、MaxBuffersize、Row、RowPosition、Position、Rows、SelectedFields、SelectedRecords、RowColumnValue、FieldValue、CacheRejectMax、Init、GetNext、GetPrevious、StepNext、StepPrevious、GetNextExtended、GetPreviousExtended、StepNextExtended、StepPreviousExtended
DdfPath と
TableName によって特定される現在のテーブルの、フィールドに関する情報を含むバリアント配列を取得または設定します。
FieldList プロパティは、2 次元バリアント配列をカプセル化するバリアントを受け付けます。あるいはそのバリアントを返します。最初の添字はフィールドの 1 つのプロパティを参照し、2 番目の添字はフィールドの序数を参照します。最初の添字が参照するプロパティは次の表のとおりです。
この配列のコメント列は、DDFGetFieldComments メソッドが
FieldList プロパティを読み取る前に呼び出された場合にのみ追加されることに注意してください。
RefreshLocations が
True に設定されている場合は、
FieldList を読み取ると、VAccess は DDF ファイルを再読み取りし、DDF に保存されているフィールド情報を取得します。
RefreshLocations を
True に設定して
FieldList を変更しても、すべての変更が即時に DDF 自体へ書き込まれなくなりました。DDF へ変更を実際に書き込むには、ここで
DdfAddTable、
DdfModifyLocation などを呼び出す必要があります。これは PSQL SDK のリリース以降での動作の変更点です。
RefreshLocations が
False の場合は、
FieldList オペレーションはフィールドの VAccess コントロールのメモリ イメージを読み取り、更新します。
DdfTransactionMode と
RefreshLocations がともに
True に設定されている場合は、
FieldList のすべての操作はトランザクション内で実行されます。
For i = 0 to Ubound(fields, 2)
影響元:DdfTransactionMode、RefreshLocations
影響先:FieldList、Join、FieldNumber
FieldValue プロパティの構文は次のような要素で構成されます。
|
|
|
|
|
必須。object 内の有効なフィールドを特定する、文字列のフィールド名あるいは整数のフィールド インデックスです。
|
データの読み書きはメモリ内の現在のレコードに対して行われます。このレコードに対する変更は、Update メソッドまたは
Insert メソッドが呼び出されるまで PSQL ファイルに保存されません。
コントロールの ExtendedOps プロパティが
True の場合、field パラメーターには、
Row プロパティの値によって示される現在の行に含まれる列の列名、あるいは列インデックスを指定します。パラメーターが指定されていない場合は、返される列は
Column プロパティで指定された列になります。
FieldValue プロパティは、コントロールの
ExtendedOps プロパティが
True の場合は読み取り専用です。
RowColumnValue メソッドを使用して、Extended Fetch レコード セットから有効な Row 座標と Column 座標を基に値を返すこともできます。
このプロパティを True に設定すると、VAccess コントロールの
OnRemote イベント、
Validate イベント、
Reposition イベントおよび
GotData イベントの発生が有効になります。アプリケーションでこれらのイベントにコードを含めない場合は、このプロパティを
False に設定することによってそれらのイベントを無効にすることができます。
このプロパティを True に設定すると、VAText のテキストはテキスト ボックスがフォーカスを受け取ったときに選択されるようになります。
Location や
DdfPath と同様、このプロパティは
HostConnect プロパティに従属します。
HostConnect が
True の場合に
HostAddress プロパティの値を変更すると、古い接続(存在する場合)は閉じられ、新しい接続が試行されます。ActiveX がサーバーへの接続を試行して失敗した場合は、
HostConnect プロパティは自動的に
False に設定されます。別の接続を試行するには、
HostConnect を
True に設定し直す必要があります。
HostAddress は、
DdfPath と
Location のあらゆるサーバー設定に優先されます。
『PSQL Programmer's Guide』
このプロパティが ActiveX コントロールに作用するのは、HostAddress に値が入力された場合です。このプロパティが
True に設定されており、
HostAddress が空でなければ、VAccess は要求されたサーバーとの接続を試行します。サーバー アドレスを解決できない場合、あるいは接続が失敗した場合は、その接続エラーの後、
HostConnect プロパティは自動的に
False に設定されます。
HostConnect は VAccess とローカル Btrieve リクエスターとの相互作用には影響しません。
『PSQL Programmer's Guide』
影響元:DdfPath、Location、HostAddress
このプロパティの値を True に設定すると、ファイル内の現在のレコード位置で次の Extended Fetch オペレーションが開始されます(PSQL Extended Fetch API のレコード要求構造体で定数 "UC" を設定するのと同等です)。このプロパティの値を
False に設定すると、ファイル内の後続レコード位置で次の Extended Fetch オペレーションが開始されます(PSQL Extended Fetch API のレコード要求構造体で定数 "EG" を設定するのと同等です)。このプロパティは
Init メソッドが呼び出された後自動的に
True に設定され、
Init に続けて最初の Extended Fetch オペレーションが実行された後自動的に
False にリセットされます。
影響先:GetNextExtended、GetPreviousExtended、StepNextExtended、StepPreviousExtended
影響元:ExtendedOps、Init、GetNextExtended、GetPreviousExtended、StepNextExtended、StepPreviousExtended
DdfPath と
TableName によって特定される現在のテーブルの、インデックスに関する情報を含むバリアント配列を取得または設定します。
IndexList プロパティは、2 次元バリアント配列をカプセル化するバリアントを受け付けます。あるいはそのバリアントを返します。最初の添字はインデックス セグメントの 1 つのプロパティを参照し、2 番目の添字はインデックス セグメントの序数を参照します。最初の添字が参照するプロパティは次のとおりです。
RefreshLocations が
True に設定されている場合は、
IndexList を読み取ると、VAccess は DDF ファイルを再読み取りし、DDF に保存されているフィールド情報を取得します。
RefreshLocations を
True に設定して
IndexList を変更しても、すべての変更が即時に DDF ファイル自体へ書き込まれなくなりました。DDF へ変更を実際に書き込むには、ここで
DdfAddIndex、
DdfDropIndex、または
DdfDropIndexMaintain を呼び出す必要があります。これは Pervasive.SQL 2000 SDK のリリース以降での動作の変更点です。
RefreshLocations が
False の場合は、
IndexList オペレーションはインデックスの VAccess コントロールのメモリ イメージを読み取り、更新します。
DdfTransactionMode と
RefreshLocations がともに
True に設定されている場合は、
IndexList のすべての操作はトランザクション内で実行されます。
DdfKeyUseIndexDdfOnly が
True に設定されている場合は、
IndexList プロパティは常に DDF にある内容だけを反映します。
DdfKeyUseIndexDDFOnly が
False の場合、
IndexList はインデックス情報が更新されるたびにステータス バッファーから正しいインデックス情報を取得し、ステータス バッファーに保持されない情報については DDF を使用します。
For i = 0
to Ubound(indexes,2)
For j = 0
to Ubound(indexes, 1)
For i = 0
to Ubound(indexes,2)
For j = 0
to Ubound(indexes, 1)
影響元:RefreshLocations、DdfPath、TableName、DdfTransactionMode
データ ファイルのインデックス値の有効範囲は 0 から TotalKeys プロパティの値から 1 を引いた値までです。
Join は現在のインデックスに従属するため、IndexNumber を変更すると現存の Join すべてが空白にされます。
IntegralHeight プロパティが
True に設定されていると、VACombo のリスト部分はフォント サイズの違いを考慮してサイズが調整されます。リストの下部の不要なスペースを削除するには、このプロパティを使用します。
IndexNumber プロパティまたは
TableName プロパティを変更すると、現在の結合が消去されます。
object.
Join = "
VAccessName:
joinedField[,
joinedField]"
Join プロパティの構文は次のような要素で構成されます。
|
|
|
|
|
マスター コントロールのデータ ソースとして働く、object をリンクする VAccess コントロールの名前です。
|
|
VAccessName によって参照されるコントロールのフィールドの名前です。複数のフィールドを指定する場合は、名前をカンマで区切ります。名前を挙げた各フィールドの格納型と長さは、IndexNumber プロパティに指定されている、 object に対して選択されたインデックスの対応するインデックス セグメントと同一である必要があります。
|
Join プロパティを使用して、1 対 1 あるいは 1 対多関係にある関連データ ファイルを自動的に同期させることができます。
VAccess コントロールを別の VAccess コントロールに結合するには、どのインデックスを使用するかを IndexNumber プロパティに指定してから、
Join プロパティにマスター VAccess コントロールの名前を指定し、次にコロン、その後に結合したコントロールの選択されたインデックスの値と正確に一致するマスター コントロールのフィールド名を入力するだけです。
CompanyCode から始まる注文(Order)のスナップショットを取得するには、CompanyCode で Orders を Customers に結合し、OrderNumber で OrderLineItems を Orders に結合し、ProductCode で OrderLineItems を Products に結合します(図 7を参照してください)。CompanyCode(会社コード)によって Customer(顧客)を取得すると、その顧客のすべての注文(Oders)、選択された各注文のすべての明細(OrderLineItems)、および選択された明細の正しい製品情報(Products)がフェッチされます。別の注文あるいは別の明細を選択すると、以降のすべての結合コントロールのデータ セットが再度同期化されます。
影響元:TableName、IndexNumber
NCC(カレンシー変更なし)のオペレーションの詳細については、『PSQL Programmer's Guide』を参照してください。
List プロパティの構文は次のような要素で構成されます。
このプロパティはリスト項目にアクセスする際に使用します。空の場合、インデックスは -1 です。リストの最初の項目は 0 で、最後の項目のインデックスは
ListCount - 1 です。
最初は、コンボ ボックスおよびリスト ボックス コントロールには空のリストが入っています。レコード リスト モードで動作しているコントロール(VARecordList プロパティが
True に設定されている)の場合、リストは実行時にコントロールが作成されたときに存在する条件を基準にして作成されます。
List プロパティは、
ListCount プロパティおよび
ListIndex プロパティと関連して動作します。リストを 0 から
ListCount -1 まで列挙すると、リスト内のすべての項目が返されます。
フィールド バウンド(VARecordList プロパティは
False)VACombo コントロールまたは VAList コントロールに表示する項目を指定するには、
AddItem メソッドを使用します。項目を削除するには、
RemoveItem メソッドを使用します。アルファベット順で項目を保存するには、リストに項目を追加する前に、コントロールの
Sorted プロパティを
True に設定します。
設計時には、Location プロパティのデフォルト値は
TableName プロパティで指定されたファイルの DDF 定義の Table Location の値になります。
Location プロパティの使い方の詳細については、『PSQL Programmer's Guide』を参照してください。
影響元:DdfPath、TableName、RefreshLocations、HostAddress、HostConnect、AutoOpen、OnRemote
Locked プロパティの構文は次のような要素で構成されます。
|
|
|
|
|
コントロールが編集可能かどうかを指定するブール式です。True の場合、ユーザーはコントロール内のテキストをスクロールしたり反転表示させることはできますが、編集はできません。ただし、プログラムであれば、Text プロパティを変更することによってテキストを修正できます。 False(デフォルト)の場合は、ユーザーはコントロールのテキストを編集できます。
|
コントロールに関連付けられたフィールドが英数字フィールド(Char、VarChar、LongVarChar データ型)の場合、このプロパティのデフォルト値は VASize プロパティに保存されているフィールド長となります。その他の場合は、
MaxLength プロパティのデフォルト値は 0 で、最大値がないことを意味します。
このプロパティを True に設定すると、英数字フィールドに保存されたデータが ANSI 文字セットと OEM 文字セットの間で変換されます。
このプロパティのデフォルト値は False です。このプロパティを
True に設定すると、フィールド データを読み取る際に OEM 文字セットから ANSI 文字セットに変換され、英数字フィールド情報がインデックス検索で使用されるとき、あるいはファイルに書き戻されるときに ANSI 文字テキストから OEM テキストに変換されます。
このプロパティのデフォルト値は 0(ノーマル)です。たいていの場合、このモードを選択します。ファイルは、ほかのプロセスからそのファイルを開けないようにするエクスクルーシブ アクセスや、アプリケーションからファイルを変更できないようにするリード オンリー モードで開くこともできます。アクセラレイティド アクセス モードとベリファイ モードは、PSQL ではまったく効果がありません。
OwnerName プロパティによって、VAccess コントロールに関連するファイルを開く場合に使用される PSQL オーナー ネームを指定することができます。
オーナー ネーム プロパティは、設計時に入力することもできます。あるいは AutoOpen プロパティが
False の場合は、実行時にファイルを開く前に設定することもできます。
OwnerName は
SetOwner メソッドで使用します。
DdfCreateTable メソッドの呼び出しの前にこのプロパティを設定して、作成されるデータ ファイルのぺージ サイズを決定します。
Percentage プロパティの構文は次のような要素で構成されます。
このプロパティを実行時に設定すると、関連付けられたファイルで PSQL GetByPercentage オペレーションが実行されます。オペレーションのステータスはコントロールの
Status プロパティに返されます。ステータス 0 は正常終了を示します。このプロパティを実行時に読み取ると、PSQL
FindPercentage オペレーションが実行され、オペレーションの結果が返されます。値の範囲は、0.00 から 100.00 パーセントを表す 0 から 10,000 までです(または、精度を指定する場合は 0 から 0xFFFFFFFF までです。『
Btrieve API Guide』の
「Get By Percentage(44)」および
「Find Percentage(45)」を参照してください)。xxPercentage オペレーションの精度は、さまざまな条件によって決まります。
ExtendedOps プロパティが
False である場合、このプロパティを実行時に設定すると、関連ファイルで
GetByPercentage オペレーションが実行されます。
ExtendedOps が
True の場合は、このプロパティを設定すると、現在の Row プロパティ値が現在の Extended オペレーション バッファー内で指定されたパーセント値に移動されます。
ExtendedOps プロパティが
False である場合、このプロパティを実行時に読み取ると、
FindPercentage オペレーションが実行され、オペレーションの結果がプロパティ値として返されます。
ExtendedOps が
True の場合は、返された値は現在の Extended オペレーション バッファ内の現在の行のパーセント値を表します。
Position プロパティは、PSQL ファイルの個別レコードを一意に識別する Long 型整数です。
GetDirect メソッドを呼び出す前にこのプロパティを設定して、ファイルのインデックス検索を行わずに、直接このプロパティで識別されるレコードを取得します。
データ コントロールは、Position プロパティ値が現在値かどうかを追跡します。プロパティ値が現在値でないときにプロパティを読み取ると、コントロールは
GetPosition 呼び出しを行って現在の値を返します。コードでこのプロパティ値を設定すると、その値は内部的に現在値とマークされますが、現在のポジショニングの変更は行いません。これは、
GetDirect メソッドを呼び出すことによって実行されます。
影響元:ExtendedOps、Row、GetDirect、GetEqual、GetFirst、GetGreater、GetGreaterOrEqual、GetLast、GetLess、GetLessOrEqual、GetNext、GetNextExtended、GetPrevious、GetPreviousExtended、StepFirst、StepLast、StepNext、StepNextExtended、StepPrevious、StepPreviousExtended
RefreshLocations は、VAccess コントロールがメタデータについて、DDF ファイルを使用するのか、あるいは、内部状態と永続的なプロパティ(一方または両方)を使用するのかを決定します。
RefreshLocations が
True の場合は、VAccess コントロールは DDF ファイルへのパススルーの役割をします。つまり、メタデータへの要求はすべて DDF ファイルから直接再読み取りされます。
このプロパティが True の場合、ActiveX データ ソース コントロールと関連付けられているテーブル メタデータは、コントロールがインスタンス化される際に読み取られます。このプロパティは、ActiveX コントロールが DDF 情報を頻繁に更新するのを防ぎます。
RefreshLocations が
False に設定されている場合は、ActiveX は DDF 情報を持続することができるため、DDF セットが変更されないことを前提として、ActiveX を使用するアプリケーションを対応する DDF ファイルのセットを伴わずに再配布することができます。
3
|
IndexList と FieldList を適宜変更します(変更は VAccess メモリ イメージに保存されます)。
|
影響先:FieldList、IndexList、DdfModifyTableName、DdfModifyLocation、DdfAddIndex、DdfDropIndex、DdfDropIndexMaintain、DdfClearIndexes、DdfClearFields、DdfSetOwner、DdfGetFieldComments、TableName、DdfPath、DataLength
このプロパティは実行時に設定し、FieldValue プロパティおよび
RowPosition プロパティに対して、Extended Fetch レコード セット内の現在の行を特定します。
Row プロパティは
Column プロパティと組み合わせて使用され、
FieldValue プロパティが Extended Fetch レコード セットのどのフィールドの値を参照するかを指定します。
AutoMode が
False の場合、
Row プロパティの範囲は 1 から最後の行のインデックスになります。
AutoMode が
True の場合、
Row をこの範囲よりも大きな値に設定すると、VAccess コントロールは要求が満たされるまで、あるいはゼロ以外のステータスが返されるまで Extended Fetch オペレーションを実行します。結果として
Rows プロパティが更新されます。
影響先:FieldValue、RowColumnValue、Position、RowPosition、GetPrevious、GetNext、StepPrevious、StepNext
影響元:ExtendedOps、AutoMode、GetPreviousExtended、GetNextExtended、StepPreviousExtended、StepNextExtended、Init
このプロパティは、Extended Fetch レコード セットの Row に対応するレコードの PSQL 物理レコード位置を返します。
このプロパティは設計時には使用できません。実行時は読み取り専用です。このプロパティには、Extended Fetch オペレーションが実行時に正常に実行された後、または、AutoMode プロパティが
True の場合は、Extended Fetch オペレーションの
Init メソッドが実行時に呼び出された後にのみ、有効なデータが入ります。
AutoMode プロパティが
True の場合は、
Rows プロパティは、このコントロールに対して前回 Extended Fetch オペレーションの
Init メソッドが呼び出された以降にキャッシュされた行の総数を示します。その他の場合は、直前に実行された Extended Fetch オペレーションによって返された行数を示します。
影響元:ExtendedOps、CacheRows、GetPreviousExtended、GetNextExtended、StepPreviousExtended、StepNextExtended
SelectedFields プロパティに指定されるフィールドは、Extended Fetch オペレーションで返されるレコード セットの
Columns と対応しています。
SelectedFields リスト内のフィールド名は、VAccess コントロールが参照するテーブルの有効なフィールド名である必要があり、カンマで区切られていなければなりません。
このプロパティに値が指定されている場合、返される列の順序は SelectedFields プロパティにリストされたフィールドの順序と同じです。これは、必ずしもファイルの DDF 定義での出現順序とは限りません。
影響先:SelectedRecords、CacheRows、Columns、ColumnName
影響元:SelectedRecords、ExtendedOps、Init
SelectedRecords プロパティによって、フィルター条件を指定して、Extended Fetch レコード セットに返されるレコードの範囲を制限することができます。
object.
SelectedRecords =
fieldname operator (
fieldname または
"constant")
[[
conjunction fieldname operator (
fieldname または
"constant")]...]
SelectedRecords プロパティの構文は次のような要素で構成されます。
SelectedRecords フィルターが有効になる前に、
Init メソッドが呼び出されている必要があります。
影響元:SelectedFields、ExtendedOps、Init
これは、BTRVID 呼び出しに使用されるクライアント ID の最後の 2 バイトを設定します。これは、トランザクションがコントロールで使用される場合に設定してください。スレッドに対して安全(スレッド セーフ)なトランザクションを提供することに加え、アプリケーションに対して安全なトランザクションも提供します。ただし、これを設定すると、サーバー上で使用されるシート数も増加します。
TableName は、
DdfPath プロパティによって指定される DDF セットに定義されているすべてのテーブルのうち、どのテーブルがコントロールと関連付けられるかを示します。
有効な TableName が設定されると、
AutoOpen =
True であれば、コントロールは現在のファイルを閉じ、現在の場所で要求されたテーブルを開こうとします。
TableName が無効な場合、コントロールは正常にファイルを開いたりデータを取得したりすることができません。
影響先:FieldList、IndexList、IndexNumber、Join
影響元:DdfAddTableName、DdfAddTable、DdfModifyTableName
この待機制限時間が過ぎると、コントロールは WSAETIMEDOUT という Winsock エラーを用いて CommError イベントを発生させます。この制限は、Winsock 実装面での問題の都合上、可能な Winsock オペレーションのサブセットだけに適用されます。この値を変更する必要があるのは、帯域幅が非常に少ないため、あるいは多数の回復不能エラーのためにタイムアウトが発生する場合だけです。
レコードの総数はほかのユーザーのせいで変わる可能性があります。この値を取得すると、正確なレコード数を確保するために Stat 呼び出しが強制的に実行されます。その結果、ステータス バッファーの状況を反映するプロパティは、このプロパティによって上書きされます。影響を受けるプロパティは、
PageSize、
PercentFreeSpace、
PreallocatedPages、および
ReservedDupPointers などです。また、このプロパティをリモート ファイルで実行すると stat 要求がリモート サイトで実行され、アプリケーションの速度が遅くなる場合があります。
このプロパティ値が 0 の場合、テキスト ボックスのテキストは入力どおりに表示されます。1 の場合はテキスト ボックスのテキストはすべて大文字で表示されます。2 の場合はテキスト ボックスのテキストはすべて小文字で表示されます。
フィールド バウンド コントロールの、フィールド バウンド モードの VACombo、フィールド バウンド モードの VAList、VACheck、VAOption、および VAText がバインドするためには、VAFieldName プロパティに有効なフィールド名を指定することも必要です。設計時に
VAccessName プロパティを設定すると、
VAFieldName プロパティで利用可能な、VAccess コントロールと関連付けられているフィールドのリストが作成されます。
このプロパティを False に設定すると、リストがオートフィル レコード リストとして使用されている場合(
VARecordList =
True)も、現在選択されている VAList 項目が自動的にリストの一番上へスクロールされなくなります。
レコード リストの VAList(VARecordList =
True)のデフォルトの動作では、現在のレコードの位置がリスト ボックスによって、あるいはスクロール バーや
GetEqual コマンドなどその他の手段によって変更されたかどうかにかかわらず、現在のレコードがリスト ボックスの最初の項目になるようにします。
VAAutoScroll が
False の場合は、このデフォルトの動作は無効化され、リスト ボックス以外のソースによって位置が変更された場合にのみ、VAList は現在のレコードをリストの一番上へ移動させます。つまり、リスト ボックスの項目をクリックすると、VAccess コントロールの位置は変更されますが、リスト ボックスの項目は変更されません。
VADataType プロパティは、コントロールにバインドされたデータ フィールドのデータ格納型コードを指定します。
このプロパティはアプリケーションの設計時、あるいはデバッグ時に使用すると便利です。このプロパティを True に設定すると、デバッグ レベルのエラー チェックが有効になります。
VADebugMode を False に設定すると、エラー チェックが無効になります。
Numeric データ型や Decimal データ型などの固定小数値型の格納フィールドの場合、VADecimal プロパティはコントロールに関連付けられているフィールドについて、小数点の右側に表示される桁数を返します。小数点以下の桁数は、コントロールの
VAccessName プロパティで指定された VAccess コントロールに関連付けられている DDF ファイルから取り込まれます。
このプロパティが True の場合は、コマンド ボタンによって実行された PSQL オペレーションがエラーとなったとき、アプリケーションは実行時にユーザーへダイアログ ボックスを表示します。
このプロパティが False(デフォルト値)の場合は、コマンド ボタンによって実行されたオペレーションがエラーになったとしても、コントロールは実行時にユーザーにエラーを知らせるダイアログ ボックスを表示しません。代わりに、エラー状態を示すステータス コードを VAccess コントロールの
Status プロパティで取得できます。
フィールド バウンド コントロールの場合、このプロパティはコントロールのバインド先であるフィールドのフィールド名を取得または設定します。このフィールドを、バウンド コントロールの VAccessName プロパティで指定した VAccess コントロールから提供される有効なフィールド名に設定すると、現在のレコード内の指定されたフィールドにバインドされます。
VAccess コントロールが Extended オペレーション モードで、コントロールの SelectedFields プロパティにフィールド選択条件が指定されている場合、フィールド バウンド コントロールがバインドできる有効なフィールド名は、VAccess コントロールの有効な
ColumnName 値のセット(
SelectedFields にリストされたフィールド)に限定されます。
複数列レコード リスト モードの VAList コントロール(VARecordList プロパティが
True)の場合は、
VAFieldName プロパティにはセミコロンで区切ったフィールド リストが入ります。
複数列レコード リスト モードの VAList コントロール(VARecordList プロパティが
True)の場合は、
VAFormat プロパティにはセミコロンで区切った書式のリスト(コントロールの
VAFieldName プロパティに指定されているフィールドごとに 1 つの書式)が入ります。
VAFormat プロパティは Visual Basic で使用されるものと類似の書式文字列を使用してデータを整列するためのプロパティです。Visual Basic 共通の書式文字列(表 32 を参照)は事前に定義されており、日付および数値のカスタム書式もサポートしています。これらの動作方法に関する詳細については、『Visual Basic 言語リファレンス』を参照してください。
•
|
[\] または "" を使用するその他の埋め込み文字列は機能しません。
|
VACommand コントロールの VAOperation プロパティに指定された PSQL オペレーションのロック バイアスを設定します。
PSQL は単一レコード ロックおよび複数レコード ロックともにサポートします。レコード ロックが使用されている場合、レコードは読み取り時にロックされます。VALockBias プロパティは、
Open、
Close、
Insert、
Update、または
Delete の各オペレーションが
VAOperation プロパティで指定されている場合、まったく効果がありません。
オフセットは、コントロールの VAccessName プロパティで指定された VAccess コントロールに関連付けられている DDF ファイルから取り込まれます。このプロパティは設計時には使用できません。
このプロパティを True に設定することによって、リスト ボックスあるいはコンボ ボックス コントロールのモードがフィールド バウンド コントロールからレコード ブラウザーに変わります。
VARecordList プロパティによって、リスト コントロールには保持できるだけのレコードが入ります。このリストの一番上にある項目は現在のレコードです(ただし、
VAAutoScroll プロパティが
False に設定されている場合を除きます。この場合は、選択されたリスト項目が現在のレコードを表します)。
VARecordList =
True の場合は、いくつかの追加機能を利用でき、設計時にはプロパティ ページのボタンからアクセスできます。
VAFieldName プロパティおよび
VAFormat プロパティは、コントロールがフィールド バウンド モード(
VARecordList プロパティが
False)の場合にはエントリが 1 つに限定されますが、このモードでは、それぞれセミコロンで区切ったフィールドのリストと書式のリストを格納することができます。また、
VAAutoScroll プロパティと
ColumnWidth プロパティがアクティブになります。
そのコントロールの VAFieldName プロパティは無効になり、現在バインドされているフィールドを記述するために使用されるすべてのプロパティが無効になります。代わりに、テキスト ボックスは、バインドされている VAccess の現在のインデックスの最初のセグメントとは依然として同期したままです。ユーザーがテキスト ボックスの内容を変更すると、VAccess コントロールで GetGreaterOrEqual が実行されることになります。内容は別のコントロール(たとえば、スクロールバーの移動あるいは GetEqual コマンド)によって発生した VAccess の位置の変更を反映して変更されますが、テキストは反転表示されたままです。
VACheck および VAOption コントロールは、VAValueTrue プロパティ値が論理フィールドで検出された場合にのみ選択されるようになります。選択された VACheck または VAOption がオフになると、このコントロールに関連付けられたフィールドに
VAValueFalse プロパティがセットされます。このプロパティに
0 をセットすると、1 バイトの論理フィールドには
0 の文字値が書き込まれ、2 バイトの論理フィールドには
0 の整数値が書き込まれます。数値範囲は、論理フィールドのサイズによって決定されます。1 バイト論理フィールドでは 0 から 255 で、
2 バイト論理フィールドでは -32768 から 32767 です。
VACheck および VAOption コントロールは、VAValueTrue プロパティ値が論理フィールドで検出された場合にのみ選択されるようになります。選択された VACheck または VAOption がオンになると、このコントロールに関連付けられたフィールドに
VAValueTrue プロパティがセットされます。このプロパティに
1 をセットすると、1 バイトの論理フィールドには
1 の文字値が書き込まれ、2 バイトの論理フィールドには
1 の整数値が書き込まれます。数値範囲は、論理フィールドのサイズによって決定されます。1 バイト論理フィールドでは 0 から 255 で、
2 バイト論理フィールドでは -32768 から 32767 です。