微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自动数据输入表单

如何解决自动数据输入表单

试图获得帮助,弄清为什么我的数据表单未正确链接到我的数据库。我对此很陌生,并尝试多次阅读教程以获取所需信息,但是请始终进行下去,无论我如何调整,我都会遇到问题。

这是表格的样子: enter image description here

已连接到12列excel数据库。工作簿中只有两页(主页和数据库) 不断出现以下错误

  1. 运行时错误'380'“无法设置RowSource属性。无效的属性值。”应该在“数据库”区域中显示该表单的微型预览,但它不会显示

这是我的代码

Option Explicit


Sub Reset()

    Dim iRow As Long
    
    iRow = [Counta(Database!A:A)] 'identifies the last row
    
    With frmForm
    
         .txtID.Value = " "
         .txtName.Value = " "
         .txtCostc.Value = " "
         .txtDept.Value = " "
         .txtPay.Value = " "
         .txtSdate.Value = " "
         .txtSuper.Value = " "
         .optCWS.Value = False
         .optFWS.Value = False
         
         .lstDatabase.ColumnCount = 12
         .lstDatabase.ColumnHeads = True
         
         .lstDatabase.ColumnWidths = "30,60,75,40,45,55,60"
         
        If iRow > 1 Then
        
            .lstDatabase.RowSource = "Database!A2:K" & iRow
        Else
        
            .lstDatabase.RowSource = "Database!A2:K"
            
        End If
            
    
    End With
    
End Sub

Sub Submit()

Dim sh As Worksheet
Dim iRow As Long

Set sh = ThisWorkbook.Sheets("Database")

iRow = [Counta(Database!A:A] + 1

With sh

    .Cells(iRow,1) = iRow - 1
    
    .Cells(iRow,2) = frmForm.txtID.Value
    
    .Cells(iRow,3) = frmForm.txtName.Value
    
    .Cells(iRow,4) = frmForm.txtSuper.Value
    
    .Cells(iRow,5) = frmForm.txtDept.Value
    
    .Cells(iRow,6) = IIf(frmForm.optFWS.Value,"S09996","S09992")
    
    .Cells(iRow,7) = IIf(frmForm.optCWS.Value,"S09992","S09996")
    
    .Cells(iRow,8) = frmForm.txtCostc.Value
    
    .Cells(iRow,9) = frmForm.txtSdate.Value
    
    .Cells(iRow,10) = frmForm.txtPay.Value
    
    .Cells(iRow,11) = Application.UserName
    
    .Cells(iRow,12) = [Text(Now(),"DD-MM-YYY HH:MM:SS")]
    
End With

End Sub

Sub Show_Form()

    frmForm.Show
    
End Sub

调试器使我不停进入显示表单部分:

enter image description here

有人知道我在做什么错吗?

解决方法

VBA错误本身非常复杂,说明了mycfg.a = a1a mycfg.layer.b = b2b 。在您的代码中,错误应该在这里:

Rowsource Property

显然.lstDatabase.RowSource = "Database!A2:K" 之后缺少一些内容,例如:

K

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。