これが比較的一般的なエラーであることはわかっていますが、スクリプト用に vb.net または C# を使用してカスタム レポートを作成できるアプリケーションで作業しています。エラー処理は非常に貧弱で、自分で追加するほど知識がありません (可能であれば)。
私のコードは、 LastName、FirstNameとして書式設定されたレポートのテキスト ボックスに格納されている値を取得し、カンマの後のすべての文字を切り捨てます。この値LastNameは、レポートの新しいテキスト ボックスに配置されます。これが私のコードです:
Sub Detail1_Format
Dim lastNameFirstName As String = ""
Dim lastName As String = ""
Dim lastNameCommaIndex As Integer=
'set lastNameFirstName value from data on report'
lastNameFirstName = ReportUtilities.ReturnTextBoxValue(rpt,"Detail1","txtdtr_DTOOLS_CompanyName")
'find index of first comma in lastNameFirstName string'
lastNameCommaIndex = lastNameFirstName.IndexOf(",")
'set contents of lastName using substring of lastNameFirstString'
lastName = lastNameFirstName.SubString(0, lastNameCommaIndex)
'the error happens above when I use lastNameCommaIndex'
'to set the number of characters in my substring'
'set client name textbox value using lastName'
ReportUtilities.SetTextBoxValue(rpt,"Detail1","txtdtr_CALC_ClientName",lastName)
End Sub
lastNameCommaIndex を使用して部分文字列の文字数を設定すると、エラーが発生します。数値に置き換えると、レポートは適切に公開されます。