NextRecord and ObjectPtr?

Ruslan Zasukhin sunshine at public.kherson.ua
Sun Apr 30 14:53:33 CDT 2006


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

>  Hi,
> 
> Why does the (VB6) code below not work? NextRecord does't do anything just
> stay on same RecId 1, so field references etc. never gets updated etc. does
> COM object don't work with With ... End With?
> 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

Okay I see mistake.

To do loop you use 

     Do While Not .EOF
     Loop

EOF() property is from group of methods for ODBC style navigation.
You can use it only with NextRecord_ODBC methods.

The normal loop should looks as:

    tbl.FirstRecord()

    do


    while( tbl.NextRecord() )


-- 
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