【问题标题】:Trying to get the value in vba from the combo box selection in a form试图从表单中的组合框选择中获取 vba 中的值
【发布时间】:2022-01-12 21:56:23
【问题描述】:

我有一个表单,其中有一个包含所有徽章编号的组合框(徽章示例:12345)但是当我尝试将其分配给 vba 中的变量时,它给了我以下错误: 运行时错误“6” 溢出

但是当我去调试它显示 Combo529.Value = 12345 但它不会将它分配给我的变量并给出错误

Private Sub reportRecord_Click()
Dim badgeNum As Integer
badgeNum = Combo529.Value

reportRecord.Value = getReport(badgeNum)
End Sub

这里是 getReport() 函数的代码:

Function getReport(badge As Integer)

Dim yearNow As Integer
yearNow = year(Date)

Dim report As String

report = badge & "-" & yearNow & "-"

Dim i As Integer

For i = 1 To 3
If Not IsNull(DLookup("Badge_ID", "Employee_Self_Assessment", "Report_ID = ' " & report & "0" & i & "'")) Then

    getReport = 0
    
    Else
    
    Next i
    
    getReport = 1
    
End If
    

End Function

【问题讨论】:

  • 尝试将变量声明为 Long。
  • 完美,谢谢。

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


【解决方案1】:

假定 Badge_ID 是一个自动编号或长整数字段,显然该值对于 Integer 变量来说太大了。将变量声明为 Long。或者 Variant 类型应该可以工作 - 未显式声明的变量将默认为 Variant。

【讨论】:

    猜你喜欢
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    相关资源
    最近更新 更多