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

时间:2016-06-08 15:15:20

标签: vba ms-access

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

  

作为事件属性设置输入的单击On Click会产生以下错误:未定义变量。

     

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

     

*评估函数,事件或宏时可能出错。

当我点击OK但是它没有让我在VBA代码中引起问题。我认为它不是代码,但在某些地方我必须做一些配置,但我不确定。所有按钮都会发生这种情况。我有一个每个按钮的事件,这是一个点击事件。我去了vba编辑器并检查了我是否需要添加代码,但它已经存在了。

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

编辑:我对VBA编码的隐私知之甚少,但是这可能与我所有的button_Click()函数都公开有关数据库?我觉得它不会,但我认为值得问。

编辑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

0 个答案:

没有答案