DetailPage-MSS-KB

Microsoft small business knowledge base

Article ID: 195408 - Last Review: February 21, 2014 - Revision: 2.1

This article was previously published under Q195408
This article has been archived. It is offered "as is" and will no longer be updated.

On This Page

SYMPTOMS

Specifying the keyfield of a View sets the rest of the fields to be updateable, although the fields are not being set to be updateable explicitly.

RESOLUTION

Use a DBSETPROP() command similar to the following to clear the fields in the view that you do not want to be updateable:
   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.

STATUS

Microsoft is researching this behavior and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Steps to Reproduce Behavior

Create and run a program with the following code:
   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.

APPLIES TO
  • Microsoft Visual FoxPro 3.0 Standard Edition
  • Microsoft Visual FoxPro 3.0b Standard Edition
  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 5.0a
  • Microsoft Visual FoxPro 6.0 Professional Edition
  • Microsoft Visual FoxPro 3.0b for Macintosh
Keywords: 
kbnosurvey kbarchive kbdatabase kbpending kbprb KB195408
Share
Additional support options
Ask The Microsoft Small Business Support Community
Contact Microsoft Small Business Support
Find Microsoft Small Business Support Certified Partner
Find a Microsoft Store For In-Person Small Business Support