FindFirstSIndexRecord

FindFirstSIndexRecord finds the first matching record by the secondary index of the open RMS file and stores the record data in the internal query buffer.

Syntax

Function FindFirstSIndexRecord(rmsHandle as Integer, nindex As Integer) As Integer

Parameters

rmsHandle

RMS file handle

nindex

0 based secondary index number

Return Values

On success, FindFirstSIndexRecord returns 1.  If there is no matching record, it returns 0.

Remarks

Before calling function FindFirstSIndexRecord ,  you must set the query fields data by calling

functions RegisterStringFieldDataRegisterStringFieldData, RegisterCharFieldDataRegisterCharFieldData, RegisterIntegerFieldDataRegisterIntegerFieldData,

RegisterLongFieldDataRegisterLongFieldData, RegisterRealFieldDataRegisterRealFieldData, RegisterMoneyFieldDataRegisterMoneyFieldData,

RegisterDateFieldDataRegisterDateFieldData, RegisterTimeFieldDataRegisterTimeFieldData or RegisterBoolFieldDataRegisterBoolFieldData depends

on field types. 

If you want to let function FindFirstSIndexRecord store the specified fields data in the

internal query buffer, you can call RegisterFieldRegisterField to add field names to the internal data query

field name list before calling function FindFirstSIndexRecord . By default,

FindFirstSIndexRecord store all fields’ data in the query buffer. 

To get fields data:

If function RegisterFieldRegisterField is not called, first call GetFieldCountGetFieldCount to get the number of fields in

the RMS file then for each field call GetFieldTypeGetFieldType and GetStringFieldGetStringField, GetCharFieldGetCharField,

GetIntegerFieldGetIntegerField, GetLongFieldGetLongField, GetRealFieldGetRealField, GetMoneyFieldGetMoneyField, GetDateFieldGetDateField,

GetTimeFieldGetTimeField, GetBooleanFieldGetBooleanField depends on the field types

If function RegisterFieldRegisterField is called, call FirstRegistedFieldFirstRegistedField and NextRegistedFieldNextRegistedField to get

the field names corresponding to the field data in the query buffer and for each field name call

GetFieldTypebyNameGetFieldTypebyName and  GetStringFieldbyNameGetStringFieldbyName, GetCharFieldbyNameGetCharFieldbyName,

GetIntegerFieldbyNameGetIntegerFieldbyName, GetLongFieldbyNameGetLongFieldbyName, GetRealFieldbyNameGetRealFieldbyName,

GetMoneyFieldbyNameGetMoneyFieldbyName, GetDateFieldbyNameGetDateFieldbyName, GetTimeFieldbyNameGetTimeFieldbyName and

GetBooleanFieldbyNameGetBooleanFieldbyName depends on the field types.

See Also

FindLastSIndexRecord, FindNextSIndexRecord, FindPrevSIndexRecord,

FindFirstSIndexRecord