Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access microsoft access字段必须为空或具有特定长度的值_Ms Access - Fatal编程技术网

Ms access microsoft access字段必须为空或具有特定长度的值

Ms access microsoft access字段必须为空或具有特定长度的值,ms-access,Ms Access,我在表单上有一个字段,我需要用户将其留空或输入一个特定长度(20个字符)的值。有没有人有可以解决这个问题的代码 我试过: (Len([SIM / ENGRV]) = 20) or (isnull([SIM / ENGRV])) or ([SIM / ENGRV]="") 我假设表单中的控件(字段)名称是Text1 因此,您可以在更新前事件中使用此代码 当然,代码可以短得多 但我认为这是理解逻辑最清晰的方式 Private Sub Text1_BeforeUpdate(Cancel As Int

我在表单上有一个字段,我需要用户将其留空或输入一个特定长度(20个字符)的值。有没有人有可以解决这个问题的代码

我试过:

(Len([SIM / ENGRV]) = 20) or (isnull([SIM / ENGRV])) or ([SIM / ENGRV]="")
我假设表单中的控件(字段)名称是Text1

因此,您可以在更新前事件中使用此代码

当然,代码可以短得多

但我认为这是理解逻辑最清晰的方式

Private Sub Text1_BeforeUpdate(Cancel As Integer)
Dim varTmp As Variant
   ' first check if [ENGRV] > 0 to avoid devision by zero error
If Not IsNumeric([ENGRV]) And [ENGRV] = 0 Then
  Text1.Undo
  Cancel = True
Else
' now avoid [SIM] is null error
    If Nz([SIM], "") = "" Then
        Text1.Undo
        Cancel = True
    Else
       varTmp = [SIM] / [ENGRV]
      ' now we know that varTmp is somthing and not empty then check the length
         If Len(Trim(str(varTmp))) <= 20 Then
            Text1.Undo
            Cancel = True
         End If
    End If
End If
Private Sub Text1\u更新前(取消为整数)
Dim varTmp作为变体
'首先检查[ENGRV]>0,以避免零误差除法
如果不是数字([ENGRV]),且[ENGRV]=0,则
Text1.撤消
取消=真
其他的
'现在避免[SIM]为空错误
如果Nz([SIM],“)=”,则
Text1.撤消
取消=真
其他的
varTmp=[SIM]/[ENGRV]
'现在我们知道varTmp是somthing并且不是空的,然后检查长度

如果Len(Trim(str(varTmp))可以在表级别执行。将字段的验证规则设置为:

Len([SIM / ENGRV])=20 Or [SIM / ENGRV] Is Null

试过在哪里发生了什么-错误消息,错误结果,什么都没有?您是否尝试过textbox的验证规则属性?