DataRow[]変数に値が入っているか判定

DataRow型変数Aに指定した情報とデータテーブルの値が一致すれば値をとってきたいです。
値を持ってこれていなければメッセージを表示としたいのですが、ifで A==nullとしてもスルーされてしまい、処理ができなくて止まってしまいます。
何故でしょうか?

こんにちは

お使いの言語はC#でしょうか?
もう少し詳しく比較したいことを共有いただくと良いかと思います。

1 Like

Hi @sayaka.y ,
It’s not clear requirement
You can clear that
In that, I think you need compare 2 file then paste value
That’s right?
Please confirm that
Can you share image or file input and expect result you need
Regards
LNV

1 Like

ありがとうございます。
データテーブル1に地名と人口が入っている。
データテーブル2に同じように地名とそこの情報が入っている。
人口数が一定の条件を満たしたデータテーブル1の地名を元に、データテーブル2から合致する地名を探してそこの行に書いてある情報を取得したいです。
データテーブル1にある地名は必ずデータテーブル2にあります。
ここまではできているのですが、データテーブル2の地名に何らかの間違いがあった場合にエラーがでて止まってしまいます。
そのため、データテーブル1の地名と合致するものが無い場合はエラーで停止するより先にメッセージを出したいです。
ForeachRowアクテビティの中で、DataRow型変数Aにデータテーブル2の情報を1行ずつ取得しているため、変数Aに何も持ってこれていなければメッセージを表示させようと、A==nullだったらメッセージを表示するようifアクティビティで作成したのですが、何も起こらずエラーでロボットが止まってしまいます。
よろしくお願いいたします。

ありがとうございます。
C#です。
よろしくおねがいいたします。

Hi @sayaka.y ,
I think 2 files like below


You want to compare 1 with 2
if value at file 2 is blank will notification
That’s right?
Can you share your demo file input and expect output?
I will test in my solution
Regards,
LNV

1 Like

ありがとうございます。
例えば、1.xlsxが tokyo で、2.xlsxがtokoだったらtokyoが無いので、tokyoが無いです。とメッセージを出したいです。
ファイルを人に見せられなくて、ごめんなさい。

I see you can share
In your requirement, you can compare 2 data table
If 1 row in 1.xlsx not match all row in 2.xlsx will send notification
or assign value status is not found
If you want to code for my file, you can reply me , I will test for you
Regards,

1 Like

こんにちは

この要件なら、データテーブルの二重ループでも可能ですが、
Join DataTableでデータテーブルを結合してから処理するとロジックが簡単になると思います。

以下簡単なサンプルなので一度お試しください。

Sample20230808-4LCSv2.zip (3.8 KB)

追記:Breakアクティビティ不要でしたので修正しました。

1 Like

ありがとうございます。
いただいたファイルがレガシのため開けないようなので、ご教示いただきたいのですが、地名_1はどこで作成されたものになるでしょうか?
よろしくお願いいたします。

地名_1はデータテーブルを結合した際に自動生成される列名です。
(同一データテーブル内に同じ列名が存在できないので)

以下Windowsプロジェクト版ですので一度お試しください。

Sample20230808-5CS.zip (3.8 KB)

1 Like

ありがとうございました!無事に解決いたしました。

1 Like

ありがとうございました!
ちゃんと条件分岐で止めることができました!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.