如何使用 MS Access 2016 在 VBA 表达式中编写数字字段?
Posted
技术标签:
【中文标题】如何使用 MS Access 2016 在 VBA 表达式中编写数字字段?【英文标题】:How to write a numeric field in a VBA expression using MS Access 2016? 【发布时间】:2018-11-20 01:46:52 【问题描述】:我有一个将字段引用为日期格式的代码行。我需要以数字格式引用另一个字段。
这是我的日期格式字段代码:
Private Sub cmbsearch_Click()
Dim varFilter As Variant, stdcard_id As String, txtname As String, txtrecord
As String, strTableName As String
strTableName = "tbl01"
If IsNull(Me.stdcard_id) Then
Me.stdcard_id.SetFocus: Exit Sub
End If
varFilter = "[dateofbirth]= # "& Forms!frm_stid_name_record & "#"
....
End Sub
这是我的数字格式字段的代码行,但我不知道在“=”符号后面写代码
varFilter = "[std_id]="
【问题讨论】:
您的标题显示为 MS Access,但您的标签显示为 Excel-VBA。请edit 澄清!如果您使用了错误的标签,它会显示在错误的类别中,您可能无法得到答案。 【参考方案1】:试试
Dim stdid As Long
stdid = Val(Forms!frm_stid_name_record)
varFilter = "[std_id]=" & stdid & " "
【讨论】:
我为我的错误道歉。我的代码行来自 VBA Access 2016 cmd 按钮。我有一个表单,其中包含在上一篇文章中已经声明的三个文本框。 @Dy.Lee。在我的代码中,我需要包含 'Forms!frm_stid_name_record...' 'varFilter = "[std_id]=" & Forms!frm_stid_name_record & " " ' 编译错误类型不匹配发生在:'Forms!frm_stid_name_record' 我一直在谷歌搜索但没有找到任何帮助来修复错误。 @SebastianSalazar,如果Forms!frm_stid_name_record是一个字符,你可以把它转换成数字,然后完成sql语句。 在我的 Db 表单中!frm_stid_name_record 是表单名称。我的 tbl01 有三个字段:'std_id (Double)'、'stdname (string)'、'stdrecord (Double)' 对于我表单中的 cmd 按钮,我正在尝试使用两个函数:'txtname = Nz(DLookup("[ stdname]", strTableName, varFilter), "N/A")' 'txtrecord = Nz(DLookup("[txtrecord]", strTableName, varFilter), "N/A")' 因此,我需要将错误修复为测试上面的代码行。我很困惑,因为我以为我在使用 VBA 代码。以上是关于如何使用 MS Access 2016 在 VBA 表达式中编写数字字段?的主要内容,如果未能解决你的问题,请参考以下文章
从 MS Access 2016 VBA 启动 Outlook 2016 触发“另一个程序正在使用 Outlook”并死掉