NextRecord and ObjectPtr?

Ruslan Zasukhin sunshine at public.kherson.ua
Sun Apr 30 15:00:46 CDT 2006


On 4/30/06 2:06 PM, "Joakim Schramm" <joakim at astrocalc.com> wrote:

> Dim IdRec As Long
> Dim B As Boolean
> Dim sKey As String
> Dim fldPtr As VField
> Dim fldFK As VField
> Dim fldPK As VField
> Dim mTblCountry As VTable
> Dim mTblAlias As VTable
> 
> 'prepare binary links
> 'Set mLinkCA = mDatabase.Link(lnkCountryAlias)
> Set mTblCountry = mDatabase.Table(tblCountry & sLang)
> Set mTblAlias = mDatabase.Table(tblCountryAlias)
> 
> With mTblAlias
>     Set fldPtr = .Field("PtrAlias")
>     Set fldFK = .Field("CID")
>     Set fldPK = mTblCountry.Field("CID")
>     Call .FirstRecord
> 
>     Do While Not .EOF
>         sKey = Trim$(fldFK.Value)
>         IdRec = fldPK.FindSingle(sKey)
> 
>         If IdRec <> 0 Then
>             fldPtr.Value = IdRec
>             .UpdateRecord
>         Else
>             MsgBox "No " & sKey
>         End If
> 
>        B = .NextRecord
>     Loop
> 
> End With

Joakim,

1) am I right that you here convert FK-link to ObjectPtr link ?
    it seems yes.

2) you do iteration by MANY table, and use FindSingle() to find record in
ONE table.

This is not best way. Better do reverse:
    iterate ONE table, and do FindLinked().


3) But, even simpler!

    Valentina can do this operation for you.
    look on method VObjectPtr.ConvertRDBLink()

    also exists analog SQL command

4) we have no yet similar function to convert FK to BinaryLink.
    in WIKI on Vlink pages, this set of tasks is named REFACTORING of links.
    We need yet develop it to get complete picture

-- 
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]




More information about the Valentina mailing list