Вторник, 05 Мая 2015 г. 09:34
+ в цитатник
Всем привет!
Есть конструкция:
Set xmlNodeList = xmlDoc.documentElement.selectNodes("/root/response")
For Each xmlNode1 In xmlNodeList
rsRespAction.AddNew
For Each xmlAttribut In xmlNode1.Attributes
If xmlAttribut.name = "client_id" Then
rsRespAction.Fields(xmlAttribut.name) = xmlAttribut.Value
End If
On Error GoTo NextA:
If xmlAttribut.name = "offer_id" Then
rsRespAction.Fields(xmlAttribut.name) = xmlAttribut.Value
End If
Next
NextA:
Next
В рекордсет rsRespAction добавляются данные из распарсенного xml. Поле offer_id в рекордсете - числовое, но данные в атрибуте offer_id могут быть буквенные. Мне их не нужно добавлять в рекордсет. Поэтому я добавил On Error GoTo NextA: и метку NextA: для перехода к следующей ноде в парсере.
Теперь проблема.
Когда код первый раз натыкается на буквенное значение ноды offer_id - выполнение корректно перепрыгивает к метке NextA: . Когда цикл второй раз натыкается на буквенное значение - ошибка не обрабатывается и выдает "Run-time error '3421' Ошибка преобразования типов данных". К самой ошибке претензий нет, вопрос к тому - почему во второй раз не обрабатывается On Error GoTo
_____________________
А что на самом деле хотел сказать Frost_Imp никто не знает, так как администрация форума попросила его быть вежливым. http://www.sql.ru/forum/1155079/run-time-error-v-cikle
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-