条件分岐のエラーについて

繰り返しのアクティビティの中で条件分岐のアクティビティを設置し、項目のリストで指定のデータテーブル変数を入力。
項目はデフォルトのcurrentitem

条件式でデータテーブルの各行(Currentitemで参照される)において、特定の列(登録番号、登録名、名前)の値が、あらかじめ定義された変数の値(str登録番号、str登録名、str名前)と一致するかどうかをチェック。
全ての条件が真(True)である場合にのみ、条件式全体が真(True)になるように以下の条件を入力しましたが、あっていますか?

条件分岐の条件↓
Currentitem(“登録番号”).ToString.Equals(str登録番号) AndAlso Currentitem(“登録名”).ToString.Equals(str登録名) AndAlso Currentitem(“名前”).ToString.Equals(str名前)

Hi @neco

CurrentItem("Registration Number").ToString.Equals(strRegistrationNumber) AndAlso CurrentItem("Registered Name").ToString.Equals(strRegisteredName) AndAlso CurrentItem("Name").ToString.Equals(strName)

This condition checks if the values in the “Registration Number”, “Registered Name”, and “Name” columns of the current row in the DataTable (referred to as CurrentItem ) match the values stored in the predefined variables strRegistrationNumber , strRegisteredName , and strName , respectively. If all conditions are true for a particular row, then the entire conditional expression will evaluate to true. So, you are right with your statement.

Hope it helps!!

1 Like

@neco

If you want to exactly match the datatable registration number,registration name,name then use “Equal” or Else use "Contains " in the place of equal

1 Like

上記の条件で行うと、
以下のエラーが出力されます。
解決策を教えて下さい!!

引数
Condition’
BC30512: Option Strict Onでは’String"から’Integer
BC30512:
への暗黙的な変換は許可されていません。
選択した値がプロパティの型に対応していません。
‘Condition’
: Option Strict On では ‘String
から
Integer’
への暗黙的な変換は許可されていません。
選択した値がプロパティの型に対応していません。
‘Condition’:
BC30512:Option Strict On ではString
からInteger’
への暗黙的な変換は許可されていません。
選択した値がプロパティの型に対応していません。

Hi @neco

Try this:

CurrentItem("Registration Number").ToString() = strRegistrationNumber AndAlso CurrentItem("Registered Name").ToString() = strRegisteredName AndAlso CurrentItem("Name").ToString() = strName

Ensure that strRegistrationNumber , strRegisteredName , and strName are defined as strings. If they are of another type (such as Integer), you may need to convert them accordingly.

Hope it helps!!

1 Like

@neco

.ToString() is used to ensure that both sides of the comparison are treated as strings.

Currentitem("registration number").ToString.Equals(strRegistrationNumber) AndAlso 
Currentitem("registration name").ToString.Equals(strRegistrationName) AndAlso 
Currentitem("name").ToString.Equals(strName)


Check the data type of strRegistrationNumber,strRegistrationName,strName it must be in string

1 Like

Can you please specify what are the variable datatype @neco

Regards

1 Like

str登録番号、str登録名、str名前
すべて型はString型です。

Hi @neco

You are running a For each loop right, Can you share the screenshot of the properties panel of For each loop.

Regards

こんにちは

使用しているアクティビティは、繰り返し(データテーブルの各行)でしょうか?そうであれば
デフォルトの変数はcurrentRow なので

CurrentRow("登録番号").ToString.Equals(str登録番号) AndAlso CurrentRow("登録名").ToString.Equals(str登録名) AndAlso CurrentRow("名前").ToString.Equals(str名前)

なのでは?

image

もし可能であれば、スクリーンショット等も添付いただくとよいと思います。

1 Like

こんにちは
わかりやすく写真の提示ありがとうございます。

今比較して確認したところアクティビティが間違っておりました。
繰り返し(コレクションの各要素)を使用しており、正しい(データテーブルの各行)を使用したらエラー解消出来ました。

ありがとうございました。
UIPath始めたばかりで困っていたので、助かりました。
次回からは、スクショも載せて質問させていただきます。
今後もよろしくお願いいたします。 :bowing_woman:

1 Like

アクティビティが間違っていました。
解決出来ました!
ありがとうございました。 :smile:

1 Like

こんにちは

問題解消とのことでよかったです。
ちなみに繰り返し(コレクションの各要素)でも以下のようにすれば動作は可能です。ご参考まで。

1 Like

なるほど。そう行えばできるのですね
とても勉強になります :pray: