>When I create view using the code below and make a change to the nquantity field and move on to the next record, I get a message saying that there are "no update tables specified". Any help or ideas would be greatly appreciated!
>
>store ipmasterview.keyfield to m.cpackid
>
>IF NOT INDBC('IPDVIEW','VIEW')
> CREATE sql view ipdview as ;
> SELECT Ipdetail.*,Ipclass.citemclass, Icitem.cdescript, Icitem.cstatus,;
> Icitem.cclass,Icitem.cprodline, Icitem.nprice;
> FROM amw!Ipclass, amw!Ipdetail LEFT OUTER JOIN amw!Icitem ;
> ON Ipdetail.citemno = Icitem.citemno ;
> WHERE Ipdetail.cclassid = Ipclass.keyfield AND ipdetail.CPACKID=m.cpackid ;
> ORDER BY Ipdetail.cclassid, Ipdetail.citemno
>ENDIF
>
>if not used('ipdview')
> sele 0
> use ipdview
>endif
>
>=CursorSetProp('Buffering',3,'ipdview') &&opt row buffering
>=CursorSetProp('SendUpdates',.t.,'ipdview')
>=CursorSetProp('UpdateType',1,'ipDview')
>=CursorSetProp('WhereType',3,'ipdview')
>=CursorSetProp('FetchAsNeeded',.t.,'ipdview')
>=CursorSetProp('FetchMemo' ,.t.,'ipdview')
>=CursorSetProp('Keyfieldlist','keyfield','ipdview')
>=CursorSetProp('prepared',.t.,'ipdview')
>=CursorSetProp('UpdatableFieldList','keyfield,cpackid,cclassid,nquantity,citemno,ddateadded,ddatechanged','ipdview')
>=CursorSetProp('tables','ipdetail','ipdview')
I figured out part of the puzzle. I had to close the view after setting the properties and re-open the view before the new cursor properties were "seen". Now, the problem is the when the view is re-opened the SendUpdates property always goes to .f.
Note: All this was done without the view designer. Once the view has been created programmatically, I used the view designer to see if I was missing anything. The "Send SQL Updates" box was not checked (verifying that it was not being saved by the programmatic changes above) and the update check box for the key field was not checked, although I did have it in the "updatefieldlist"
sos,help,socorro,ayuto,...etc!
//:^o