>>Cetin:
>>
>>Here is what you do:
>>
>>(1) create DSN in ODBC setup to VFP Database
>>(2) create an msdatashape provider by right clicking desktop, file new MS Data Link, under connection tab add DSN to 'Data Source'. Test Connection.
>>
>>oConn=createobject('adodb.connection')
>>oRs =createobject('adodb.recordset')
>>oConn.provider = 'msdatashape'
>>oConn.open('igcms')
>>shape = "shape {select * from cases order by caseno} " + ;
>>"append ({select * from people} relate pk_cases to fk_cases) as people"
>>oRs.open(shape, oConn)
>>
>>The cases table is related to the people table on pk_cases = fk_cases
>>
>>* get case fields
>>?oRs.fields('some_field_from_cases_table').value
>>
>>* get matching people fields
>>x=oRs.fields('people').value
>>?x.fields('some_field_from_people_table').value
>>
>>I just tried it for the first time and it worked.
>>
>>Charlie
>
>
>Hi Charlie,
>Very much thanks for replying. I was trying to do it w/o a need to create a .UDL or something else at control panel and suceeded at last :)
>What I was doing wrong was the parentheses in shape command. Oh my God, using 1280*1024 resolution I always got it as () but it was {} like in date datatype.
>Error message is "Data shape command has syntax error at or near ...".
>Cetin
Hi Cetin
You may already be aware of this, but just in case...
Note that the shape provider pulls over
all records from the child select, unless you use a parameter. In other words, if you have a main select as "select * from customers where ID_Customer = ..." with an append "select * from orders", all orders for all customers will be pulled over the wire.
This is "by design", ref. KB article
Q196968 - PRB: SHAPE Provider Pulls Down All Records in Child Table
Arne