Article ID: 195408
Article Last Modified on 5/12/2003
DBSETPROP("TstVw.Fld1","Field","Updatable",.F.)
Also, you can open the view in the View Designer and clear the fields that
you do not want to be updateable, from the Update Criteria tab.
CLOSE DATA ALL
CREATE DATA TstDBC
CREATE TABLE Tbl1 (Fld1 c(10),Fld2 d, Fld3 n(4))
FOR i = 1 TO 4
INSERT INTO Tbl1 VALUES (STR(i),DATE(),1234)
ENDFOR
CREATE SQL VIEW TstVw AS SELECT * FROM Tbl1
USE TstVw
=DBSETPROP("TstVw.Fld1","Field","KeyField",.T.)
? DBGETPROP("TstVw.Fld2","Field","Updatable")
? DBGETPROP("TstVw.Fld3","Field","Updatable")
If the table for which the view is being created has a primary key, then
that field is set as the keyfield automatically when the view is created.
The following code reproduces this behavior:
CLOSE DATA ALL
CREATE DATA TstDBC
CREATE TABLE Tbl1 (fld1 c(10) PRIMARY KEY,fld2 d, fld3 n(4))
FOR i = 1 TO 4
INSERT INTO Tbl1 VALUES (STR(i),DATE(),1234)
ENDFOR
CREATE SQL VIEW TstVw AS SELECT * FROM tbl1
USE TstVw
? DBGETPROP("TstVw.Fld2","Field","Updatable")
? DBGETPROP("TstVw.Fld3","Field","Updatable")
Note that both of the DBGETPROP() commands return .T., meaning that both of
the fields are updateable.
Keywords: kbdatabase kbprb kbpending KB195408