文章編號: 952548 - 上次校閱: 2008年7月18日 - 版次: 1.0

FIX: 從另一個使用者工作階段違反準則的父資料表的資料錄會顯示在 Visual FoxPro 9.0 Service Pack 2 多使用者環境中的子系表格的 [瀏覽] 視窗

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

您必須在 Microsoft Visual FoxPro 9.0 Service Pack 2 多使用者環境中顯示子系表格和其父資料表的兩個瀏覽視窗。其他使用者會將記錄新增到這些資料表中。這些資料表會更新後記錄會顯示在子資料工作表 Visual FoxPro 執行個體中的 [瀏覽] 視窗。即使資料錄違反在目前的值,在父資料表的 [瀏覽] 視窗中所指定的準則,就會發生這個問題。

解決方案

Hotfix 資訊

一個支援的 Hotfix 現在已可從 Microsoft取得。不過,它用來只修正本文所描述的問題。請只在發生此特定問題的系統上套用。

如果要解決這個問題,請聯絡 Microsoft 客戶支援服務 」,以取得該 Hotfix。如需 Microsoft 客戶支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
附註在特殊情況下通常會因支援電話所產生的費用可能就不收取如果 Microsoft 支援人員認為某特定更新程式可以解決您的問題。平常的支援成本將會套用到其他支援問題是所做不限定特定有問題的更新程式。

必要條件

您必須具備 Visual FoxPro 9.0 Service Pack 2 要套用這個 Hotfix 安裝。

重新啟動需求

您沒有套用此 Hotfix 之後重新啟動電腦。

Hotfix 取代資訊

此 Hotfix 不會取代任何其他的 Hotfix。

檔案資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。 這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間 中項目控制台中的 [時區] 索引標籤]。
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間
Vfp9.exe9.0.0.66025,783,5522008 年六月 3 日16: 12
Vfp9r.dll9.0.0.66024,734,9762008 年六月 3 日16: 12
Vfp9runtime.msm不適用4,586,4962008 年六月 3 日16: 13
Vfp9t.dll9.0.0.66023,907,5842008 年六月 3 日16: 12

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684? (http://support.microsoft.com/kb/824684/LN/ ) 用來描述 Microsoft 軟體更新標準術語的說明

如果要重現問題的步驟

  1. 本機磁碟上建立目錄。
  2. 啟動 Visual FoxPro 9.0 SP2。
  3. Copy the following code into a new Visual FoxPro program file, and then save the file as Session1.prg to the directory that you created in step 1.
    _SCREEN.Caption = "SESSION 1"
    LOCAL liLoop AS INTEGER, cCodeNewRecord AS STRING
    cCodeNewRecord = "SES1"
    SET MULTILOCKS ON
    CURSORSETPROP("Buffering", 5,0)
    CD ( ADDBS(JUSTPATH(SYS(16))) )
    CLOSE DATA ALL
    ERASE KB952548_*.*
    
    CREATE DATABASE KB952548_DB
    CREATE TABLE  KB952548_DB_PARENT;
    	(h1 c(10) PRIMARY KEY)
    CREATE TABLE KB952548_DB_DETAIL;
    	(h1 c(10), ;
    	d1 c(30), ;
    	d2 c(30), ;
    	FOREIGN KEY h1 TAG TAGDETAIL REFERENCES KB952548_DB_PARENT )
    CLOSE DATABASES ALL
    
    OPEN DATABASE KB952548_DB SHARED
    USE KB952548_DB_PARENT SHARED IN 0
    USE KB952548_DB_DETAIL SHARED IN 0 ORDER TAGDETAIL
    SELECT KB952548_DB_PARENT
    SET RELATION TO h1 INTO KB952548_DB_DETAIL
    
    INSERT INTO KB952548_DB_PARENT (h1) VALUES (cCodeNewRecord)
    FOR liLoop = 1 TO 4
    	INSERT INTO KB952548_DB_DETAIL (h1, d1) ;
    	VALUES (cCodeNewRecord, "FIRSTSESSION " + TRANSFORM(liLoop))
    ENDFOR
    
    SELECT KB952548_DB_PARENT
    GO TOP
    DEFINE WINDOW PAR FROM 0,0 TO 10,30 FLOAT CLOSE GROW
    BROWSE LAST NOWAIT WINDOW PAR
    DEFINE WINDOW DETAIL FROM 15,15 TO 30,60 FLOAT CLOSE GROW
    SELECT KB952548_DB_DETAIL
    GO TOP
    BROWSE LAST NOWAIT WINDOW DETAIL
  4. 建立其他新 Visual FoxPro 程式檔使用下列程式碼,然後再儲存為 Session2.prg 您在步驟 1 中建立的目錄檔案
    _SCREEN.Caption = "SESSION 2"
    LOCAL cCodeNew AS STRING, liLoop AS INTEGER
    CD ( ADDBS(JUSTPATH(SYS(16))) )
    SET MULTILOCKS ON
    CURSORSETPROP("Buffering",5,0)
    CLOSE ALL
    CLOSE DATA ALL
    cCodeNew = "SES2"
    
    OPEN DATABASE KB952548_DB SHARED
    USE KB952548_DB_PARENT SHARED IN 0
    USE KB952548_DB_DETAIL SHARED IN 0 ORDER TAGDETAIL
    SELECT KB952548_DB_PARENT
    SET RELATION TO h1 INTO KB952548_DB_DETAIL
    
    INSERT INTO KB952548_DB_PARENT (h1) VALUES (cCodeNew)
    FOR liLoop = 1 TO 4
    	INSERT INTO KB952548_DB_DETAIL (h1, d1) ;
    		VALUES (cCodeNew, "SECONDSESSION " + TRANSFORM(liLoop))
    ENDFOR
    
    =TABLEUPDATE(.T.,.T.,'KB952548_DB_PARENT')
    =TABLEUPDATE(.T.,.T.,'KB952548_DB_DETAIL')
    CLOSE DATABASES ALL
    
  5. 執行 Session1.prg 程式。 當您執行這項操作時兩個瀏覽視窗開啟。Kb952548_db_parent 瀏覽視窗顯示父資料表的記錄。Kb952548_db_detail 瀏覽視窗顯示子系表格的記錄。
  6. 啟動 Visual FoxPro 的另一個執行個體,然後再執行 Session2.prg 程式。
  7. 請檢查工作階段 1] 視窗。
Kb952548_db_parent 瀏覽視窗中 H1 資料行的目前的值會是 SES1。在這種情況下 Kb952548_db_detail 瀏覽視窗應該顯示 H1 資料行的值為 SES1 的所有記錄。不過,裡面 H1 資料行的值會是 SES2 會意外地顯示在 Kb952548_db_detail 某些記錄瀏覽視窗。

這篇文章中的資訊適用於:
  • Microsoft Visual FoxPro 9.0 Professional Edition
關鍵字:?
kbmt kbexpertiseadvanced kbqfe kbhotfixserver KB952548 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:952548? (http://support.microsoft.com/kb/952548/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。