• <Helps for GetStart>
  • CSPro User's Guide
    • The CSPro System
    • Data Dictionary Module
    • The CSPro Language
    • Data Entry Module
    • Batch Editing Applications
    • Tabulation Applications
    • CSPro Statements and Functions
      • Statement Format Symbols
      • Alphabetical List of Statements and Functions
      • List of Reserved Words
      • Deprecated Features
      • Declaration Statements
      • Program Control Statements
      • Assignment Statements
      • Data Entry Statements and Functions
      • Batch Edit Statements
      • Numeric Functions
      • String Functions
      • Multiple Occurrence Functions
        • Average Function
        • Count Function
        • CurOcc Function
        • Delete Function
        • GetOccLabel Function
        • Insert Function
        • Max Function
        • MaxOcc Function
        • Min Function
        • NOccurs Function
        • Seek Function
        • SeekMax Function
        • SeekMin Function
        • SetOccLabel Function
        • SOccurs Function
        • Sort Function
        • Sum Function
        • Swap Function
        • TotOcc Function
      • General Functions
      • Date and Time Functions
      • External File Functions
      • Synchronization Functions
    • Templated Reporting System
    • Appendix
  • <Helps for CSEntry>
  • <Helps for CSBatch>
  • <Helps for CSTab>
  • <Helps for DataViewer>
  • <Helps for TextView>
  • <Helps for TblView>
  • <Helps for MapView>
  • <Helps for TRSWin>
  • <Helps for CSDeploy>
  • <Helps for CSPack>
  • <Helps for CSFreq>
  • <Helps for CSSort>
  • <Helps for CSExport>
  • <Helps for CSReFmt>
  • <Helps for CSDiff>
  • <Helps for CSConcat>
  • <Helps for TRSSetup>
  • <Helps for ParadataViewer>
  • <Helps for ParadataConcat>
  • <Helps for ShpToMap>
  • <Helps for CSIndex>
  • <Helps for Excel2CSPro>
  • <Helps for CSWeb>

Seek Function

Format:
i = seek(multiple-item condition[,numeric-expr]);

Description:
The seek function returns the occurrence number of the first item in a multiply occurring item that satisfies a certain condition. If numeric-expr is included, the function starts searching the multiply occurring record for a true condition starting at occurrence numeric-expr. If a @ symbol precedes the numeric-expr, the function searches for the nth occurrence of the condition.

Return value:
The function returns the occurrence number of an item that meets the condition or 0 if no such item is found.

Example 1:

numeric femaleIndex = seek(SEX = 2);

while femaleIndex do
    write("Person #%d is a female with name '%s'",femaleIndex,NAME(femaleIndex));
    femaleIndex = seek(SEX = 2,femaleIndex + 1);
enddo;

Example 2:

numeric secondSpouse = seek(RELATIONSHIP = 2,@2);

See also: Count Function, Has Operator, Seekmax Function, Seekmin Function