Venice
Project::SeekByOpenLnk
 
Seeks an open Project by its contact-firm link.
 
VARIANT_BOOL SeekByOpenLnk (
    enum eSeekMode eSeekMode,
    LONG lCtcNum,
    enum eFirmType eFirmType,
    LONG lFrmNum,
    LONG lFrmSubNum,
    LONG lNumber
)
 
Key information
This method uses key number 12 (See SwapKey).
This is a unique key.
This is a null key, only the records where pClosed is false are in the index.
 
Key segment information
Segment NameTypeOrderCollation
pCtcNumLONG (unsigned)Ascending-
pFrmTypeBYTEAscending-
pFrmNumLONG (unsigned)Ascending-
pFrmSubNumLONG (unsigned)Ascending-
pNumberLONG (unsigned)Ascending-
pClosedVARIANT_BOOLAscending-
 
Parameters
eSeekMode
[in] A value of the 'eSeekMode' enumeration.
lCtcNum
[in] The number of the contact that the project you want to seek is assigned to.
eFirmType
[in] A value of the 'eFirmType' enumeration.
lFrmNum
[in] The number of the firm that the project you want to seek is assigned to.
lFrmSubNum
[in] The subnumber of the firm that the project you want to seek is assigned to.
lNumber
[in] The number of the project you want to seek.
 
Return value
True if the record with the given properties was found, otherwise false.
 
See Also
CreateProject
 
Samples
 
C++
 
// Seek all open projects for contact with number 17, working for supplier with number 125/0
DWORD dwCtcNum = 17, dwFrmNum = 125, dwFrmSubNum = 0;
eFirmType eFT = ftSupplier;
pProject->SeekByOpenLnk (smGreater, dwCtcNum, eFT, dwFrmNum, dwFrmSubNum, 0);
while (pProject->GetDBStatus () == 0 && pProject->pCtcNum.lVal == dwCtcNum && pProject->pFrmType.bVal == eFT && pProject->pFrmNum.lVal == dwFrmNum && pProject->pFrmSubNum.lVal == dwFrmSubNum)
{
    // Process record data
    
    pProject->GetNext ();
}

C#
 
// Seek all projects for contact with number 17, working for customer with number 12/0
int iCtcNum = 17, iFrmNum = 125, iFrmSubNum = 0;
eFirmType eFT = eFirmType.ftSupplier;
oProject.SeekByOpenLnk (eSeekMode.smGreater, iCtcNum, eFT, iFrmNum, iFrmSubNum, 0);
while (oProject.GetDBStatus () == 0 && (int)oProject.pCtcNum == iCtcNum && (eFirmType)Enum.ToObject(typeof(eFirmType), oProject.pFrmType) == eFT && (int)oProject.pFrmNum == iFrmNum && (int)oProject.pFrmSubNum == iFrmSubNum)
{
    // Process record data
    
    oProject.GetNext ();
}

VBS
 
Dim dwCtcNum, dwFrmNum, dwFrmSubNum
Dim eFT
dwCtcNum = 17
dwFrmNum = 125
dwFrmSubNum = 0
eFT = ftSupplier
Call oProject.SeekByOpenLnk(smGreater, dwCtcNum, eFT, dwFrmNum, dwFrmSubNum, 0)
While oProject.GetDBStatus() = 0 And oProject.pCtcNum = dwCtcNum And oProject.pFrmType = eFT And oProject.pFrmNum = dwFrmNum And oProject.pFrmSubNum = dwFrmSubNum
    ' Process record data

    Call oProject.GetNext()
Wend

VB.NET
 
' Seek all open projects for contact with number 17, working for supplier with number 125/0
Dim ulCtcNum, ulFrmNum, ulFrmSubNum As ULong
Dim eFT As eFirmType
ulCtcNum = 17
ulFrmNum = 125
ulFrmSubNum = 0
eFT = eFirmType.ftSupplier
oProject.SeekByOpenLnk(eSeekMode.smGreater, ulCtcNum, eFT, ulFrmNum, ulFrmSubNum, 0)
While oProject.GetDBStatus() = 0 And oProject.pCtcNum = ulCtcNum And oProject.pFrmType = eFT And oProject.pFrmNum = ulFrmNum And oProject.pFrmSubNum = ulFrmSubNum
    ' Process record data

    oProject.GetNext()
End While