Null状態のDataRow引数に文字列代入してエラー

こんにちは。
UiPath Studio 2024.4.0 Community editionのユーザです。

WF実行中に複数のエラーが発生した場合に、それぞれのエラーメッセージを順番に追加して、DataRow引数io_dr_TransactionItem_Statusのコラムに追加していくことを考えて下記構文を作成しました。

io_dr_TransactionItem_Status(“Error Message”)=io_dr_TransactionItem_Status(“Error Message”).ToString + str_errorMSG

str_errorMSGの中身は添付の通りです。
苗字で記入エラー

DataRow引数io_dr_TransactionItem_Status(“Error Message”)の最初の値はNullです。

ところがデバッグするとこの構文でObject reference not set to an instance of an objectが発生します。

対策が分かる方、いらっしゃいますか?

Hi Gorby,

Can try this:

io_dr_TransactionItem_Status(“Error Message”)=CStr(io_dr_TransactionItem_Status(“Error Message”)) + str_errorMSG

let me know if it works

Cheers…

Hi @gorby

Try this

io_dr_TransactionItem_Status("Error Message") = If(io_dr_TransactionItem_Status("Error Message") Is DBNull.Value, String.Empty, io_dr_TransactionItem_Status("Error Message").ToString) + str_errorMSG

Regards,

Unfortunately, No improvement…

Unfortunately, No improvement……

Dear Gorby,

Can you tell me what is the datatype of given value:

io_dr_TransactionItem_Status(“Error Message”).GetType.ToString

so, i can suggest something…

io_dr_TransactionItem_Status自体がnullなのではないでしょうか?まずはこちらを確認いただいた方が良いように思えます。

io_dr_TransactionItem_Statusは空のExcel Sheetを読み込んでdtを作成し、その後、dtからdrを抽出しているため、当然中身はNullになります。Nullの状態のdrに後から文字列(エラーMSG)を文字列連結して代入するのが目的になります。進め方に問題があればご教示ください。

空のDataTableからは抽出すべきDataRowは存在しないように思えますが、io_dr_TransactionItem_Statusはどのように取得されたものでしょうか?
これがnullということは列情報などもありませんので、文字列をセットすることは
できないかと思います。

自己解決しました。いつもながら、どんくさい間違いでした。
当初列名が2行にわたっていたため、列名を 1行目の列名_2行目の列名 にして、1行にまとめていました。
ところが、これを忘れてプログラミングの際に、 列名を 2行目の列名_1行目の列名 にしていました。お騒がせしました。

Read Range(workbook)アクティビティでExcelからデータ取得したので、データは無くても、列情報は入っていました。正しくはNullではなく空文字String.Emptyでしょうか。ただ、ローカルパネルでみると値はNullと表示されていました。

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