簡體   English   中英

MS Access VBA:正確引用子窗體

[英]MS Access VBA: Properly Referencing a SubForm

我已經為工作組構建了MS Access課程管理工具。 我有一個表格,最終用戶可以為特定課程添加培訓材料。 表格中的一個字段要求使用該材料的特定醫院。 要填充此表單,用戶單擊一個按鈕,該按鈕會彈出一個表單(“ sbfrmcoursematerialsite”),其中包含我們系統中用戶可以選擇的所有可能醫院的列表。 使用以下SQL代碼填充表單:

SELECT pklistEntSites.Site FROM pklistEntSites UNION SELECT "          [Enterprise]" FROM pklistEntSites
ORDER BY pklistEntSites.Site;

此多選連接了醫院的縮寫,並創建了一個字符串以插入“ sbfrmTrainingElements”(這是名為txtSite的txtBox的控制源)中的“ Site”字段中。 我的問題是,當我單擊“ sbfrmcoursematerialsite”上的“確定”按鈕時,出現錯誤消息:無法執行此操作。 我的“ sbfrmcoursematerialsite”表單中包含的我的VBA代碼如下。 串聯功能正在運行,但該錯誤在代碼中以粗體顯示的行上發生。 我是否未正確引用要將數據添加到的子表單?

Private Sub cmdOk_Click()
Dim teID As Integer
Me.Refresh
teID = Me.txtTrainingElementID 'Document Training Element ID

DoCmd.SetWarnings False
'Update the Site field in tblTrainingElements for the specific training      element
'DoCmd.RunSQL "UPDATE tblTrainingElements SET [Site] = '" &     Me.txtSelectedSites & "' WHERE [Training Element ID] = " & teID & ";"
'Debug.Print Me.txtSite.Value
Debug.Print [Forms]![frmFullCourseInfo]![sbfrmTrainingElements]! [Site].Value
**[Forms]![frmFullCourseInfo]![sbfrmTrainingElements]![Site].Value =     Me.txtSelectedSites**
DoCmd.SetWarnings True
'Close the site select form
DoCmd.Close
End Sub

Private Sub Form_Load()
'Show current site selection
Me.txtSelectedSites = [Forms]![frmFullCourseInfo]! [sbfrmTrainingElements]![Site]

'Pass the training element ID from the last screen to current form
Dim i As Integer
i = CInt(Me.OpenArgs)
Me.txtTrainingElementID.Value = i

End Sub

Private Sub lboAllSites_Click()
   Dim strSelected As String
   Dim varItem As Variant

    With Me.lboAllSites
        For Each varItem In .ItemsSelected
            strSelected = strSelected & "," & .ItemData(varItem)
        Next varItem
        Me.txtSelectedSites = Mid(strSelected, 2)
    End With
End Sub

必須引用子窗體容器控件。 我總是給容器起一個不同的名稱,例如ctrTraining。

[窗體]![frmFullCourseInfo]![ctrTraining]![網站]

謝謝您的幫助。 我發現了問題所在。 實際上,“站點”字段具有與之關聯的查找(查找是由離開該項目的一位同事創建的)。 我試圖僅通過刪除查找選項卡中的信息來刪除查找,盡管這樣做仍然保留了某種查找功能。 我要做的就是刪除該字段,然后創建一個具有相同名稱的新字段。 現在一切正常。 再次感謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM