Object Pointer Info
Charles Yeomans
yeomans at desuetude.com
Fri Mar 7 15:57:49 CST 2003
I'm not really fluent in Valentina Applescript -- try changing the line
set ResultSet to (select records of Listings where {field
"DealerID" of Listings, theDealerID})
to
set ResultSet to (select records of Listings where {field "DealerID" of
Listings, current record of Dealers})
Charles Yeomans
On Friday, March 7, 2003, at 03:38 PM, Steve Kump wrote:
> Hi Charles,
>
> I think I took that approach - I'm trying to write a script that
> updates the
> ObjectPTR field in my Listings table to the RecID of the Dealer table
> record
> that matches on the DealerID field.
>
> It half works right now. Here's what I've done:
> -------
> tell application "Valentina PPC"
> activate
> set DB to database "Temp"
> set Dealers to base object "Dealers" of DB
> set Listings to base object "Listings" of DB
>
> tell database "Temp"
> set theCursor to SQL Select "SELECT RecID,* FROM Dealers"
> set theCount to count of records of theCursor
> end tell
>
> repeat with i from 1 to theCount
> set current record of Dealers to record i of Dealers
> set position of theCursor to i
> set theDealerID to field "DealerID" of theCursor
> set theDealerName to field "DealerName" of theCursor
> set theDealerRecID to field "RecID" of theCursor
> display dialog theDealerRecID
> display dialog theDealerName
>
> set ResultSet to (select records of Listings where {field
> "DealerID" of Listings, theDealerID})
> set theListingCount to (count of records of ResultSet)
> display dialog theDealerRecID
>
> tell Listings
> set field "DealerPTR" to current record of Dealers
> replace value for field "DealerPTR" in ResultSet
> end tell
> delete ResultSet -- free memory
>
> end repeat
> delete theCursor
>
> end tell
> -------
>
> The only problem is that ALL records get updated with the RecID from
> the
> first record in the Dealers table. Currently, I have only 2 Dealers in
> the
> Dealers table for testing. The dialogs display the correct values for
> the
> repeat loop, but the current record of the Dealers table does not seem
> to be
> updating.
>
> It updates 1000 records every quickly with the replace value command,
> which
> is nice, but I'm stuck on getting the correct RecID so far.
>
> Steve
>
>
>
> On 3/7/03 11:52 AM, "Charles Yeomans" <yeomans at desuetude.com> wrote:
>
>>
>> On Friday, March 7, 2003, at 01:59 PM, Steve Kump wrote:
>>
>>> Hi Ruslan,
>>>
>>> I read the document and found the paragraph you were talking about.
>>>
>>> So, if I have 2 tables, Dealer and Listings, I create the ObjectPtr
>>> in
>>> the
>>> Listings table to point to RecID of the Dealer record I want to
>>> relate
>>> it
>>> to. This makes sense...when I add a new Listings records, I first get
>>> the
>>> related Dealer record RecID, and add it to the ObjectPtr field in the
>>> Listing record.
>>>
>>> But here is my situation:
>>>
>>> I want to import several hundred records from a text file into the
>>> Listings
>>> table. How do I create the relationship for these records now? Do I
>>> have to
>>> update each one of them with the RecID for the dealer?
>>>
>>>
>>
>> First, import the existing primary and foreign keys to define
>> relationships. Then if you decide that you want to switch to
>> ObjectPtr
>> fields, you can write a script that maps the relationships to
>> ObjectPtr
>> fields.
>>
>> Charles Yeomans
>>
>> _______________________________________________
>> Valentina mailing list
>> Valentina at lists.macserve.net
>> http://lists.macserve.net/mailman/listinfo/valentina
>
> _______________________________________________
> Valentina mailing list
> Valentina at lists.macserve.net
> http://lists.macserve.net/mailman/listinfo/valentina
>
More information about the Valentina
mailing list