如何使用 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”并死掉

MS Access 2016 VBA 导致“输入参数值”窗口

如何在 VBA 代码中的 ms-access 中执行查询?

MS Outlook 干扰 Access vba 程序

可以通过 VBA 更改 MS Access 子表单字段吗?

MS Access:使用 VBA 进行 SQL 插入的日期格式