こんにちは。以下の対応を行いたいのですが、詰まってしまったためヘルプをお願いします。
※諸事情によりUipathを使用しているPCから投稿が不可のため、別PCから投稿しております。画面の貼り付けができずわかりにくく申し訳ありません。
データテーブルA(変数名:dtA)
![A table with two columns that appears to list regions from Japan (Hokkaido, Aomori, Akita, and Iwate prefectures) alongside a blank column for quantities. (Captioned by AI)](https://global.discourse-cdn.com/uipath/original/4X/c/7/6/c76dabfae2c8115b6154b5f4c06097852645099b.png)
データテーブルB(変数名:dtB)
![image](https://global.discourse-cdn.com/uipath/original/4X/d/a/8/da8d12630fa8dc357bfefe2ae91128fa3b65cee1.png)
上記2つのデータテーブルがあります。
データテーブルAの「項目名①」についてデータテーブルBの「項目A」にいくつあるか数えて、データテーブルAの「件数」に入力したいです。
アクティビティ「繰り返し(データテーブルの各行)」の中で代入してカウントしていく方法が有用かと思いましたが、エラーしました。
アクティビティ:繰り返し(データテーブルの各行)
繰り返し:row
次のコレクション内の各要素:dtA
本文
代入 左辺:row(“項目名①”)、右辺:dtB.AsEnumerable.Count(Function(row)row(“項目A”).ToString=row(“項目名①”.Tostring))
エラー内容:Option Strict Onでは、演算子’='に対してObject型のオペランドを使うことはできません。オブジェクトIDをテストするには’Is’演算子を使用してください。
質問は、
(1)上記のエラー解決方法(参考にしたトピックの理解が間違っているかもしれないです)
(2)エラーが解決した場合、カウントした数を「件数」に記入する方法
(3)そもそもこの方法以外で作成するべきなのか?
です。
よろしくお願いいたします。
Yoichi
(Yoichi)
2
こんにちは
取り急ぎエラーへの対応ですが、
=の代わりにEqualsメソッドを使用してみてください。
dtB.AsEnumerable.Count(Function(row)row("項目A").ToString.Equals(row("項目名①".Tostring)))
Yoichiさん、さっそくありがとうございます。
Equalsでエラーは解消しました!
質問(1)のエラーが解消したことで(2)も同時に解決できたのですが、データテーブルBの総数が入力されるようになりました。
![image](https://global.discourse-cdn.com/uipath/original/4X/6/5/e/65e21dff8ddf58cecd0e4343fc75039d67b31cab.png)
この状態です。
北海道の件数は3、青森県の件数は2とならない要因は何か考えられるでしょうか。
Yoichi
(Yoichi)
5
式自体が正しくないと思います。この式ですとdtBの内容しか比較していないように思えますが、実際の式と同じでしょうか?
ありがとうございます。
いじっていたら自己解決できました。
dtB.AsEnumerable.Count(Function(r)r(“項目A”).ToString.Equals(row(“項目名①”.Tostring)))
太字部分をrowではなくrにすることで解決しました。
system
(system)
Closed
7
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.