【问题标题】:How do I pass value in textbox on form to subroutine?如何将表单文本框中的值传递给子程序?
【发布时间】:2020-04-28 13:29:38
【问题描述】:

我有一个简单的表单,其中包含几个组合框、一个文本框,用户可以在其中输入他们想要保存的文件名(将是一个电子表格),以及几个按钮来运行一些查询。当按下按钮时,它会打开文件对话框以选择路径,但文件名本身在子例程中是硬编码的。如何获取文本框中的值并将其传递给运行相应查询并导出电子表格的按钮事件例程?在例程中,我将其称为文件名,表单上的文本框称为文件名。

Option Compare Database
Option Explicit

Private Sub AllPaybacks_Click()
Dim getFolder As Object
Dim sLoc As String
Dim fileName As String

Set getFolder = Application.FileDialog(msoFileDialogFolderPicker)
With getFolder
    .AllowMultiSelect = False
    If .Show = True Then
        sLoc = getFolder.SelectedItems(1) & "\"
    End If
End With

DoCmd.OpenQuery "PaybackQ"
DoCmd.TransferSpreadsheet acExport, , "PaybackQ", sLoc & fileName & ".xlsx", True
End Sub

【问题讨论】:

    标签: vba forms ms-access ms-access-2013


    【解决方案1】:

    我有点不确定你的确切问题是什么。

    如果要填充文件名对话框,则可以设置 getFolder 对象的 InitialFileName 属性。因此,在 "with" 块内和 "If" 语句之前:

    getFolder.InitialFileName = FileName.Value
    

    【讨论】:

    • 在文件对话框中设置了文件路径,但在表单的文本框中输入了文件名。我只想在 DoCmd.transferspreadsheet 命令中导出生成的文件时使用文本框条目。
    猜你喜欢
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多