1

テキスト ボックス内の値の長さをチェックするためのコードがいくつかあります。いずれかのボックスにコンテンツがない場合、文字列の長さは 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

1 つの文字列が空白の場合、長さチェックは "null" になり、ステートメント全体も同様です。しかし、長さチェックがすべて null でない場合、if ステートメントは "1" になり、Do X プロシージャの実行に進みます。

私に何ができるか考えていますか?

ありがとう、ティム

4

2 に答える 2

3

コードスニペットは私にはあまり意味がありませんが、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 

UsingString.IsNullOrEmptyは、例外なく両方の条件を処理する組み込み関数です。条件付きを使用するOrElseと、有効な一致を受け取ると条件式の実行を停止するという点で、わずかに高速な処理が可能になります。単に使用するにOrは、必要がない場合でも、すべての条件式を評価する必要があります。

于 2011-01-07T14:10:40.987 に答える
1
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
于 2016-04-08T06:15:08.500 に答える