Vba 将表单从一个ms access 2013数据库导出到另一个数据库会丢失按钮功能

Vba 将表单从一个ms access 2013数据库导出到另一个数据库会丢失按钮功能,vba,ms-access,Vba,Ms Access,我将表单从一个数据库导出到另一个数据库。表名和查询是完全相同的,所以我的组合框可以让我选择一个表,它仍然可以正常工作并显示所有的表。我有一个按钮,可以通过打开windows资源管理器来选择文件夹位置。这在我的原始数据库中起作用,但在新数据库中,我得到以下错误: 作为事件属性设置输入的单击表达式产生以下错误:变量未定义 *表达式可能不会产生宏的名称、用户定义函数的名称或[事件过程] *计算函数、事件或宏时可能出现错误 但是,当我单击“确定”时,它没有将我带到导致问题的VBA代码中的一行。我认为这不

我将表单从一个数据库导出到另一个数据库。表名和查询是完全相同的,所以我的组合框可以让我选择一个表,它仍然可以正常工作并显示所有的表。我有一个按钮,可以通过打开windows资源管理器来选择文件夹位置。这在我的原始数据库中起作用,但在新数据库中,我得到以下错误:

作为事件属性设置输入的单击表达式产生以下错误:变量未定义

*表达式可能不会产生宏的名称、用户定义函数的名称或[事件过程]

*计算函数、事件或宏时可能出现错误

但是,当我单击“确定”时,它没有将我带到导致问题的VBA代码中的一行。我认为这不是代码,但在某个地方我必须进行一些配置,但我不确定。我所有的按钮都是这样。我对每个按钮都有一个事件,这是一个点击事件。我转到vba编辑器,检查是否需要添加代码,但它已经存在

在我表单的属性表中,所有事件都设置好了,每个组件的名称都相同,所以我看不出有什么问题。如何在不完全重新设计表单的情况下恢复功能

编辑:我对VBA编码的隐私知之甚少,但这可能与我所有的按钮单击()函数在两个数据库中都是公共的这一事实有关吗?我觉得不会,但我觉得值得一问

编辑2:以下是打开windows资源管理器的按钮的代码:

Public Sub pathButton1_Click()

    Dim strPath As String
    With Me
        strPath = Left(.pathLabel1.Caption, InStrRev(.pathLabel1.Caption, "/"))
        strPath = FSBrowse(strStart:=strPath, _
                           lngType:=msoFileDialogFolderPicker, _
                           strPattern:="MS Access Databases,*.ACCDB; *.MDB~" & _
                                       "All Files,*.*")
        If strPath > "" Then .pathLabel1.Caption = strPath
    End With

End Sub

Public Function FSBrowse(Optional strStart As String = "", _
                         Optional lngType As MsoFileDialogType = _
                             msoFileDialogFolderPicker, _
                         Optional strPattern As String = "All Files,*.*" _
                         ) As String
    Dim varEntry As Variant

    FSBrowse = ""
    With Application.FileDialog(DialogType:=lngType)
        'Set the title to match the type used from the list
        .Title = "Browse for "
        Select Case lngType
        Case msoFileDialogOpen
            .Title = .Title & "File to open"
        Case msoFileDialogSaveAs
            .Title = .Title & "File to SaveAs"
        Case msoFileDialogFilePicker
            .Title = .Title & "File"
        Case msoFileDialogFolderPicker
            .Title = .Title & "Folder"
        End Select
        If lngType <> msoFileDialogFolderPicker Then
            Call .Filters.Clear
            For Each varEntry In Split(strPattern, "~")
                Call .Filters.Add(Description:=Split(varEntry, ",")(0), _
                                  Extensions:=Split(varEntry, ",")(1))
            Next varEntry
        End If
        'Set some default settings
        .InitialFileName = strStart
        .AllowMultiSelect = False
        .InitialView = msoFileDialogViewDetails
        'Only return a value from the FileDialog if not cancelled.
        If .Show Then FSBrowse = .SelectedItems(1)
    End With
End Function
公共子路径按钮1\u单击()
将strPath设置为字符串
和我一起
strPath=Left(.pathLabel1.Caption,InStrRev(.pathLabel1.Caption,“/”)
strPath=FSBrowse(strStart:=strPath_
lngType:=msoFileDialogFolderPicker_
strPattern:=“MS Access数据库,*.ACCDB;*.MDB~”&_
“所有文件,*.*”)
如果strPath>“”则.pathLabel1.Caption=strPath
以
端接头
公共函数FSBrowse(可选strStart As String=“”_
可选lngType作为MsoFileDialogType=_
msoFileDialogFolderPicker_
可选strPattern为String=“所有文件,*.*”_
)作为字符串
Dim varEntry作为变量
FSBrowse=“”
使用Application.FileDialog(DialogType:=lngType)
'将标题设置为与列表中使用的类型匹配
.Title=“浏览”
选择案例lngType
案例msoFileDialogOpen
.Title=.Title&“要打开的文件”
案例msoFileDialogSaveAs
.Title=.Title&“要另存为的文件”
案例msoFileDialogFilePicker
.Title=.Title&“文件”
案例msoFileDialogFolderPicker
.Title=.Title&“文件夹”
结束选择
如果lngType msoFileDialogFolderPicker,则
呼叫,过滤器,清除
对于拆分中的每个varEntry(strPattern,“~”)
Call.Filters.Add(说明:=Split(varEntry,“,”)(0)_
扩展名:=拆分(varEntry,“,”)(1))
下一个varEntry
如果结束
'设置一些默认设置
.InitialFileName=strStart
.AllowMultiSelect=False
.InitialView=msoFileDialogViewDetails
'如果未取消,则仅从文件对话框返回值。
如果.Show,则FSBrowse=.SelectedItems(1)
以
端函数

发布给出错误的vba代码会有所帮助。@ChristopherD。我编辑了我的帖子。这是一个按钮,尝试将
选项Explicit
放在每个函数的顶部并运行代码。它至少应该更具体地说明哪个变量没有被定义。我以前在模块的顶部有这个变量,但我在每个函数上面都添加了它,但仍然得到了相同的错误消息@ChristopherD。当它给出该错误并单击“确定”时,它不会将我带到选择了任何行的vba编辑器。我只是觉得它指的是我的一个OnClick()函数,但对于发布给出错误的vba代码会有帮助的实际问题,它非常模糊。@ChristopherD。我编辑了我的帖子。这是一个按钮,尝试将
选项Explicit
放在每个函数的顶部并运行代码。它至少应该更具体地说明哪个变量没有被定义。我以前在模块的顶部有这个变量,但我在每个函数上面都添加了它,但仍然得到了相同的错误消息@ChristopherD。当它给出该错误并单击“确定”时,它不会将我带到选择了任何行的vba编辑器。我只是觉得它指的是我的一个OnClick()函数,但对于实际问题是什么,它非常模糊