2017-02-16 5 views
-2

すべてのステートメントを作成しようとしていますが、プログラムは各条件を読み取る必要があります。これは私が何らかの形でそれを実現した間違いです。なぜなら私はもちろん、それが各条件を通過しないからです。しかし、イム立ち往生、私はこの問題ifステートメントの複数の条件を読み取って閉じた

'I want to state two condition (A) and (B) thats why I am using IF and 
'ELSE. but inside (B) i want to pass through first, second, and third 
'condition 

    '(A) 

    If tmpRS2.EOF Then 
     tmpRS2.AddNew 
     tmpRS2.Fields("ADPS_CD").Value = KOM_04 
     tmpRS2.Fields("ADPS_NAME").Value = KOM_14 & KOM_05 & KOM_06 
     tmpRS2.Update 
     YC = YC + 1 

    ' (B) The problem starts here ---->    

    Else 'it will not go through each one of the condition, 

      'first condition 

     If KOM_14 & KOM_05 & KOM_06 <> tmpRS2.Fields("ADPS_NAME").Value Then 
      tmpRS2.DbEdit 
      tmpRS2.Fields("ADPS_NAME").Value = KOM_14 & KOM_05 & KOM_06 
      tmpRS2.Update 
      UC = UC + 1 

     Else 
      'second condition 

      If KOM_14 & KOM_05 & KOM_06 <> tmpRS2.Fields("SCT_NAME").Value Then 
       tmpRS2.DbEdit 
       tmpRS2.Fields("SCT_NAME").Value = KOM_14 & KOM_05 & KOM_06 
       tmpRS2.Update 
       UC = UC + 1 
      Else 

        'third condition 

        If KOM_14 & KOM_05 & KOM_06 <> tmpRS2.Fields("DIV_NAME").Value Then 
         tmpRS2.DbEdit 
         tmpRS2.Fields("DIV_NAME").Value = KOM_14 & KOM_05 & KOM_06 
         tmpRS2.Update 
         UC = UC + 1 
        End If 
     End If 

    End If 
+1

あなたが書いた場合あなたの隣同士にして削除他の人の場合は? (If ... End If - If ... End If ...) – Damien

+0

@Damienは私の質問をもう一度読んで、私は実現する必要があります(A)else(B)がifを使うことができず、endのみを終了します。 elseを使用する必要があります。 – elimiaw

+0

@Damienが正しいです。 3つの条件すべてを別々にチェックするので、 'KOM_14&KOM_05&... Then ... End If'をセクション(B)の' Else ... End if'の間に入れてください。さらにネストする必要はありません。 –

答えて

0

使用のElseIfを解決する方法がわからないので:

If tmpRS2.EOF Then 
     '..... 
ElseIf KOM_14 & KOM_05 & KOM_06 <> tmpRS2.Fields("ADPS_NAME").Value Then 
     '..... 
ElseIf KOM_14 & KOM_05 & KOM_06 <> tmpRS2.Fields("SCT_NAME").Value Then 
     '..... 
ElseIf KOM_14 & KOM_05 & KOM_06 <> tmpRS2.Fields("DIV_NAME").Value Then 
     '..... 
End If 
+0

elseifを使用すると、「どちらか一方」、例えばADPS_NAMEが条件を満たす場合はEND IFにスキップします。 SCT_NAMEとDIV_NAMEを読み取ることはできません – elimiaw

関連する問題