首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS Access VBA:正确引用SubForm

MS Access VBA:正确引用SubForm
EN

Stack Overflow用户
提问于 2017-03-16 07:10:39
回答 2查看 1.1K关注 0票数 0

我已经为我的小组在工作中建立了一个MS Access课程管理工具。我有一个表单,最终用户可以在其中添加特定课程的培训材料。表单中的一个字段要求提供材料所用于的特定医院。要填充此表单,用户单击一个按钮,该按钮将打开一个表单("sbfrmcoursematerialsite"),其中包含系统中用户可以多选的所有可能医院的列表。表单是使用以下SQL代码填充的:

代码语言:javascript
复制
SELECT pklistEntSites.Site FROM pklistEntSites UNION SELECT "          [Enterprise]" FROM pklistEntSites
ORDER BY pklistEntSites.Site;

这个多重选择将医院缩写连接在一起,并创建一个字符串插入到"sbfrmTrainingElements“(这是名为txtSite的txtBox的控件源)中的"Site”字段中。我的问题是,当我单击"sbfrmcoursematerialsite“上的Ok按钮时,我得到一个错误消息: Cannot Perform this Operation。下面是"sbfrmcoursematerialsite“表单中包含的VBA代码。连接函数正在工作,但错误出现在代码中粗体显示的行上。我没有正确地引用要添加数据的子窗体吗?

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2017-03-16 11:01:04

必须引用该子窗体容器控件。我总是给容器起一个与它持有的对象不同的名称,比如ctrTraining。

表单

票数 0
EN

Stack Overflow用户

发布于 2017-03-17 01:22:25

谢谢你的帮助。我发现了问题所在。字段"Site“实际上有一个与之相关联的查找(lookup是由一位后来离开项目的同事创建的)。我试图通过删除lookup选项卡中的信息来删除查找,尽管如此,它仍然保留了某种查找功能。我所要做的就是删除这个字段,并创建一个同名的新字段。现在一切都很好。再次感谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42822436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档