ОК, кое-что здесь.
Во-первых, ваша SQL команда:
Select CP_Fund_Book_No from Amount_Data where MrNo = '" & Me.MrNoTextBox.Text & "' and CP_Fund_Book_No_Status = '" & "Active" & "'"
была бы лучше написана
Select CP_Fund_Book_No from Amount_Data where MrNo = @MrNo and CP_Fund_Book_No_Status = 'Active'
, затем научитесь используйте параметры для предотвращения sql внедрения, хотя здесь это не ваша проблема.
Далее вы говорите: «когда данные состоят из нескольких строк, они загружаются, если данные находятся только в одной строке». Команда Dad.Fill (Dst, "Amount_Data") загрузит все соответствующие строки. Следующая строка:
Dst.Tables("Amount_Data").Rows(CurrentRow)("CP_Fund_Book_No")
, кажется, игнорирует все, кроме строки 'CurrentRow' - как установить CurrentRow? Я предполагаю, что именно это выдает ошибку.
Наконец, вас смущает синтаксическая ошибка в окне сообщений. В VB. NET используется:
MessageBox.Show(ex.message, "Error")
После того, как вы увидите содержимое ex.message, которое должно точно указать, в чем проблема.