2011-08-23 73 views
0

我正在測試綁定到斷開連接的ADO記錄集的數據表窗體。當我編輯任何記錄的任何部分時,我會在發生更新後收到以下錯誤消息:訪問錯誤與斷開連接的ADO記錄集

「數據已添加到數據庫,但數據不會顯示在 表單中,因爲它不符合基礎記錄源中的標準「。

我正在使用客戶端遊標,因爲這是您可以斷開並保留記錄集的唯一方法。另外,我有代碼在更新發生時重新建立連接,然後再次斷開連接。

我沒有使用任何觸發器或存儲過程。我在Windows XP SP3上使用SQL Server 2008 Express和Access 2007(安裝了所有更新)。我正在使用ActiveX Data Objects 2.8。

我找到本文和安裝了修補程序。我重新啓動了電腦,但問題仍在繼續。 http://support.microsoft.com/kb/961451

任何想法?

EDIT1:
代碼示例:

'rst is a form level variable (ADO Recordset Object) 
With rst 
    Set .ActiveConnection = gCon 'Global ADO Connection Object 
    .Source = "SELECT i.*, c.lft FROM tblInventory AS i LEFT JOIN tblCat AS c ON i.catid = c.catid" 
    .LockType = adLockPessimistic 
    .CursorType = adOpenDynamic 
    .Open 
End With 

Set Me.Recordset = rst 
Me.UniqueTable = "tblInventory" 
rst.ActiveConnection = Nothing 
gCon.Close 

回答

0

看起來像我已經找到了滿意的工作,各地。這取自ASPAlliance

爲此,我們必須將設計視圖中窗體的ResyncCommand屬性設置爲SQL語句。

例如:重新同步命令:

Select * From tblName where FieldName = ? 

如果行來源包含多個表的存儲過程結合在一起然後形式的重新同步命令屬性應該被設置爲的SQL語句選擇與存儲過程相同的字段並參數化被指定爲唯一表的表的主鍵。