Как передать значение в текстовом поле формы в подпрограмму? - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть простая форма с несколькими полями со списком, текстовое поле, в котором пользователь вводит имя файла, которое он хочет сохранить как (будет электронной таблицей), и несколько кнопок для запуска нескольких запросов. При нажатии кнопки открывается диалоговое окно файла для выбора пути, но само имя файла жестко запрограммировано в подпрограмме. Как взять значение в текстовом поле и передать его в процедуру события кнопки, которая выполняет соответствующий запрос и экспортирует электронную таблицу? В подпрограмме я назвал это fileName, а текстовое поле в форме называется FileName.

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

1 Ответ

1 голос
/ 28 апреля 2020

Я немного сомневаюсь, какой у вас точный вопрос.

Если вы хотите заполнить диалоговое окно имени файла, вы можете установить свойство InitialFileName объекта getFolder. Итак, внутри блока «with» и перед оператором «If»:

getFolder.InitialFileName = FileName.Value
...