【问题标题】:How to make a foreach button in vba that saves values for an array of textboxes?如何在 vba 中创建一个 foreach 按钮来保存文本框数组的值?
【发布时间】:2023-04-06 02:52:01
【问题描述】:

我有一个不同形式的列表,位于文本框中的值是从不同形式的列表中检索的,我的问题是我不能一次删除所有值,因为它们来自视图而且我不允许一次更改多个表,所以我的解决方案是使用我的所有文本框创建一个数组,并将值逐个变为 null 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

按下应该执行操作的按钮时它给我的错误如下:

用户自定义类型尚未定义

【问题讨论】:

    标签: sql sql-server vba ms-access ms-access-2010


    【解决方案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 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
    

    【讨论】:

    • 它没有用,它什么也没做它不会改变任何文本框中的值
    • 您的原始代码也不会,但现在您没有错误。我们不知道它应该如何与“Guardar_Click”宏一起工作。如果您想清除列出的文本框,只需将它们的值设置为 Null
    猜你喜欢
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    相关资源
    最近更新 更多