ActiveX プロパティ リファレンス
この章では、ActiveX アクセス方法のプロパティについて説明します。アルファベット順にプロパティを説明します。
AutoDialog
適用対象
VAccess
説明
(非推奨 - 以前の I*net Data Server のみ)このプロパティが True に設定されていると、コントロールは通信エラーが発生した場合に自動的にダイアログ ボックスをユーザーに表示します。これは、Zen サーバーに到達できない場合に発生します。VAccess コントロールが IDS 経由でリモート データへのアクセスを試みないのであれば、このプロパティは無視されます。
備考
AutoDialog プロパティは、IDS 経由の通信エラーが発生した場合に、ActiveX が自動的にダイアログ ボックスを表示するかどうかを決定します。再接続が可能な場合は、ダイアログ ボックスに再接続を試行できるプロンプトが含まれます。デフォルト値は False です。
関連項目
『Zen Programmer's Guide』
AutoLogon
適用対象
VAccess
説明
(非推奨 - 以前の 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 イベントに応答して、セキュリティ情報を提供するか、カスタム ログオン ダイアログ ボックスを実装することができます。
デフォルト値は True です。
関連項目
Logon イベント
『Zen Programmer's Guide』
影響先:Location、Ddfpath
AutoMode
適用対象
VAccess
説明
AutoMode プロパティを True に設定しておくと、実行時に Init メソッドが呼び出されるとすぐに、Zen の 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 メソッドの呼び出しでは、Zen が Extended オペレーションの呼び出しで使用する構造体を割り当てるだけで、データの取得は実行されません。GetNextExtended、GetPreviousExtended、StepNextExtended、または StepPreviousExtended メソッドを実行時に実行することによってデータをフェッチすることができます。Extended オペレーションのキャッシュ バッファーは 1 つだけメモリに保持され、後続のフェッチで再利用されます。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
関連項目
影響先:GetNextExtended、GetPreviousExtended、StepNextExtended、StepPreviousExtended、Init、Row
影響元:ExtendedOps
AutoOpen
適用対象
VAccess
説明
AutoOpen プロパティは以前の RequireOpen プロパティと置き換えられたものです。このプロパティは、データ ファイルが妥当な場合に、VAccess コントロールがそのファイルを自動的に開くかどうかを決定します。このプロパティが True に設定されると、VAccess は実行時のインスタンス生成時、また Location プロパティが変更されるたびに要求されたデータ ファイルを開こうとします。このプロパティが False に設定されている場合は、データ ファイルに対して何らかの操作を実行しようとする前には、ユーザー自身で Open 呼び出しを行ってください。
関連項目
影響先:Location、DdfPath
Buffer
適用対象
VAccess
説明
コントロールの現在のレコード バッファーの内容を取得または設定します。レコード バッファーは Zen によって取得される未加工のデータです。
構文
object.Buffer(short alignment)
Buffer プロパティの構文は次のような要素で構成されます。
要素 | 説明 |
---|
object | 必須。VAccess オブジェクトの名前は、[適用対象]のオブジェクトを評価するオブジェクト式を表します。 |
alignment | 必須。データのバイト アライメントを指定します。alignment に対して受け付ける値は 1、2、4、8 および 16 バイトです。 |
備考
データは現在のレコード バッファーから読み取られ、書き込まれます。読み取りオペレーションでは、このプロパティは現在のレコード バッファーを表すバイト配列を含む OLE Variant を返します。書き込みオペレーションでは、このプロパティは現在のレコード バッファーに書き込まれるバイト配列を含む OLE Variant を取り出します。このプロパティに対する変更は、Update メソッドまたは Insert メソッドが正常に呼び出されるまで Btrieve ファイルには保存されません。
返されるバッファーは単一レコード バッファーだけです。Stat 呼び出しの後のステータス バッファーの内容は含みませんし、Extended オペレーションの呼び出し後の Extended オペレーション レコード バッファーも含みません。この情報は、ほかのプロパティやメソッドからも利用できます(Stat、RowColumnValue、RowPosition を参照してください)。Clear メソッドはこのバッファーを消去します。
特定のプログラミング環境では、構造化された変数用に特定のバイト アライメントを使用できます。あるいは特定のバイト アライメントが必要です。アライメント パラメーターを用いて、レコード内の個別フィールドに使用するバイト アライメントを指定できます。
このプロパティは設計時には使用できません。
例
Public Type SAFEARRAYBOUNDS
cElements As Long
lLbound As Long
End Type
Public Type SAFEARRAY
cDims As Integer
fFeatures As Integer
cbElements As Long
cLocks As Long
pvData As Long
Bounds(0) As SAFEARRAYBOUNDS
End Type
Public Type Buffer
msa_desc As String * 34
population As Long
prev_population As Long
End Type
Declare Sub CopyMemory Lib "KERNEL32" Alias _ "RtlMoveMemory" (pDest As Any, pSrc As Any, ByVal _ ByteLen As Long)
Declare Function VarPtrArray Lib "msvbvm50.dll" _ Alias "VarPtr" (Ptr() As Any) As Long
Public Sub ReadData()
Dim i as integer
Dim dataArray() as Buffer
Dim byteArray() as Byte
VAccess1.Open
VAccess1.GetFirst
Redim dataArray(VAccess1.TotalRecords)
For i = 0 to VAccess1.TotalRecords-1
ByteArray = VAccess1.Buffer(4)
DataArray(i) = GetBuffer(byteArray)
VAccess1.GetNext
Next i
End Sub
Public Function GetBuffer(bufferArray() As Byte) _
as Buffer
Dim status As Integer
Dim saPtr As Long
Dim saStruct As SAFEARRAY
Dim record as Buffer
CopyMemory saPtr, ByVal VarPtrArray(bufferArray),_ 4
CopyMemory saStruct, ByVal saPtr, Len(saStruct)
CopyMemory record, ByVal saStruct.pvData, BufferSize(saStruct)
GetBuffer = record
End Function
関連項目
影響元:Clear、GetDirect、GetEqual、GetGreaterOrEqual、GetLessOrEqual、GetFirst、GetPrevious、GetNext、GetLast、StepFirst、StepPrevious、StepNext、StepLast、Percentage
CacheRejectMax
適用対象
VAccess
説明
このプロパティは、Zen の Extended Get オペレーション構造体の最大リジェクト カウント パラメーターに対応しています(『Zen Programmer's Guide』の「Get Next Extended」の説明を参照してください。
備考
CacheRejectMax プロパティの値を指定すると、Zen が SelectedRecords プロパティ フィルター条件を満たすレコードの検索中にスキップできるレコード数が制限されます。このプロパティがゼロの場合はシステム定義の最大値が使用されます。このプロパティを使用して、所定クエリの読み取り時間を最適化することができます。このプロパティの有効範囲は、0 レコード(デフォルト値)から 65,535 レコードまでです。SelectedRecords プロパティに値が指定されていない場合は、このプロパティの設定はまったく効果がありません。
このプロパティは、GetNextExtended メソッド、GetPreviousExtended メソッド、StepNextExtended メソッド、または StepPreviousExtended メソッドで使用できるほか、特定の Row 値の要求を受けて、AutoMode モードで実行している VAccess コントロールで使用できます。
Zen が Extended Fetch を処理している間に CacheRejectMax 値に達した場合、このフェッチ オペレーションは、その処理の中で検出したレコード選択条件を満たすレコードのセットと、拒否された(該当しない)レコードのフィルター制限に達したことを示すステータス値 64 を返します。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
関連項目
影響先:GetPreviousExtended、GetNextExtended、StepPreviousExtended、StepNextExtended
影響元:SelectedRecords、ExtendedOps
CacheRows
適用対象
VAccess
説明
CacheRows プロパティは一度の Zen Extended Fetch オペレーションで返される最大行数を決定します。
備考
このプロパティに設定し得る最大値は返される行のバイト長によって決まりますが、この行の長さは、SelectedFields プロパティがある場合にはその値によって、ない場合はデータ ファイルの定義済みのデータ バッファー長によって決まります。このプロパティは、Extended Get オペレーション構造体のデータ抽出の固定部分の「取得するレコード数」に対応しています(『Zen Programmer's Guide』の「Get Next Extended」の説明を参照してください)。
このプロパティをゼロに設定すると、返される行の長さと MaxBufferSize プロパティの値に基づいて可能な最大値が自動的に計算され、それが使用されます。このプロパティに低い値を設定すると、所定クエリの読み取り時間を最適化することができます。
この値を高く設定しすぎると、ステータス 97 になります。つまり Zen は要求された行数を保持するのに十分な大きさのバッファーを処理するような構成になっていないということです。この問題を解決するには、CacheRows プロパティの値の設定を低くし、(可能であれば)Zen バッファー サイズを増やすか、あるいは SelectedFields プロパティを用いて返されるフィールド数を減らします。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
関連項目
影響先:Rows
影響元:ExtendedOps、MaxBufferSize、SelectedFields、Init
CancelDialog
適用対象
VAccess
説明
AutoMode プロパティが True に設定されている場合、CancelDialog を True に設定すると、複数の Extended Fetch オペレーションが実行される間、ユーザーにダイアログ ボックスが表示されるようになります。これを利用して、ユーザーはオペレーションの合間にフェッチ要求をキャンセルできます。AutoMode が True の場合、Extended Fetch オペレーションは Row プロパティの変更に伴って実行されます。
備考
[Cancel]ダイアログ ボックスには、現在取得済みのレコード数が表示されます。この数値は Extended Fetch イベントから新たなレコード ブロックが返されるたびに更新されます。AutoMode の Extended Fetch イベントをキャンセルすると、キャンセル前に取得した行はメモリに保持されます。このプロパティは、AutoMode プロパティが False の場合にはまったく効果がありません。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
関連項目
影響元:ExtendedOps、Row、AutoMode
Column
適用対象
VAccess
説明
Extended Fetch レコード セットのどの列が、FieldValue プロパティおよび ColumnName プロパティの現在の列になるのかを指定します。
備考
Extended Fetch レコード セットの各列はデータベースのフィールドと対応しています。SelectedFields プロパティに値が指定されている場合、列値の順序は SelectedFields プロパティに記載されたフィールドの順序と同じです。SelectedFields プロパティに値が指定されていない場合、列値の順序はデータベース レコードのフィールドの順序と同じです。
Column プロパティと Row プロパティで、Extended Fetch オペレーションによって返されるレコード セットの個別フィールドを指定します。
Column プロパティの値の有効範囲は 1(最初の列)から Columns プロパティの値(最後の列)までです。このプロパティは設計時には使用できません。
Column プロパティは、ColumnName プロパティとペアになります。一方を設定すると、もう一方も設定されます。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
特定のフィールド値を指定、取得する場合は、通常、Column よりも RowColumnValue の方が簡単です。
関連項目
影響先:ColumnName、FieldValue、RowColumnValue
影響元:ExtendedOps
ColumnName
適用対象
VAccess
説明
ColumnName プロパティには、Extended Fetch オペレーションによって返されたレコード セットの、現在選択されている列に割り当てられたフィールドのフィールド名が格納されます。
備考
ColumnName プロパティは、Column プロパティとペアになります。一方を設定すると、もう一方も設定されます。つまり、Column プロパティは、ColumnName の現在の列を特定します。
このプロパティを連続で呼び出して列挙されたフィールドは、FieldList で指定されたフィールドとは異なっている、あるいは異なった順序になっている場合があります。これは、FieldList にはレコードの実際のフィールドがオフセット順で入っているのに対し、列は SelectedFields によって決定づけられるからです。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
関連項目
影響元:Column、SelectedFields、ExtendedOps
Columns
適用対象
VAccess
説明
Columns プロパティは Extended Fetch レコード セットに定義されている列数を返します。
備考
Extended Fetch オペレーションに対してSelectedFields プロパティが指定されている場合、この値は SelectedFields プロパティに指定されたフィールド数と同じです。その他の場合は、データ ファイルのレコードに対して定義された合計数と同じです(「Fields プロパティ」を参照)。
このプロパティは設計時には使用できません。実行時は読み取り専用です。このプロパティには、Extended オペレーションの Init メソッドが実行時に呼び出された後にのみ有効なデータが入ります。VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
例
Dim line As String
Dim colcount, rowcount As Integer
Orders.GetFirst
Orders.ExtendedOps = True
Orders.Init
Orders.GetNextExtended
For rowcount = 1 To Orders.Rows
Orders.Row = rowcount
line = ""
For colcount = 1 To Orders.Columns
If Not VarType(Orders.FieldValue(colcount)) = _ vbError Then
line = line + CStr(Orders.FieldValue(colcount))
End If
Next colcount
ListBox.Add line
Next rowcount
関連項目
影響元:ExtendedOps、SelectedFields
ColumnWidth
適用対象
VAList
説明
VAList オブジェクトの複数列レコード リストを利用する際、タブ ストップ(タブ位置)を割り当てるには、このプロパティを設定します。VARecordList プロパティが False の場合、このプロパティには影響がありません。
複数列レコード リストにタブ ストップを設定するには、次の手順を実行します。
1 リスト ボックスの幅が、すべての列データを収容できる十分な広さがあることを確認します。
2 VARecordList チェック ボックスを True に設定します。
3 VAFieldName プロパティで表示する列をまだ選択していない場合は選択します。(これを行うには、リスト ボックスで右クリックして、プロパティ ページにアクセスします。VAFieldName の横にある省略ボタンをクリックし、列を選択します。)
4 プロパティ ページの VAFieldName プロパティで、目的のフィールドを選択します。使用可能なフィールド(列)をダブルクリックすると、それを選択することができます。[OK]をクリックします。
5 引き続きプロパティ ページから、ColumnWidth コンボ ボックスの隣の省略ボタンをクリックし、[Multi-Column Listbox Tab Settings]ウィンドウを開きます。選択した最初のフィールドが表示されます。
6 最初のフィールドの右側をダブルクリックして、最初のタブ ストップを設定します。破線が現れます。この線をドラッグし、この列に表示されるデータ用のスペースを確保します。選択した列のタブがすべて表示され調整されるまで、ダブルクリックと線のドラッグを繰り返します。図
6 を参照してください。
図 6 複数列リスト ボックスのタブ設定
![](../activex/images/LISTCOLS.png)
7 このウィンドウとプロパティ ページで[OK]をクリックします。
関連項目
影響元:VARecordList
CompressData
適用対象
VAccess
説明
(非推奨 - 以前の I*net Data Server のみ)IDS とデータを送受信する際のデータの圧縮を有効または無効にします。VAccess コントロールが IDS 経由でリモート データへのアクセスを試みないのであれば、このプロパティは無視されます。
備考
CompressData プロパティは IDS と通信する際に圧縮機能を使用するかどうかを決定します。IDS は圧縮設定をクライアント単位で実行中に決定するので、レコード要求とレコード要求の間であっても、このプロパティは実行時に True または False に設定できます。
VAccess コントロールを使って IDS にアクセスする場合は、LAN 上で標準 Btrieve リクエスタを使用する速度の遅いネットワーク経由でしかアクセスできないため、このプロパティはほとんどの場合 True に設定しておく必要があります。
デフォルト値は True です。
関連項目
『Zen Programmer's Guide』
DatabaseName
適用対象
VAccess
説明
接続するデータベース名を指定します。このプロパティは
HostAddress および
HostConnect を組み合わせて使用し、ホスト名とデータベース名を指定します。ActiveX ではデータベース URI を使用してデータベースに接続します。
ローカル ドライブ、割り当てられたドライブ、あるいは UNC パスを使用してデータベースに接続する場合は、
DdfPath プロパティを参照してください。
備考
データベースにセキュリティが設定されている場合、ユーザーは MicroKernel エンジンによってユーザー名とパスワードの入力が求められます。
メモ:このプロパティは以前、I*net Data Server を使用してデータベースに接続する際に使用されていました。
デフォルト値は空白(空文字列)です。
関連項目
データベース URI の詳細については、『Zen Programmer's Guide』を参照してください。
影響先:HostAddress、HostConnect
DataLength
適用対象
VAccess
説明
ファイルに対する単一レコード オペレーションで使用されるレコード データ バッファーのバイト長を取得または設定します。
備考
このプロパティはナビゲーション呼び出しの後に更新され、実際の現在のレコード サイズを取り込みます。アクセスされたファイルに可変長フィールドがあり、返されたレコードが DDF で定義されている最大レコード長より小さい場合にのみ、初期(事前呼び出し)値と異なった値になります。
関連項目
影響元:Buffer
DdfKeyUseIndexDDFOnly
適用対象
VAccess
説明
VAccess がファイルの実際のインデックスを使用するか、あるいは DDF に指定されたインデックスを使用するかを指定します。
備考
このプロパティが False の場合、VAccess コントロールは、すべてのインデックス情報にステータス バッファーのインデックス情報を使用します。ステータス バッファーにない情報(IndexName など)については DDF を使用します。True の場合、VAccess は DDF 情報を排他的に使用します。DDF が正しくない場合にこのプロパティの設定を True にすると、すべてのキーベースのナビゲーション呼び出しがエラーになります。
デフォルト値は False です。
関連項目
影響先:IndexList
DdfPath
適用対象
VAccess
説明
このコントロールに関連付けられた DDF ファイルが常駐するドライブとパスを設定します。
備考
このプロパティは DDF データ定義ファイルの特定のセットに VAccess コントロールを接続します。このプロパティを変更した場合は、この DDF 内のテーブル名の 1 つを VAccess コントロールの TableName プロパティとして指定する必要があります。
実行時にこのプロパティを変更する場合は、事前に VAccess コントロールと関連付けられた現在開いているファイルをすべて閉じてください。次に、新たな TableName プロパティとして、新しい DDF のテーブル名の 1 つを指定する必要があります。新規ファイルを開く前に新たに Location プロパティを指定する必要のある場合もあります。
メモ:RefreshLocations が False の場合、DdfPath は変更できません。
OnRemote は DdfPath がエラーの時に呼び出されます。
この機能を使用して、実行時にパスを解決したり、ユーザーに接続エラーを通知することができます。
DdfPath は次のうちいずれかの書式にできます(以下で説明します)。
•割り当てられたドライブ
•URL
•UNC
割り当てられたドライブ
従来のドライブ名を用いる表記(c:\path\datafile)は、ActiveX の旧バージョンと同様 DdfPath プロパティで使用できます。ドライブが見つからなかった場合、VAccess はパス環境設定を使用して IDSHOSTS と呼ばれるファイルを探します(LMHOSTS と同様、このファイルはネットワークあるいは IP アドレスにドライブ名をマップする際に使用されます。詳細については、『Zen Programmer's Guide』を参照してください)。このファイルが見つかった場合は、要求されたパスを検索します。要求されたパスがマップされている場合、VAccess コントロールは指定の場所で IDS への接続を試みます。
URL(Uniform Resource Locator)
場所を指定するために URL も使用できます。プロトコル固有のプレフィックスは、リモート(IDS)呼び出しの場合は pids、ローカル呼び出しの場合は pmke です。そのため、ローカル呼び出しは pmke://{server}/[path/.../][tablename] のような形式となり、リモート呼び出しは pids://{server}/[path/.../][tablename] のような形式となります。
UNC(Universal Naming Convention)
UNC(\\server\path\datafile)は、DdfPath エントリとしても使用できます。ここではサーバーは LAN 上の Zen サーバー、IDS サーバーあるいは IDS サーバーにマップされた IDSHOSTS のサーバーとすることができます。サーバーが標準 IP アドレスあるいはドメイン名でない場合は、VAccess はサーバー名をローカルで解決します。その場所がローカルでは使用できない場合は、VAccess は IDSHOSTS を使用してサーバー名を解決します。正常に解決できれば、呼び出しを IDS に再ルーティングします。
上記の説明のように、DdfPath はローカルあるいはリモートのアクセスを指定する際に使用できます(『Zen 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 イベント
DdfTransactionMode
適用対象
VAccess
説明
DdfTransactionMode の設定により、データ辞書テーブルへの更新がトランザクション内で実行されるかどうかが決定されます。ブール値を受け付けます。またはブール値を返します。
備考
DdfTransactionMode は、トランザクション内の DDF 辞書操作すべてをラップするので、DDF ファイルに変更を行う場合は True に設定し、その他の場合は False に設定してください。
デフォルト値は False です。
関連項目
『Zen Programmer's Guide』
影響先:GetTableList、FieldList、IndexList、DdfModifyTableName、DdfModifyLocation、DdfGetFieldComments、DdfAddTable、DdfDropTable、DdfAddIndex、DdfDropIndex、DdfDropIndexMaintain、DdfCreateTable、DdfCreateDictionary、DdfAddTableName、DdfClearIndexes、DdfClearFields、DdfSetOwner
影響元:RefreshLocations
ExtendedOps
適用対象
VAccess
説明
Extended オペレーションの呼び出しは、選択されたフィールドおよび選択されたレコードと一致するレコード セットを一回の呼び出しで返します。これらのオペレーションは、同じ結果を得るために何回も単一レコード オペレーションを行うよりもはるかに迅速に実行されます。
このプロパティが True の場合、VAccess コントロールは Extended Fetch メソッドを使用してレコードを取得できます。
ExtendedOps プロパティが False の場合、あるいは AutoMode プロパティが True に設定されている場合は、Extended オペレーションを使用する GetNextExtended、GetPreviousExtended、StepNextExtended、StepPreviousExtended などのメソッドはすべて、Extended オペレーションが使用できないことを示す、-1 というコードを返します。
備考
このプロパティが False(デフォルト値)の場合、VAccess コントロールは Zen データ ファイルをナビゲートし、単一レコード フェッチ オペレーションを使用してレコードを取得します。
関連項目
影響元: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
FieldList
適用対象
VAccess
説明
DdfPath と TableName によって特定される現在のテーブルの、フィールドに関する情報を含むバリアント配列を取得または設定します。
備考
FieldList プロパティは、2 次元バリアント配列をカプセル化するバリアントを受け付けます。あるいはそのバリアントを返します。最初の添字はフィールドの 1 つのプロパティを参照し、2 番目の添字はフィールドの序数を参照します。最初の添字が参照するプロパティは次の表のとおりです。
添字 | 名前 | バリアント型 | 説明 |
---|
0 | fieldID | VT_I2 | フィールド テーブル辞書エントリ用の一意キーです。 |
1 | fieldname | VT_BSTR | フィールド名です。最大で 20 文字まで格納できます。 |
2 | datatype | VT_I2 | データ型コードです。 |
3 | offset | VT_I2 | レコードの開始点からのフィールドのオフセットです。 |
4 | size | VT_I2 | フィールドのサイズです。 |
5 | decimal | VT_I2 | 固定小数点以下の桁数、あるいは BIT データ型フィールドのビット オフセットです。 |
6 | flags | VT_I2 | フィールド フラグです。フィールド フラグの設定の説明については、『 SQL Engine Reference』の X$Field システム テーブルを参照してください。 |
7 | comment | VT_BSTR | COMMENT.DDF に保存されるフィールド コメントです。 |
フィールド情報を設定する場合、バリアント配列は定義される各フィールドの最低量の情報を収容できる必要があります。必要な情報には、テーブルの定義内で一意のフィールド名、有効なデータ型、複数のフィールド長をサポートするデータ型の有効なサイズなどがあります。
この配列のコメント列は、DDFGetFieldComments メソッドが FieldList プロパティを読み取る前に呼び出された場合にのみ追加されることに注意してください。
RefreshLocations が True に設定されている場合は、FieldList を読み取ると、VAccess は DDF ファイルを再読み取りし、DDF に保存されているフィールド情報を取得します。RefreshLocations を True に設定して FieldList を変更しても、すべての変更が即時に DDF 自体へ書き込まれなくなりました。DDF へ変更を実際に書き込むには、ここで DdfAddTable、DdfModifyLocation などを呼び出す必要があります。これは Zen SDK のリリース以降での動作の変更点です。RefreshLocations が False の場合は、FieldList オペレーションはフィールドの VAccess コントロールのメモリ イメージを読み取り、更新します。
DdfTransactionMode と RefreshLocations がともに True に設定されている場合は、FieldList のすべての操作はトランザクション内で実行されます。
例
Dim fields as Variant
VAEngine.RefreshLocations = True
VAEngine.DdfGetFieldComments = True
VAEngine.TableName = tableName
fields = VAEngine.FieldList
VAEngine.RefreshLocations = False
If Not IsEmpty(fields)
For i = 0 to Ubound(fields, 2)
List.AddItem fields(1, i)
Next i
End If
VAEngine.RefreshLocations = False
VAEngine.FieldList = fields
VAEngine.DdfAddTable(True)
関連項目
影響元:DdfTransactionMode、RefreshLocations
Fields
適用対象
VAccess
説明
関連ファイルに定義されたフィールドの合計数を返します。
関連項目
影響先:FieldList、Join、FieldNumber
影響元:FieldList
FieldValue
適用対象
VAccess
説明
メモリ内の現在のレコード、あるいは Extended Fetch レコード セットの現在の行に対して指定されたフィールドの値を取得または設定します。
構文
object.FieldValue(field)
FieldValue プロパティの構文は次のような要素で構成されます。
要素 | 説明 |
---|
object | 必須。object プレースホルダーは、[適用対象]のオブジェクトを評価するオブジェクト式を表します。 |
field | 必須。object 内の有効なフィールドを特定する、文字列のフィールド名あるいは整数のフィールド インデックスです。 |
備考
データの読み書きはメモリ内の現在のレコードに対して行われます。このレコードに対する変更は、Update メソッドまたは Insert メソッドが呼び出されるまで Zen ファイルに保存されません。
列に書式が設定されている場合は、データ型にかかわらず、その列の内容の値は必ず BStr として返されます(コンテナーは自動的にこれを String、Variant、AnsiString、その他さまざまな文字データに解釈します)。列に書式が設定されていない場合、値はその列のデータ型と最も近いバリアントとして返されます。ほとんどのコントロール コンテナーは、BStr よりもバリアント(Variant)の戻り値の方がより簡単、迅速に操作でき、インターナショナル化や書式の再設定を行うことができます。そのため、できるだけ書式設定されていない列を取得することをお勧めします。
このプロパティは設計時には使用できません。
コントロールの ExtendedOps プロパティが True の場合、field パラメーターには、Row プロパティの値によって示される現在の行に含まれる列の列名、あるいは列インデックスを指定します。パラメーターが指定されていない場合は、返される列は Column プロパティで指定された列になります。FieldValue プロパティは、コントロールの ExtendedOps プロパティが True の場合は読み取り専用です。
RowColumnValue メソッドを使用して、Extended Fetch レコード セットから有効な Row 座標と Column 座標を基に値を返すこともできます。
例
Dim stat As Integer
VAccess1.FieldValue("msa_desc") = Text1.Text
If Check1.FieldValue = 1 Then
stat = VAccess1.GetEqual
Else
stat = VAccess1.GetGreaterOrEqual
End If
If stat = 0 Then
Text1.Text = VAccess1.FieldValue("msa_desc")
Text2.Text = VAccess1.FieldValue("population")
Text3.Text = VAccess1.FieldValue(2)
End If
関連項目
影響元:ExtendedOps、Row
FileVersion
適用対象
VAccess
説明
Zen stat 呼び出しを使用して現在のテーブルの Zen ファイル バージョンを返します。
備考
このプロパティは、テーブルが作成されたときにデータ ファイルに組み込まれた Zen の機能セットを示します。これは、そのテーブルにアクセス可能な Zen の最初のバージョンと一致します。
FireEvents
適用対象
VAccess
説明
VAccess コントロールのイベントの発生を有効または無効にします。
備考
このプロパティを True に設定すると、VAccess コントロールの OnRemote イベント、Validate イベント、Reposition イベントおよび GotData イベントの発生が有効になります。アプリケーションでこれらのイベントにコードを含めない場合は、このプロパティを False に設定することによってそれらのイベントを無効にすることができます。
FocusSelText
適用対象
VAText
説明
このプロパティを True に設定すると、VAText のテキストはテキスト ボックスがフォーカスを受け取ったときに選択されるようになります。
HostAddress
適用対象
VAccess
説明
アクセス対象データベースのホストとなるコンピューターの IP アドレスまたはドメイン名を指定します。この接続にはデータベース URI を使用します。
備考
TCP/IP エージェントの場合と同様、ドメイン名はコンピューターが DNS サーバーにアクセスできる場合にのみ解決できます。さらに、ドメイン名を使用すると、ドメイン名が解決されなければ接続を確立できないため、接続時間が多少遅くなります。
指定するのは IP アドレスまたはサーバー名のみです。明示的に URI を指定したり URI パラメーターを使用しないでください。HostAddress および DatabaseName が指定されると、ActiveX コントロールは URI を作成します。
Location や DdfPath と同様、このプロパティは HostConnect プロパティに従属します。HostConnect が True の場合に HostAddress プロパティの値を変更すると、古い接続(存在する場合)は閉じられ、新しい接続が試行されます。ActiveX がサーバーへの接続を試行して失敗した場合は、HostConnect プロパティは自動的に False に設定されます。別の接続を試行するには、HostConnect を True に設定し直す必要があります。
HostAddress は、DdfPath と Location のあらゆるサーバー設定に優先されます。
デフォルト値は空白(空文字列)です。
関連項目
『Zen Programmer's Guide』
影響先:DdfPath、Location
影響元:HostConnect
HostConnect
適用対象
VAccess
説明
HostAddress プロパティと組み合わせて使用し、データベース URI を用いた接続を開始あるいは終了します。任意の時点で現在の接続状態を問い合わせることもできます。
備考
このプロパティが ActiveX コントロールに作用するのは、HostAddress に値が入力された場合です。このプロパティが True に設定されており、HostAddress が空でなければ、VAccess は要求されたサーバーとの接続を試行します。サーバー アドレスを解決できない場合、あるいは接続が失敗した場合は、その接続エラーの後、HostConnect プロパティは自動的に False に設定されます。
HostConnect は VAccess とローカル Btrieve リクエスターとの相互作用には影響しません。
デフォルト値は True です。
関連項目
『Zen Programmer's Guide』
影響元:DdfPath、Location、HostAddress
IncludeCurrent
適用対象
VAccess
説明
このプロパティを実行時に設定して、次に実行される Extended Fetch オペレーションのレコード セット結果に現在のレコードを含めるか、あるいは後続のレコードから始めるかを決定します。
備考
このプロパティの値を True に設定すると、ファイル内の現在のレコード位置で次の Extended Fetch オペレーションが開始されます(Zen Extended Fetch API のレコード要求構造体で定数 "UC" を設定するのと同等です)。このプロパティの値を False に設定すると、ファイル内の後続レコード位置で次の Extended Fetch オペレーションが開始されます(Zen Extended Fetch API のレコード要求構造体で定数 "EG" を設定するのと同等です)。このプロパティは Init メソッドが呼び出された後自動的に True に設定され、Init に続けて最初の Extended Fetch オペレーションが実行された後自動的に False にリセットされます。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
関連項目
影響先:GetNextExtended、GetPreviousExtended、StepNextExtended、StepPreviousExtended
影響元:ExtendedOps、Init、GetNextExtended、GetPreviousExtended、StepNextExtended、StepPreviousExtended
IndexList
適用対象
VAccess
説明
DdfPath と TableName によって特定される現在のテーブルの、インデックスに関する情報を含むバリアント配列を取得または設定します。
備考
IndexList プロパティは、2 次元バリアント配列をカプセル化するバリアントを受け付けます。あるいはそのバリアントを返します。最初の添字はインデックス セグメントの 1 つのプロパティを参照し、2 番目の添字はインデックス セグメントの序数を参照します。最初の添字が参照するプロパティは次のとおりです。
添字 | 氏名 | バリアント型 | 説明 |
---|
0 | IndexName | VT_BSTR | インデックスの一意の名前です。最大で 20 文字まで格納できます。 |
1 | IndexNum | VT_I2 | インデックス番号(序数)です。 |
2 | SegNum | VT_I2 | インデックス内のこのセグメントのシーケンス番号です。 |
3 | FieldName | VT_BSTR | このセグメントによってインデックスを付けられたフィールド名です。最長で半角 20 文字まで使用できます。 |
4 | Flags | VT_I2 | インデックス属性ビット フラグ(Btrieve キー フラグ スペックに準拠)です。 |
インデックス属性は物理データ ファイルとも関連付けられています。このプロパティの設定によって、辞書のインデックスを定義することはできますが、物理データ ファイル内のインデックス属性は変更されません。既存データ ファイルのインデックス属性は、DdfAddIndex メソッド、DdfDropIndex メソッド、DdfDropIndexMaintain メソッドを使用して変更することができます。
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 を使用します。
例
Dim indexes as Variant
VAEngine.DdfKeyUseIndexDDFOnly = True
VAEngine.RefreshLocations = True
VAEngine.TableName = tableName
indexes = VAEngine.IndexList
VAEngine.RefreshLocations = False
List1.Clear
If Not IsEmpty(indexes) Then
For i = 0 to Ubound(indexes,2)
Temp = ""
For j = 0 to Ubound(indexes, 1)
Temp = Temp + CStr(indexes(j, i)) + vbTab
Next j
List1.AddItem Temp
Next i
End If
VAEngine.RefreshLocations = True
VAEngine.DdfKeyUseIndexDDFOnly = False
VAEngine.TableName = tableName
TrueIndexes = VAEngine.IndexList
VAEngine.RefreshLocations = False
List1.AddItem "------------------------"
List1.Clear
If Not IsEmpty(indexes) Then
For i = 0 to Ubound(indexes,2)
Temp = ""
For j = 0 to Ubound(indexes, 1)
Temp = Temp + CStr(indexes(j, i)) + vbTab
Next j
List1.AddItem Temp
Next i
End If
関連項目
影響元:RefreshLocations、DdfPath、TableName、DdfTransactionMode
IndexNumber
適用対象
VAccess
説明
VAccess コントロールに関連付けられている Zen テーブルの現在のインデックス番号を取得または設定します。
備考
このプロパティを使用して、データ ファイルからレコードを取得する際に使用するインデックスを決定します。
データ ファイルのインデックス値の有効範囲は 0 から TotalKeys プロパティの値から 1 を引いた値までです。
このプロパティは、実行される Zen オペレーションによって別の意味になる場合があります。特定操作の値に関しては『Zen Programmer's Guide』を参照してください。
NNC(no-currency-change:カレンシー変更なし)操作を行いたい場合は、
KeyNumber プロパティを使用します。
Zen では、インデックスはデータ ファイルで保持されます。これらは順に番号を付けられ、ゼロが最初のインデックスを示します。Zen ファイルに定義されたインデックスはすべて、このプロパティでそのインデックスのインデックス番号を指定することによって使用できます。このプロパティの値はデータオンリー ファイルに対して定義されていません。
Join は現在のインデックスに従属するため、IndexNumber を変更すると現存の Join すべてが空白にされます。
関連項目
影響先:Join
影響元:TableName
IntegralHeight
適用対象
VACombo
説明
VACombo にフォント サイズの違いを考慮してサイズ調整させるようにします。
備考
IntegralHeight プロパティが True に設定されていると、VACombo のリスト部分はフォント サイズの違いを考慮してサイズが調整されます。リストの下部の不要なスペースを削除するには、このプロパティを使用します。
Join
適用対象
VAccess
説明
コントロールで使用可能なレコードを制限し、別の VAccess コントロールのフィールド値を基準とする、関連テーブルのリレーショナルな位置を維持します。
IndexNumber プロパティまたは TableName プロパティを変更すると、現在の結合が消去されます。
構文
object.Join = "VAccessName:joinedField[,joinedField]"
Join プロパティの構文は次のような要素で構成されます。
要素 | 説明 |
---|
object | 結合対象の VAccess コントロール名です。このコントロールが使用できるレコードは、コントロールと関連付けられているファイルの全レコードのサブセットで、これはコントロールの Join プロパティの条件によって制限されます。 |
VAccessName | マスター コントロールのデータ ソースとして働く、object をリンクする VAccess コントロールの名前です。 |
joinedField | VAccessName によって参照されるコントロールのフィールドの名前です。複数のフィールドを指定する場合は、名前をカンマで区切ります。名前を挙げた各フィールドの格納型と長さは、IndexNumber プロパティに指定されている、object に対して選択されたインデックスの対応するインデックス セグメントと同一である必要があります。 |
備考
Join プロパティを使用して、1 対 1 あるいは 1 対多関係にある関連データ ファイルを自動的に同期させることができます。
VAccess コントロールは、1 つのファイルの現在のインデックスから別のファイル内のフィールドへ、インデックス セグメントを参照することによって、階層的に結合することができます。Join プロパティはこれを迅速に達成し、結合したファイルのレコード ナビゲーションの最中に関係を自動的に更新していきます。
VAccess コントロールを別の VAccess コントロールに結合するには、どのインデックスを使用するかを IndexNumber プロパティに指定してから、Join プロパティにマスター VAccess コントロールの名前を指定し、次にコロン、その後に結合したコントロールの選択されたインデックスの値と正確に一致するマスター コントロールのフィールド名を入力するだけです。
例
4 つのテーブルがあるとします。
1 Customers という名前のテーブルには、CustomerName、Adress、Phone、CompanyCode などの顧客に関する情報が含まれており、CompanyCode によってインデックスが付けられています。
2 Orders という名前のテーブルには、CompanyCode、OrderNumber、OrderDate、TotalAmount、ShippingDate などの注文ヘッダー情報フィールドが含まれており、CompanyCode と OrderNumber によってインデックスが付けられています。
3 OrderLineItems という名前のテーブルには、OrderNumber、LineNumber、Quantity、ProductCode などの注文項目情報フィールドが含まれており、OrderNumber と LineNumber によってインデックスが付けられています。
4 Products という名前のテーブルには、ProductCode、Description、Price が含まれており、ProductCode によってインデックスが付けられています。
CompanyCode から始まる注文(Order)のスナップショットを取得するには、CompanyCode で Orders を Customers に結合し、OrderNumber で OrderLineItems を Orders に結合し、ProductCode で OrderLineItems を Products に結合します(図
7を参照してください)。CompanyCode(会社コード)によって Customer(顧客)を取得すると、その顧客のすべての注文(Oders)、選択された各注文のすべての明細(OrderLineItems)、および選択された明細の正しい製品情報(Products)がフェッチされます。別の注文あるいは別の明細を選択すると、以降のすべての結合コントロールのデータ セットが再度同期化されます。
図 7 結合テーブル例
![](../activex/images/06prop.08.1.2.png)
関連項目
影響元:TableName、IndexNumber
KeyNumber
適用対象
VAccess
説明
NCC(No-currency-change:カレンシー変更なし)の Insert または Update オペレーションを行う場合は -1 を設定します。
備考
このプロパティはプロパティ シートでは使用できません。しかし、NCC の Insert または Update オペレーションを実行することを示すには、このプロパティを使用します。たとえば、次のようにします。
.KeyNumber = -1 ' NCC(カレンシー変更なし)
NCC(カレンシー変更なし)のオペレーションの詳細については、『Zen Programmer's Guide』を参照してください。
関連項目
影響先:Insert、Update
List
適用対象
VACombo、VAList
説明
コントロールのリスト部分の項目を取得または設定します。リストは文字列配列で、各要素が 1 リスト項目になります。VAList コントロールおよび VACombo コントロールがフィールド バウンド モードで動作する場合は、設計時にプロパティ ブラウザーから使用できます。コントロールがレコード リスト モードで動作する場合、実行時は読み取り専用です。
構文
object.List(index) [= string]
List プロパティの構文は次のような要素で構成されます。
要素 | 説明 |
---|
object | [適用対象]のオブジェクトを評価するオブジェクト式です。 |
index | リスト内の特定項目の番号です。 |
string | 項目を指定する文字列式です。 |
備考
このプロパティはリスト項目にアクセスする際に使用します。空の場合、インデックスは -1 です。リストの最初の項目は 0 で、最後の項目のインデックスは ListCount - 1 です。
最初は、コンボ ボックスおよびリスト ボックス コントロールには空のリストが入っています。レコード リスト モードで動作しているコントロール(VARecordList プロパティが True に設定されている)の場合、リストは実行時にコントロールが作成されたときに存在する条件を基準にして作成されます。
List プロパティは、ListCount プロパティおよび ListIndex プロパティと関連して動作します。リストを 0 から ListCount -1 まで列挙すると、リスト内のすべての項目が返されます。
フィールド バウンド(VARecordList プロパティは False)VACombo コントロールまたは VAList コントロールに表示する項目を指定するには、AddItem メソッドを使用します。項目を削除するには、RemoveItem メソッドを使用します。アルファベット順で項目を保存するには、リストに項目を追加する前に、コントロールの Sorted プロパティを True に設定します。
Option Base = 1 ステートメントを Declaration セクションで使用しても、Visual Basic コントロールの要素の列挙には影響しません。最初の要素は常に 0 です。
List のインデックスがリスト ボックスの実際のエントリの範囲外である場合は、長さゼロの文字列(" ")が返されます。
例
Text1.Text = VAList1.List(VAList1.ListIndex)
Location
適用対象
VAccess
説明
VAccess コントロールに関連付けられている Zen ファイルのドライブ、パス、ファイル名を取得または設定します。
備考
設計時には、Location プロパティのデフォルト値は TableName プロパティで指定されたファイルの DDF 定義の Table Location の値になります。
このプロパティは、コントロールに関連付けられているデータベース ファイルのオペレーティング システム デバイス、パス、およびファイル名を表します。
このプロパティには、完全修飾されたパスとファイル名、あるいはファイル名だけを入れることができます。ファイル名だけの場合、Open メソッドは DdfPath プロパティによって指定されたディレクトリのファイルを開こうとします。
Location プロパティの使い方の詳細については、『Zen Programmer's Guide』を参照してください。
例
Customers.Close
Customers.RefreshLocations = True
Customers.DdfPath = "v:\accounts"
Customers.TableName = "customer002"
Customers.Location = "cust002.dat"
stat = Customers.Open
関連項目
影響元:DdfPath、TableName、RefreshLocations、HostAddress、HostConnect、AutoOpen、OnRemote
Locked
適用対象
VAText
説明
コントロールが編集可能かどうかを示す値を取得または設定します。
構文
object.Locked [= boolean]
Locked プロパティの構文は次のような要素で構成されます。
要素 | 説明 |
---|
object | [適用対象]のオブジェクトを評価するオブジェクト式です。 |
boolean | コントロールが編集可能かどうかを指定するブール式です。True の場合、ユーザーはコントロール内のテキストをスクロールしたり反転表示させることはできますが、編集はできません。ただし、プログラムであれば、Text プロパティを変更することによってテキストを修正できます。False(デフォルト)の場合は、ユーザーはコントロールのテキストを編集できます。 |
MaxBufferSize
適用対象
VAccess
説明
このプロパティは、Zen レコード マネージャー オペレーションに渡されるデータに対し、コントロールによって割り当てられるバイト数を制限します。
備考
個々の Zen オペレーション用のデータ バッファーの最大サイズは 64 KB です。
ExtendedOps が True で、CacheRows が 0 に設定されている場合は、MaxBufferSize の値によって CacheRows の値が決定されます。
現在の Zen 構成に対してこの値を高く設定しすぎると、ステータス 97、つまりデータ バッファー長エラーがレコード マネージャー オペレーションから返されます。特に、Zen レコード マネージャーとデータをやり取りする際にデータ バッファー全体が使用されることの多い Extended Fetch オペレーションでは、このエラーになります。
関連項目
影響先:Rows、CacheRows
影響元:ExtendedOps
MaxLength
適用対象
VAText
説明
ユーザーが VAText に入力可能な最大文字数を決定します。値 0 は最大値がないことを示します。
備考
コントロールに関連付けられたフィールドが英数字フィールド(Char、VarChar、LongVarChar データ型)の場合、このプロパティのデフォルト値は VASize プロパティに保存されているフィールド長となります。その他の場合は、MaxLength プロパティのデフォルト値は 0 で、最大値がないことを意味します。
OemString
適用対象
VAccess
説明
このプロパティを True に設定すると、英数字フィールドに保存されたデータが ANSI 文字セットと OEM 文字セットの間で変換されます。
備考
Char、VarChar、LongVarChar データ型などの英数字フィールドには、英語以外のデータ用の拡張 DOS 文字セットである、OEM 文字セットで保存されたデータを入れることができます。このデータは ANSI 文字セットに変換しなければ、Windows で正しく表示できません。
このプロパティのデフォルト値は False です。このプロパティを True に設定すると、フィールド データを読み取る際に OEM 文字セットから ANSI 文字セットに変換され、英数字フィールド情報がインデックス検索で使用されるとき、あるいはファイルに書き戻されるときに ANSI 文字テキストから OEM テキストに変換されます。
OpenMode
適用対象
VAccess
説明
コントロールに関連付けられているファイルのオープン モードを取得または設定します。
備考
このプロパティは、VAccess コントロールに関連するファイルのファイル オープン モードを決定します。使用できるオープン モードは次のとおりです。
0 - ノーマル
1 - アクセラレイティド アクセス
2 - リード オンリー
3 - ベリファイ
4 - エクスクルーシブ
メモ:ベリファイ モードの使用は推奨されません。OpenMode をベリファイに設定した場合、ファイルはノーマル モードで開かれます。
このプロパティのデフォルト値はゼロ(ノーマル)です。たいていの場合、このモードを選択します。ファイルは、ほかのプロセスからそのファイルを開けないようにするエクスクルーシブ アクセスや、アプリケーションからファイルを変更できないようにするリード オンリー モードで開くこともできます。アクセラレイティド アクセス モードとベリファイ モードは、データベースの動作には影響ありません。
データベースを開く際には OpenMode の現在値が使用されます。モードを変更するには、データベースを閉じてから再度開く必要があります。
関連項目
影響先:Open
OwnerName
適用対象
VAccess
説明
OwnerName プロパティによって、VAccess コントロールに関連するファイルを開く場合に使用される Zen オーナー ネームを指定することができます。
備考
オーナー ネーム プロパティは、設計時に入力することもできます。あるいは AutoOpen プロパティが False の場合は、実行時にファイルを開く前に設定することもできます。
不正なオーナー ネームが指定された場合、またはオーナー ネームを指定せず、ファイルのオーナー ネーム セキュリティによりファイルを読み取り専用モードで開けない場合は、ダイアログ ボックスが表示され、アプリケーションがファイルを開こうとする際に、ユーザーに対して正しいオーナー ネームを指定するように要求します。
OwnerName は SetOwner メソッドで使用します。
例
Customers.Close
Customers.DdfPath = "v:\accounts"
Customers.TableName = "customer002"
Customers.Location = "cust002.dat"
Customers.OwnerName = "password"
Customers.Open
関連項目
影響先:Open、SetOwner
PageSize
適用対象
VAccess
説明
Zen データ ファイルのページ サイズを取得または設定します。
備考
DdfCreateTable メソッドの呼び出しの前にこのプロパティを設定して、作成されるデータ ファイルのぺージ サイズを決定します。
既存のデータ ファイルの場合、このプロパティはファイルで使用されているぺージ サイズを返します。既存ファイルに対してこのプロパティを設定してもまったく効果はありません。
有効なページ サイズの範囲は Zen データ ファイルのファイル バージョンによって異なります。
•9.0 より前のファイル バージョの場合:512 バイト~4,096 バイト(512 バイトの倍数で最大 4,096 バイト)
•ファイル バージョン 9.0 の場合:512、1,024、1,536、2,048、2,560、3,072、3,584、4,096、8,192(値はバイト単位)
•ファイル バージョンが 9.5 以上の場合:1,024、2,048、4,096、8,192、16,384(値はバイト単位)
新たにステータス バッファーをファイルから取得することになるすべてのオペレーションでは、この値がリセットされます(Stat を参照)。
関連項目
影響先:DdfCreateTable
影響元:Stat、TotalRecords
Percentage
適用対象
VAccess
説明
関連する Zen ファイルの現在選択されているインデックス パスに従って、指定された相対位置で取得するレコードを設定します。あるいは現在のレコードの相対位置を返します。
構文
object.Percentage [= value]
Percentage プロパティの構文は次のような要素で構成されます。
要素 | 説明 |
---|
object | [適用対象]のオブジェクトを評価するオブジェクト式です。 |
value | 0.00% から 100.00% までに対応する、0 から 10000 までの範囲の Long 型整数値です。実行時にこのプロパティを設定すると、現在のインデックス パスに基づくおおよそのパーセント位置にあるレコードが取得されます。このプロパティを実行時に読み取ると、現在のレコードの位置を示す同範囲内の値が返ります。 |
備考
このプロパティを実行時に設定すると、関連付けられたファイルで Zen
GetByPercentage オペレーションが実行されます。オペレーションのステータスはコントロールの
Status プロパティに返されます。ステータス 0 は正常終了を示します。このプロパティを実行時に読み取ると、Zen
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 オペレーション バッファ内の現在の行のパーセント値を表します。
例
Customer.Percentage = 5000
VScroll1.Max = 10000
VScroll1.Min = 0
VScroll1.FieldValue = Customer.Percentage
関連項目
影響先:Buffer
Port
適用対象
VAccess
説明
(非推奨 - 以前の I*net Data Server のみ)クライアントが IDS と通信する際に使用するポート番号を取得または設定します。VAccess コントロールが IDS 経由でリモート データへのアクセスを試みないのであれば、このプロパティは無視されます。
備考
このプロパティの値は、IDS ポート番号が変更された場合にのみ変更してください。クライアント ポートと IDS ポートの設定が異なっていると、クライアントは IDS に接続できなくなります。
IDS クライアント コンポーネントすべてに対するデフォルト値は 2441です。
ActiveX が IDS ホストに接続されている間にポート プロパティが変更された場合、この変更は次の接続が行われるまで有効になりません。
►ポートの変更を強制的に有効にするには
1 HostConnect を False に設定します。
2 ポート番号を変更します。
3 HostConnect を True に設定し直して新しい接続を強制し、新たなポート設定で動作させます。
Position
適用対象
VAccess
説明
VAccess コントロールに関連付けられた Zen テーブルの現在のレコードの物理位置の値を返します。物理位置を必要とする、後続のメソッドが使用する物理位置を設定します。
備考
このプロパティは設計時には使用できません。
Position プロパティは、Zen ファイルの個別レコードを一意に識別する Long 型整数です。GetDirect メソッドを呼び出す前にこのプロパティを設定して、ファイルのインデックス検索を行わずに、直接このプロパティで識別されるレコードを取得します。
データ ファイルのレコードを取得するときに、このプロパティの値を使って個々のレコードに「ブックマーク」を付けておくことができます。
データ コントロールは、Position プロパティ値が現在値かどうかを追跡します。プロパティ値が現在値でないときにプロパティを読み取ると、コントロールは GetPosition 呼び出しを行って現在の値を返します。コードでこのプロパティ値を設定すると、その値は内部的に現在値とマークされますが、現在のポジショニングの変更は行いません。これは、GetDirect メソッドを呼び出すことによって実行されます。
例
Dim bookmark As Long
Customer.IndexNumber = 3
Customer.FieldValue("companyName") = "Consolidated Inc"
stat = Customer.GetEqual
bookmark = Customer.Position
While stat = 0 And Customer.FieldValue("companyName") = "Consolidated Inc"
dups = dups + 1
stat = Customer.GetNext
Wend
Customer.Position = bookmark
stat = Customer.GetDirect (BTO_SingleNoWait)
関連項目
影響先:GetDirect
影響元:ExtendedOps、Row、GetDirect、GetEqual、GetFirst、GetGreater、GetGreaterOrEqual、GetLast、GetLess、GetLessOrEqual、GetNext、GetNextExtended、GetPrevious、GetPreviousExtended、StepFirst、StepLast、StepNext、StepNextExtended、StepPrevious、StepPreviousExtended
RefreshLocations
適用対象
VAccess
説明
RefreshLocations は、VAccess コントロールがメタデータについて、DDF ファイルを使用するのか、あるいは、内部状態と永続的なプロパティ(一方または両方)を使用するのかを決定します。RefreshLocations が True の場合は、VAccess コントロールは DDF ファイルへのパススルーの役割をします。つまり、メタデータへの要求はすべて DDF ファイルから直接再読み取りされます。
メタデータの操作は、VAccess コントロールのメタデータのメモリ イメージだけに影響します。変更内容を存続させるには、DdfAddTable などを明示的に呼び出す必要があります。
このプロパティが True の場合、ActiveX データ ソース コントロールと関連付けられているテーブル メタデータは、コントロールがインスタンス化される際に読み取られます。このプロパティは、ActiveX コントロールが DDF 情報を頻繁に更新するのを防ぎます。
RefreshLocations が False に設定されている場合は、ActiveX は DDF 情報を持続することができるため、DDF セットが変更されないことを前提として、ActiveX を使用するアプリケーションを対応する DDF ファイルのセットを伴わずに再配布することができます。
備考
►DDF ファイルを変更するには
1 RefreshLocations を True に設定します。
2 現在の DDF 情報を取得します(RefreshLocations = True とすると、ファイルが直接取得されます)。
3 IndexList と FieldList を適宜変更します(変更は VAccess メモリ イメージに保存されます)。
4 DdfAddTable を呼び出して、変更を DDF ファイル自体へコミットします。
例
VAEngine.RefreshLocations = True
VAEngine.DdfPath = path
VAEngine.TableName = tableName
VAEngine.RefreshLocations = False
関連項目
影響先:FieldList、IndexList、DdfModifyTableName、DdfModifyLocation、DdfAddIndex、DdfDropIndex、DdfDropIndexMaintain、DdfClearIndexes、DdfClearFields、DdfSetOwner、DdfGetFieldComments、TableName、DdfPath、DataLength
Row
適用対象
VAccess
説明
このプロパティは実行時に設定し、FieldValue プロパティおよび RowPosition プロパティに対して、Extended Fetch レコード セット内の現在の行を特定します。
備考
Row プロパティは Column プロパティと組み合わせて使用され、FieldValue プロパティが Extended Fetch レコード セットのどのフィールドの値を参照するかを指定します。AutoMode が False の場合、Row プロパティの範囲は 1 から最後の行のインデックスになります。AutoMode が True の場合、Row をこの範囲よりも大きな値に設定すると、VAccess コントロールは要求が満たされるまで、あるいはゼロ以外のステータスが返されるまで Extended Fetch オペレーションを実行します。結果として Rows プロパティが更新されます。
このプロパティは設計時には使用できません。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
例
Dim total As Currency
Dim count As Integer
Orders.GetFirst
Orders.GetNextExtended
total = 0
Orders.Column = 1
For count = 1 To Orders.Rows
Orders.Row = count
total = total + Orders.FieldValue
Next count
Text1.Text = total
関連項目
影響先:FieldValue、RowColumnValue、Position、RowPosition、GetPrevious、GetNext、StepPrevious、StepNext
影響元:ExtendedOps、AutoMode、GetPreviousExtended、GetNextExtended、StepPreviousExtended、StepNextExtended、Init
RowPosition
適用対象
VAccess
説明
このプロパティは、Extended Fetch レコード セットの Row に対応するレコードの Zen 物理レコード位置を返します。
備考
このプロパティは設計時には使用できません。実行時は読み取り専用です。これは、Extended Fetch オペレーションで取得された特定レコードに現在位置を設定する、あるいはそのレコードをロックする際に使用できます。このプロパティには、Extended Fetch オペレーションが実行時に正常に実行された後、または、AutoMode プロパティが True の場合は、Extended Fetch オペレーションの Init メソッドが実行時に呼び出された後にのみ、有効なデータが入ります。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
関連項目
影響元:ExtendedOps、Row
Rows
適用対象
VAccess
説明
Extended Fetch オペレーションによって返されたデータの行数を返します。
備考
このプロパティは設計時には使用できません。実行時は読み取り専用です。このプロパティには、Extended Fetch オペレーションが実行時に正常に実行された後、または、AutoMode プロパティが True の場合は、Extended Fetch オペレーションの Init メソッドが実行時に呼び出された後にのみ、有効なデータが入ります。
AutoMode プロパティが True の場合は、Rows プロパティは、このコントロールに対して前回 Extended Fetch オペレーションの Init メソッドが呼び出された以降にキャッシュされた行の総数を示します。その他の場合は、直前に実行された Extended Fetch オペレーションによって返された行数を示します。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
例
Dim total As Currency
Dim colcount, rowcount As Integer
Orders.GetFirst
Orders.GetNextExtended
total = 0
For rowcount = 1 To Orders.Rows
Orders.Row = rowcount
For colcount = 1 To Orders.Columns
Orders.Column = colcount
total = total + Orders.FieldValue
Next colcount
Next rowcount
Text1.Text = total
関連項目
影響元:ExtendedOps、CacheRows、GetPreviousExtended、GetNextExtended、StepPreviousExtended、StepNextExtended
SelectedFields
適用対象
VAccess
説明
Extended Fetch レコード セットに返されるフィールドを列挙します。
備考
SelectedFields プロパティに指定されるフィールドは、Extended Fetch オペレーションで返されるレコード セットの Columns と対応しています。
SelectedFields リスト内のフィールド名は、VAccess コントロールが参照するテーブルの有効なフィールド名である必要があり、カンマで区切られていなければなりません。
このプロパティを空白のままにしておくと、データ ファイルに定義されたフィールドすべてが Extended Fetch レコード セットの列に割り当てられます。列はレコード内の各フィールドのオフセットに従って順序付けられます(フィールドがファイルの DDF 定義に表示されるのと同じ順序です)。
このプロパティに値が指定されている場合、返される列の順序は SelectedFields プロパティにリストされたフィールドの順序と同じです。これは、必ずしもファイルの DDF 定義での出現順序とは限りません。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
例
Dim allnames as String
If OptionButton1 = True Then
allnames = "msa_desc, population"
else
allnames = "msa_desc, prev_population"
End If
VAccess1.SelectedFields = allnames
VAccess1.GetFirst
VAccess1.Init
VAccess1.GetNextExtended
関連項目
影響先:SelectedRecords、CacheRows、Columns、ColumnName
影響元:SelectedRecords、ExtendedOps、Init
SelectedRecords
適用対象
VAccess
説明
SelectedRecords プロパティによって、フィルター条件を指定して、Extended Fetch レコード セットに返されるレコードの範囲を制限することができます。
構文
object.SelectedRecords = fieldname operator (fieldname または "constant") [[conjunction fieldname operator (fieldname または "constant")]...]
SelectedRecords プロパティの構文は次のような要素で構成されます。
要素 | 説明 |
---|
fieldname | 値によってフィルターするフィールドの名前です。これには、object が参照するファイルの有効なフィールドをどれでも指定できます。SelectedFields プロパティで指定されているフィールドの 1 つである必要はありません。 |
operator | 次の論理演算子の 1 つです。>(より大きい)、<(より小さい)、=(等しい)、<>(等しくない)、>=(以上)、または <=(以下)。 |
constant | 定数値です。定数値は前後に引用符(Chr$(34))を付ける必要があります。 |
conjunction | 複数のフィルター比較が必要な場合は、&(and)または|(or)の連結演算子のいずれかで結合する必要があります。 |
備考
このプロパティを空白のままにすると、フィルター処理は行われません。つまり、現在のインデックス パスでの出現順序ですべてのレコードを返します。
文字列フィールドの比較では、テーブルを定義したときにフィールドに大文字小文字の区別をしないフラグが付けられていない場合を除き、大文字小文字を区別します。かっこはサポートされません。フィルター条件は、出現する順に論理的に解決されます。
テキスト フィールドを定数値と比較する場合、SelectedRecords フィルターは定数の文字数とフィールドの文字数のうちの小さい方を比較します。 たとえば、次のようなフィルターがあるとします。
city = "B"
このフィルターは、city フィールドの最初の文字が "B" で始まるすべてのレコードを返します。たとえば、Baltimore、Boise、Boston および Butte などです。
VAccess コントロールの Extended オペレーション機能を有効にするには、ExtendedOps プロパティを True に設定する必要があります。
SelectedRecords フィルターが有効になる前に、Init メソッドが呼び出されている必要があります。
関連項目
影響元:SelectedFields、ExtendedOps、Init
SessionID
適用対象
VAccess
説明
クライアントが使用するセッション ID を取得または設定します。
備考
これは、BTRVID 呼び出しに使用されるクライアント ID の最後の 2 バイトを設定します。これは、トランザクションがコントロールで使用される場合に設定してください。スレッドに対して安全(スレッド セーフ)なトランザクションを提供することに加え、アプリケーションに対して安全なトランザクションも提供します。ただし、これを設定すると、サーバー上で使用されるシート数も増加します。
関連項目
影響先:すべての Btrv オペレーション
Status
適用対象
VAccess
説明
VAccess コントロールに関連付けられたファイルに対する最新の Zen オペレーションから Zen ステータスを返します。Zen ステータス コードの一覧については、Zen と共にインストールされる『Status Codes and Messages』ヘルプを参照してください。
関連項目
影響元:すべての Btrv オペレーション
TableName
適用対象
VAccess
説明
TableName は、DdfPath プロパティによって指定される DDF セットに定義されているすべてのテーブルのうち、どのテーブルがコントロールと関連付けられるかを示します。
有効な TableName が設定されると、AutoOpen = True であれば、コントロールは現在のファイルを閉じ、現在の場所で要求されたテーブルを開こうとします。TableName が無効な場合、コントロールは正常にファイルを開いたりデータを取得したりすることができません。
このプロパティを使用して現在のテーブル名を変更することはできません。現在のテーブル名を変更するには、DdfModifyTableName を使用できます。
メモ:テーブルの辞書情報を取得する場合は、RefreshLocations は True である必要があります。
例
Dim Index As Integer
index = Combo1.ListIndex
If index > -1 Then
VAccess1.Close
VAccess1.RefreshLocations = True
VAccess1.RefreshLocations = False
VAccess1.TableName = Combo1.List(index)
VAccess1.Open
Select Case index
Case 0
VAList1.VAFieldName = "msa_desc. population"
Case 1
VAList1.VAFieldName = "user_name. customer_code"
Case 2
VAList1.VAFieldName = "order_date. order_number"
End Select
VAccess1.GetFirst
End If
関連項目
影響先:FieldList、IndexList、IndexNumber、Join
影響元:DdfAddTableName、DdfAddTable、DdfModifyTableName
TimeOutVal
適用対象
VAccess
説明
(非推奨 - 以前の I*net Data Server のみ)接続タイムアウト エラーを報告する前に、クライアントが IDS からの応答を待機する時間(秒数)を取得または設定します。VAccess コントロールが IDS 経由でリモート データへのアクセスを試みないのであれば、このプロパティは無視されます。
備考
この待機制限時間が過ぎると、コントロールは WSAETIMEDOUT という Winsock エラーを用いて CommError イベントを発生させます。この制限は、Winsock 実装面での問題の都合上、可能な Winsock オペレーションのサブセットだけに適用されます。この値を変更する必要があるのは、帯域幅が非常に少ないため、あるいは多数の回復不能エラーのためにタイムアウトが発生する場合だけです。
デフォルト値は 120 です。
TotalRecords
適用対象
VAccess
説明
VAccess コントロールに関連付けられた Zen ファイルに含まれているレコード数を返します。
備考
レコードの総数はほかのユーザーのせいで変わる可能性があります。この値を取得すると、正確なレコード数を確保するために Stat 呼び出しが強制的に実行されます。その結果、ステータス バッファーの状況を反映するプロパティは、このプロパティによって上書きされます。影響を受けるプロパティは、PageSize、PercentFreeSpace、PreallocatedPages、および ReservedDupPointers などです。また、このプロパティをリモート ファイルで実行すると stat 要求がリモート サイトで実行され、アプリケーションの速度が遅くなる場合があります。
例
Dim NumRecords as Long
NumRecords = VAccess1.TotalRecords
関連項目
影響先:PageSize
影響元:Stat
Uppercase
適用対象
VAText
説明
VAText のテキストに適用される大文字小文字の書式設定タイプを取得または設定します。
備考
次の 3 つの設定が可能です。
•0 - 大文字小文字を強制しない
•1 - 大文字
•2 - 小文字
このプロパティ値が 0 の場合、テキスト ボックスのテキストは入力どおりに表示されます。1 の場合はテキスト ボックスのテキストはすべて大文字で表示されます。2 の場合はテキスト ボックスのテキストはすべて小文字で表示されます。
VAccessName
適用対象
VACheck、VACombo、VACommand、VAHScroll、VAList、VAOption、VAText、VAVScroll
説明
データ アウェア コントロールとバインドするデータ ソース オブジェクト(VAccess コントロール)を指定します。
備考
レコード ナビゲーション コントロールの、VACommand、VAHScroll、VAVScroll の場合は、VAccessName プロパティはコントロールのバインド処理を定義します。
フィールド バウンド コントロールの、フィールド バウンド モードの VACombo、フィールド バウンド モードの VAList、VACheck、VAOption、および VAText がバインドするためには、VAFieldName プロパティに有効なフィールド名を指定することも必要です。設計時に VAccessName プロパティを設定すると、VAFieldName プロパティで利用可能な、VAccess コントロールと関連付けられているフィールドのリストが作成されます。
VAAutoScroll
適用対象
VAList
説明
このプロパティを False に設定すると、リストがオートフィル レコード リストとして使用されている場合(VARecordList = True)も、現在選択されている VAList 項目が自動的にリストの一番上へスクロールされなくなります。
備考
レコード リストの VAList(VARecordList = True)のデフォルトの動作では、現在のレコードの位置がリスト ボックスによって、あるいはスクロール バーや GetEqual コマンドなどその他の手段によって変更されたかどうかにかかわらず、現在のレコードがリスト ボックスの最初の項目になるようにします。VAAutoScroll が False の場合は、このデフォルトの動作は無効化され、リスト ボックス以外のソースによって位置が変更された場合にのみ、VAList は現在のレコードをリストの一番上へ移動させます。つまり、リスト ボックスの項目をクリックすると、VAccess コントロールの位置は変更されますが、リスト ボックスの項目は変更されません。
VADataType
適用対象
VACheck、VACombo、VAList、VAOption、VAText
説明
フィールド コントロールにバインドされたフィールドのデータ格納型コードを取得または設定します。
備考
VADataType プロパティは、コントロールにバインドされたデータ フィールドのデータ格納型コードを指定します。
このプロパティは設計時には使用できません。
VADebugMode
適用対象
Vaccess、VACheck、VACombo、VACommand、VAHScroll、VAList、VAOption、VAText、VAVScroll
説明
コントロールに対するデバッグ モードのエラー チェック機能を有効または無効にします。
備考
このプロパティはアプリケーションの設計時、あるいはデバッグ時に使用すると便利です。このプロパティを True に設定すると、デバッグ レベルのエラー チェックが有効になります。VADebugMode を False に設定すると、エラー チェックが無効になります。
VADecimal
適用対象
VACheck、VACombo、VAList、VAOption、VAText
説明
固定小数点データ型フィールドの固定小数点以下の桁数を取得または設定します。
備考
Numeric データ型や Decimal データ型などの固定小数値型の格納フィールドの場合、VADecimal プロパティはコントロールに関連付けられているフィールドについて、小数点の右側に表示される桁数を返します。小数点以下の桁数は、コントロールの VAccessName プロパティで指定された VAccess コントロールに関連付けられている DDF ファイルから取り込まれます。
特定の固定小数値の格納データ型だけがこのプロパティを使用します。またこれは、ビット位置を示すためにビット データ型によっても使用されます。Xtrieve も DDF 辞書でこのフィールドを使用して、Note フィールドの区切り文字の値を指定していました。
このプロパティは設計時には使用できません。
VAErrorDialog
適用対象
VACommand
説明
Zen オペレーションがエラーとなったときに、ユーザーにダイアログ ボックスを表示するかどうかを設定します。
備考
このプロパティが True の場合は、コマンド ボタンによって実行された Zen オペレーションがエラーとなったとき、アプリケーションは実行時にユーザーへダイアログ ボックスを表示します。
このプロパティが False(デフォルト値)の場合は、コマンド ボタンによって実行されたオペレーションがエラーになったとしても、コントロールは実行時にユーザーにエラーを知らせるダイアログ ボックスを表示しません。代わりに、エラー状態を示すステータス コードを VAccess コントロールの Status プロパティで取得できます。
VAFieldName
適用対象
VACheck、VACombo、VAList、VAOption、VAText
説明
コントロールに関連付けられるフィールドのフィールド名を設定します。値の取得も可能です。
備考
フィールド バウンド コントロールの場合、このプロパティはコントロールのバインド先であるフィールドのフィールド名を取得または設定します。このフィールドを、バウンド コントロールの VAccessName プロパティで指定した VAccess コントロールから提供される有効なフィールド名に設定すると、現在のレコード内の指定されたフィールドにバインドされます。
VAccess コントロールが Extended オペレーション モードで、コントロールの SelectedFields プロパティにフィールド選択条件が指定されている場合、フィールド バウンド コントロールがバインドできる有効なフィールド名は、VAccess コントロールの有効な ColumnName 値のセット(SelectedFields にリストされたフィールド)に限定されます。
VACombo コントロールでインデックス選択専用のコンボ ボックスを実装する場合にも、このプロパティが使用されます。これによってユーザーは、プログラム実行中に任意のインデックス パスの選択が可能になります。VACombo を[Index Selection]ボックスにするには、VAFieldName プロパティの値として[Index List]を選択します。
複数列レコード リスト モードの VAList コントロール(VARecordList プロパティが True)の場合は、VAFieldName プロパティにはセミコロンで区切ったフィールド リストが入ります。
VAFormat
適用対象
VACombo、VAList、VAText
説明
このプロパティでは、コントロールによって表示されるフィールド値の書式文字列を指定できます。
備考
有効な書式文字列とその意味のリストについては、『Visual Basic 言語リファレンス』ドキュメントで Format 関数を参照してください。
複数列レコード リスト モードの VAList コントロール(VARecordList プロパティが True)の場合は、VAFormat プロパティにはセミコロンで区切った書式のリスト(コントロールの VAFieldName プロパティに指定されているフィールドごとに 1 つの書式)が入ります。
VAFormat プロパティは Visual Basic で使用されるものと類似の書式文字列を使用してデータを整列するためのプロパティです。Visual Basic 共通の書式文字列(表
32 を参照)は事前に定義されており、日付および数値のカスタム書式もサポートしています。これらの動作方法に関する詳細については、『Visual Basic 言語リファレンス』を参照してください。
表 32 Visual Basic 共通の書式文字列
書式文字列 | 説明 |
---|
(空の文字列) | デフォルトの書式。数値を General Number 書式、通貨金額を Currency 書式、日付と時刻を General Date 書式、論理フィールドを True/False 書式で表示します。 |
General Number | 千単位の区切り記号を付けずに、そのまま数値を表示します。 |
Currency | 千単位の区切り記号を付けて数値を表示します。小数点以下は 2 桁まで表示します。 出力はシステムのロケール設定に基づいて行われることに注意してください。 |
Percent | 数値を 100 倍にして、右側にパーセント記号(%)を付けて表示します。小数点以下は常に 2 桁で表示します。 |
True/False | 数値が 0 の場合は False を、それ以外の場合は True を表示します。 |
General Date | 日付か時刻、または両方を表示します。 実数の場合は、日付と時刻(例:4/3/93 05:34 PM)を表示します。小数部分がない場合は日付だけ(例:4/3/93)、整数部分がない場合は時刻だけ(例:05:34 PM)を表示します。 日付の表示はシステム設定によって決まります。 |
Long Date | システムの長い日付書式に従って日付を表示します。 |
Short Date | システムの短い日付書式に従って日付を表示します。 |
Long Time | システムの長い時刻書式に従って、時分秒を含む時刻を表示します。 |
Short Time | 24 時間制を使用して時刻を表示します(例 17:45)。 |
カスタム数値書式は、Visual Basic によって提供される書式と同様に使用できますが、すべてのオプションがサポートされているわけではありません。
•埋め込み文字列リテラルの - + ( ) $ を使用できます。これによって電話番号を書式設定できます。例:(000)000-0000
•[\] または "" を使用するその他の埋め込み文字列は機能しません。
•カスタマイズされた科学的表記は機能しません。
•[0] のプレースホルダーは正常に機能します。明示的に制限されていない限り、浮動小数点値は小数桁を表示します。
•[#] のプレースホルダーは整数に対して有効です。浮動小数点値は予期せずに切り捨てられる場合がありますが、制限されていない限り小数桁を表示します。
曜日を使用する場合、午前 0 時に近い時刻では、丸めのエラーによって間違った曜日が表示される可能性があります。
例
VAccess1.TableName = "Billing"
VAText1.FieldName = "Amount_Due"
VAText1.VAFormat = "Currency"
VAText2.FieldName = "Log"
VAText2.VAFormat = "mmm ddd yyyy"
VALockBias
適用対象
VACommand
説明
VACommand コントロールの VAOperation プロパティに指定された Zen オペレーションのロック バイアスを設定します。
備考
Zen は単一レコード ロックおよび複数レコード ロックともにサポートします。レコード ロックが使用されている場合、レコードは読み取り時にロックされます。VALockBias プロパティは、Open、Close、Insert、Update、または Delete の各オペレーションが VAOperation プロパティで指定されている場合、まったく効果がありません。
単一レコード ロックは、別のレコードが読み取られるか、あるいはレコードが挿入、更新、または削除されるたびに解放されます。複数レコード ロックは、コントロールの Unlock メソッドを呼び出すことによって、個々のレコードまたはすべてのレコードのロックを解放できます。
ロック エラーでの再試行はプログラマ自身で行ってください。
VAOffset
適用対象
VACheck、VACombo、VAList、VAOption、VAText
説明
バインドされたフィールドの、レコード バッファーにおける格納オフセットを取得または設定します。
備考
オフセットは、コントロールの VAccessName プロパティで指定された VAccess コントロールに関連付けられている DDF ファイルから取り込まれます。このプロパティは設計時には使用できません。
VAOperation
適用対象
VACommand
説明
VACommand が押されたときに実行される Zen オペレーションを取得または設定します。
備考
このプロパティでは、次のレコード オペレーションを実行できます。
表 33 VAOperation プロパティで使用可能なレコード オペレーション
0 - Open | 関連する Zen データ ファイルを開きます。 |
1 - Close | 関連する Zen データ ファイルを閉じます。 |
2 - Insert | 現在のレコード バッファーの内容を新しいレコードとして挿入します。 |
3 - Update | 現在のレコードをレコード バッファーの内容で更新します。 |
4 - Delete | 現在のレコードを削除します。 |
5 - Get Equal | 現在のインデックス パスで、指定されたキー値と正確に一致するキー値を持つ最初のレコードを取得します。 |
6 - Get Next | 現在のインデックス パスで次のレコードを取得します。 |
7 - Get Previous | 現在のインデックス パスで前のレコードを取得します。 |
8 - Get Greater | 現在のインデックス パスで、指定されたキー値より大きいキー値を持つ最初のレコードを取得します。 |
9 - Get Greater or Equal | 現在のインデックス パスで、指定されたキー値と等しいか、より大きいキー値を持つ最初のレコードを取得します。 |
10 - Get Less | 現在のインデックス パスで、指定されたキー値より小さいキー値を持つ最初のレコードを取得します。 |
11 - Get Less or Equal | 現在のインデックス パスで、指定されたキー値と等しいか、より小さいキー値を持つ最初のレコードを取得します。 |
12 - Get First | 現在のインデックス パスで最初のレコードを取得します。 |
13 - Get Last | 現在のインデックス パスで最後のレコードを取得します。 |
VARecordList
適用対象
VACombo、VAList
説明
このプロパティを True に設定することによって、リスト ボックスあるいはコンボ ボックス コントロールのモードがフィールド バウンド コントロールからレコード ブラウザーに変わります。
備考
VARecordList プロパティによって、リスト コントロールには保持できるだけのレコードが入ります。このリストの一番上にある項目は現在のレコードです(ただし、VAAutoScroll プロパティが False に設定されている場合を除きます。この場合は、選択されたリスト項目が現在のレコードを表します)。
VARecordList = True の場合は、いくつかの追加機能を利用でき、設計時にはプロパティ ページのボタンからアクセスできます。VAFieldName プロパティおよび VAFormat プロパティは、コントロールがフィールド バウンド モード(VARecordList プロパティが False)の場合にはエントリが 1 つに限定されますが、このモードでは、それぞれセミコロンで区切ったフィールドのリストと書式のリストを格納することができます。また、VAAutoScroll プロパティと ColumnWidth プロパティがアクティブになります。
VASearch
適用対象
VAText
説明
VAText を参照テキスト フィールドにできます。
備考
そのコントロールの VAFieldName プロパティは無効になり、現在バインドされているフィールドを記述するために使用されるすべてのプロパティが無効になります。代わりに、テキスト ボックスは、バインドされている VAccess の現在のインデックスの最初のセグメントとは依然として同期したままです。ユーザーがテキスト ボックスの内容を変更すると、VAccess コントロールで GetGreaterOrEqual が実行されることになります。内容は別のコントロール(たとえば、スクロールバーの移動あるいは GetEqual コマンド)によって発生した VAccess の位置の変更を反映して変更されますが、テキストは反転表示されたままです。
VASize
適用対象
VACheck、VACombo、VAList、VAOption、VAText
説明
現在選択されているフィールドに関連するデータのサイズを返します。サイズは VAccess コントロールに関連付けられている DDF ファイルから取り込まれます。
VAValueFalse
適用対象
VACheck、VAOption
説明
チェック ボックスあるいはオプション ボタンが選択されていないことを示す格納値を取得または設定します。
備考
VACheck および VAOption コントロールは、VAValueTrue プロパティ値が論理フィールドで検出された場合にのみ選択されるようになります。選択された VACheck または VAOption がオフになると、このコントロールに関連付けられたフィールドに VAValueFalse プロパティがセットされます。このプロパティに 0 をセットすると、1 バイトの論理フィールドには 0 の文字値が書き込まれ、2 バイトの論理フィールドには 0 の整数値が書き込まれます。数値範囲は、論理フィールドのサイズによって決定されます。1 バイト論理フィールドでは 0 から 255 で、2 バイト論理フィールドでは -32768 から 32767 です。
VAValueTrue
適用対象
VACheck、VAOption
説明
チェック ボックスあるいはオプション ボタンが選択されていることを示す格納値を取得または設定します。
備考
VACheck および VAOption コントロールは、VAValueTrue プロパティ値が論理フィールドで検出された場合にのみ選択されるようになります。選択された VACheck または VAOption がオンになると、このコントロールに関連付けられたフィールドに VAValueTrue プロパティがセットされます。このプロパティに 1 をセットすると、1 バイトの論理フィールドには 1 の文字値が書き込まれ、2 バイトの論理フィールドには 1 の整数値が書き込まれます。数値範囲は、論理フィールドのサイズによって決定されます。1 バイト論理フィールドでは 0 から 255 で、2 バイト論理フィールドでは -32768 から 32767 です。