Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 如何使用AutoExec宏在Access中启动时为特定文本指定标签?_Ms Access_Vba - Fatal编程技术网

Ms access 如何使用AutoExec宏在Access中启动时为特定文本指定标签?

Ms access 如何使用AutoExec宏在Access中启动时为特定文本指定标签?,ms-access,vba,Ms Access,Vba,我有一个AutoExec宏打开一个有很多按钮和标签等的表单。其中一个标签将显示文件夹的路径目录。我有一个按钮,可以让你浏览和选择一个文件夹,标签将用最近选择的文件夹路径更新。作为默认文件夹路径。我想让它转到个人用户的 C:\Users\exampleName 文件夹。作为测试,我使用以下功能生成了一个显示其主文件夹的消息框: Public Function setPath() Dim defaultPath As String defaultPath = Environ$("U

我有一个AutoExec宏打开一个有很多按钮和标签等的表单。其中一个标签将显示文件夹的路径目录。我有一个按钮,可以让你浏览和选择一个文件夹,标签将用最近选择的文件夹路径更新。作为默认文件夹路径。我想让它转到个人用户的

C:\Users\exampleName

文件夹。作为测试,我使用以下功能生成了一个显示其主文件夹的消息框:

Public Function setPath()

    Dim defaultPath As String
    defaultPath = Environ$("USERPROFILE")
    pathLabel1.Caption = defaultPath

End Function
问题在于,为了从AutoExec宏运行代码,它不能位于表单模块中。但是为了访问标签及其属性以更新它们,我必须在表单模块中。我不知道如何避开这件事。有什么建议吗

问题在于,为了从AutoExec宏运行代码,它不能 在表单模块中。但为了获取标签及其 属性为了更新它们,我必须在表单模块中。我 我不知道该怎么解决这个问题

创建执行两个操作的VBA函数:

  • 打开您的表单:
    DoCmd.OpenForm“YourFormName”
  • 更改标签的
    标题
    表单![你的名字]!pathLabel1.Caption=Environ$(“USERPROFILE”)
  • 然后更改AutoExec宏,使用宏
    RunCode
    操作调用函数

    但您可能更愿意在每次表单打开时调整
    标题
    ,而不仅仅是在数据库启动时。在这种情况下,从表单加载事件中设置
    标题


    你不能将标签上的访问修饰符设置为
    Public
    ,这样你就可以访问它们了吗?我如何设置标签的访问修饰符?关于它的文档不多,我已经十多年没有使用Access VBA了。我记得它与其他办公产品中的VBA有很大不同,因此在表单成员上设置访问权限可能不同。我只是不记得了。使用函数返回值,因此setPath=defaultPath,然后您可以从任何地方使用,比如
    public function setPath()作为字符串
    me.label1.caption=setPath()
    Private Sub Form_Load()
        Me!pathLabel1.Caption = Environ$("USERPROFILE")
    End Sub