PRB: 指定檢視 KeyField 設定其他欄位可更新

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

195408
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
指定檢視的 keyfield 設定其餘的欄位才能更新,雖然欄位不被設定為可明確地更新。
解決方案
使用類似下列的 DBSETPROP() 命令來清除您不想可更新檢視中的欄位:
   DBSETPROP("TstVw.Fld1","Field","Updatable",.F.)				
參閱,您便可以在 「 資料檢視表設計師 」 中開啟檢視上,然後清除不想可更新從更新準則] 索引標籤的欄位。
狀況說明
Microsoft 研究這種行為,並且將張貼新資訊 「 Microsoft 知識庫 」 中可用時。
其他相關資訊

重製行為的步驟

建立並使用下列程式碼執行程式:
   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")				
如果正在建立檢視表的資料表有主索引鍵,然後當該欄位為 keyfield 時,會自動設定建立檢視模式。 下列程式碼會重現此行為:
   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")				
這兩個 [DBGETPROP() 命令傳回的筆記這表示這兩個欄位都可更新的 T。。

警告:本文已自動翻譯

內容

文章識別碼:195408 - 最後檢閱時間:02/23/2014 08:00:41 - 修訂: 2.1

  • 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
  • kbnosurvey kbarchive kbmt kbdatabase kbpending kbprb KB195408 KbMtzh
意見反應