Vb.net 使用null在VBA中进行长度检查

Vb.net 使用null在VBA中进行长度检查,vb.net,string-length,Vb.net,String Length,我有一些代码用于检查文本框中值的长度,如果任何框没有内容,字符串的长度为0(或null)。代码如下: If (Len(Form_MainScreen.Ctl48.Value) Or Len(Form_MainScreen.Ctl49.Value) Or _ Len(Form_MainScreen.Ctl50.Value) Or Len(Form_MainScreen.Ctl51.Value) Or _ Len(Form_MainScreen.Ctl52.Value) Or Len

我有一些代码用于检查文本框中值的长度,如果任何框没有内容,字符串的长度为0(或null)。代码如下:

If (Len(Form_MainScreen.Ctl48.Value) Or Len(Form_MainScreen.Ctl49.Value) Or _
    Len(Form_MainScreen.Ctl50.Value) Or Len(Form_MainScreen.Ctl51.Value) Or _
    Len(Form_MainScreen.Ctl52.Value) Or Len(Form_MainScreen.Ctl53.Value) Or _
    Len(Form_MainScreen.Ctl54.Value) = 0) Then
              Do X
Else
              Do Y
End If
当一个字符串为空时,长度检查变为“null”,整个语句也是如此。 但是如果长度检查都不为null,if语句将变为“1”,然后再次执行dox过程

你知道我能做什么吗

谢谢,
Tim

您的代码片段对我来说没有多大意义,但是如果您使用的是vb.net,并且如果任何值为null或0长度,您希望执行“X”,那么您可以执行以下操作:

If (String.IsNullOrEmpty(Form_MainScreen.Ctl48.Value) OrElse String.IsNullOrEmpty() OrElse _
    String.IsNullOrEmpty(Form_MainScreen.Ctl50.Value) OrElse String.IsNullOrEmpty(Form_MainScreen.Ctl51.Value) OrElse _
    String.IsNullOrEmpty(Form_MainScreen.Ctl52.Value) OrElse String.IsNullOrEmpty(Form_MainScreen.Ctl53.Value) OrElse _
    String.IsNullOrEmpty(Form_MainScreen.Ctl54.Value)) Then
    X()
Else
    Y()
End If 

使用
String.IsNullOrEmpty
是一个内置函数,可以毫无例外地处理这两种情况。使用
OrElse
条件将允许稍快的处理,因为一旦收到有效匹配,它将停止执行条件表达式。简单地使用
需要计算所有条件表达式,即使它不是必需的。

您的代码片段对我来说没有多大意义,但是如果您使用的是vb.net,并且希望在任何值为null或长度为0时执行“X”,则可以执行以下操作:

If (String.IsNullOrEmpty(Form_MainScreen.Ctl48.Value) OrElse String.IsNullOrEmpty() OrElse _
    String.IsNullOrEmpty(Form_MainScreen.Ctl50.Value) OrElse String.IsNullOrEmpty(Form_MainScreen.Ctl51.Value) OrElse _
    String.IsNullOrEmpty(Form_MainScreen.Ctl52.Value) OrElse String.IsNullOrEmpty(Form_MainScreen.Ctl53.Value) OrElse _
    String.IsNullOrEmpty(Form_MainScreen.Ctl54.Value)) Then
    X()
Else
    Y()
End If 
If (Len(Form_MainScreen.Ctl48.Value)=0 Or Len(Form_MainScreen.Ctl49.Value)=0 Or _
    Len(Form_MainScreen.Ctl50.Value)=0 Or Len(Form_MainScreen.Ctl51.Value)=0 Or _
    Len(Form_MainScreen.Ctl52.Value)=0 Or Len(Form_MainScreen.Ctl53.Value)=0 Or _
    Len(Form_MainScreen.Ctl54.Value) = 0) Then
    Do X
Else
    Do Y
End If

使用
String.IsNullOrEmpty
是一个内置函数,可以毫无例外地处理这两种情况。使用
OrElse
条件将允许稍快的处理,因为一旦收到有效匹配,它将停止执行条件表达式。仅使用
需要计算所有条件表达式,即使这不是必需的。

您使用的是VBA还是VB.NET,请澄清!您使用的是VBA还是VB.NET,请澄清!
If (Len(Form_MainScreen.Ctl48.Value)=0 Or Len(Form_MainScreen.Ctl49.Value)=0 Or _
    Len(Form_MainScreen.Ctl50.Value)=0 Or Len(Form_MainScreen.Ctl51.Value)=0 Or _
    Len(Form_MainScreen.Ctl52.Value)=0 Or Len(Form_MainScreen.Ctl53.Value)=0 Or _
    Len(Form_MainScreen.Ctl54.Value) = 0) Then
    Do X
Else
    Do Y
End If