Как сделать кнопку foreach в vba, которая сохраняет значения для массива текстовых полей? - PullRequest
0 голосов
/ 28 мая 2019

У меня есть список в другой форме, а значения, расположенные внутри текстовых полей, извлекаются из списка в другой форме, моя проблема в том, что я не могу удалить все значения сразу, поскольку они получены из представления и мне не разрешено изменять несколько таблиц одновременно, поэтому мое решение состоит в том, чтобы создать массив со всеми моими текстовыми полями и повернуть значение на ноль 1 на 1 и сохранить их отдельно, чтобы я не получил эту ошибку ,

Я пробовал разные решения, такие как сохранение всего сразу.

Private Sub Comando28_Click()
Dim strTextBoxes(1 To 5) As String

tbAplic = Me.TbUAplicacion.Value

tbUsr = Me.tbuUsuario.Value

tbMail = Me.tbuMailUsuario.Value

tbnmbre = Me.tbuNombrePersona.Value

tbAppld = Me.tbuApellidosPersona.Value

tbDni = Me.tbuDNIPersona.Value

Dim ITM As strTextBoxes.ITM

For Each ITM In strTextBoxes.ITM
    If ITM = Not Null Then ITM = Null
    Guardar_Click '<---- this is a macro which I use to save the items new value
Next ITM

End Sub

ошибка, которую он выдает при нажатии на кнопку, которая должна выполнить действие, выглядит следующим образом:

пользовательский тип не был определен

1 Ответ

0 голосов
/ 28 мая 2019

Попробуйте это:

Private Sub Comando28_Click()

    Dim strTextBoxes(1 To 5) As String

    tbAplic = Me.TbUAplicacion.Value

    tbUsr = Me.tbuUsuario.Value

    tbMail = Me.tbuMailUsuario.Value

    tbnmbre = Me.tbuNombrePersona.Value

    tbAppld = Me.tbuApellidosPersona.Value

    tbDni = Me.tbuDNIPersona.Value

    Dim ITM As String
    Dim Item As Long

    For Item = LBound(strTextBoxes) To UBound(strTextBoxes)
        ITM = strTextBoxes(Item)
        If ITM <> "" Then ITM = ""
        Guardar_Click '<---- this is a macro which I use to save the items new value
    Next

End Sub
...