2015-10-16 75 views
0

記錄我有一個子窗體像這樣:子窗體搜索的主要形式

enter image description here

當我點擊「選擇」按鈕,我希望在主窗體上的記錄導航到相應的一個(持有相同職員編號的職位)。

我迄今爲止嘗試是當按鈕被按下運行以下VBA:

Private Sub Command6_Click() 
Dim rs As Object 
Dim strLinkValue As String 
strLinkValue = Forms![navigation form]![NavigationSubform]![teacher search qry subform]![Staff ID].Value 
Set rs = Forms![navigation form]![NavigationSubform]![teacher search qry subform].Form.RecordsetClone 
rs.FindFirst "[Staff ID] = '" & strLinkValue & "'" 
Forms![navigation form]![NavigationSubform].Bookmark = rs.Bookmark 
End Sub 

但是當我這樣做,我得到運行時錯誤438(對象不支持此屬性或方法)。

任何想法?我覺得我過於複雜的事情。

回答

3

你第一次得到在這一行錯誤438(「對象不支持此屬性或方法。」)...

Set rs = Forms![navigation form]![NavigationSubform].Recordset.Clone 

Recordset.Clone更改爲Form.RecordsetClone治癒的錯誤(那條線)。

不幸的是,你再試圖在該行設置Bookmark時遇到錯誤438再次...

Forms![navigation form]![NavigationSubform].Bookmark = rs.Bookmark 

之所以在這一點上的錯誤是因爲[NavigationSubform]是子窗體控件和控制不有一個Bookmark屬性。您需要在該控件中包含的Form上設置Bookmark

此代碼做我相信你想要的。我使用數據庫的副本在Access 2010中測試了它。

Dim rs As DAO.Recordset 
Dim strLinkValue As String 

strLinkValue = Me![Staff ID].Value 
With Me.Parent.Form 
    Set rs = .RecordsetClone 
    rs.FindFirst "[Staff ID] = '" & strLinkValue & "'" 
    .Bookmark = rs.Bookmark 
End With 
+0

將'Option Explicit'添加到所有模塊的聲明部分,然後從VB編輯器的主菜單中運行Debug-> Compile。修復編譯器抱怨的任何內容,然後再次嘗試編譯。重複,直到所有編譯錯誤已被消除。 – HansUp