在VBA Access中使用.text和.value之间的区别

l--*_*''' 13 ms-access vba

我将textbox1.text值传递给查询,有时传递给字符串:

Dim combor1 As String
combor1 = comboReason1.Text
Run Code Online (Sandbox Code Playgroud)

我怎么知道什么时候该放combor1 = comboReason1.Value

另外,为什么我需要为控件设置焦点以引用其属性?这对我来说没有意义.

此外,当我设置combor4 = comboReason4.Value并且.value为null时,我收到有关无效使用null的错误.

Phi*_*ier 24

  • ".text"为您提供屏幕上显示的内容
  • ".value"为您提供基础价值

两者通常给出相同的结果,除非相应的控件是

  1. 组合框或列表框控件
  2. 显示的值与绑定列不同

例:

  • id_Person是表单中的组合框控件
  • rowsource是"SELECT id_Person,personName FROM Tbl_Person"
  • 列宽为"0cm; 3cm"
  • 绑定列为1

在这种情况下:

  • id_Person.text显示Tbl_Person.personName
  • id_Person.value显示Tbl_Person.id_Person.

.text属性仅在相应控件具有焦点时可用.

.text是一个字符串值,因此它不能为Null,而.value可以为Null

编辑:.text只能在控件具有焦点时调用,而.value可以随时调用...