|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Hello world! Ниже представлен код ф-ции, которая должна возвращать набор Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
При вызове этой функции она ничего не возвращает. Предполагаю, что при выходе из F_Exec_SQL_ToRcdSet закрывается курсор. Верно ли мое предположение? Как можно вернуть набор? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 13:32 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
До выхода F_Exec_SQL_ToRcdSet в наборе есть записи ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 13:33 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Хрустальный шар на техобслуживании 1) Что в ConString? 2) Нет ли On Error Resume Next в вызывающем коде? 3) Используется ли Option Explicit? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 13:42 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
по хорошему Yagrus2 Код: vbnet 1.
но это вряд ли влияет. Ваше предположение неверно - работать должно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 13:45 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Shocker.Pro1) Что в ConString? Строка подключения к sql-серверу Shocker.Pro2) Нет ли On Error Resume Next в вызывающем коде? Нет Shocker.Pro3) Используется ли Option Explicit? Нет Это процедура из которой вызываю Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Функция F_CommandText возвращает текст запроса "EXEC [dbo].[SP_Report_Дебиторка_Organisation_WithoutMaping] " На sql-сервере данный запрос отрабатывает(Смотрю через профайлер) на строке CountCol(во внешней процедуре) RcdSet - Notthing ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 14:14 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Yagrus2Shocker.Pro3) Используется ли Option Explicit? НетОно http://www.sql.ru/faq/faq_topic.aspx?fid=2539 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 14:28 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Shocker.Pro, К сожалению включение данной опции не помогло найти ошибку. Ниже код процедур Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 15:08 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Shocker.Pro, Провел еще такой эксперимент. В проблемной ф-ции F_Exec_SQL_ToRcdSet, добавил еще один параметр типа ADODB.Recordset. Передаю его как ссылку из внешней процедуры(Calc_InSql_MapingOrgName_Put_ToExcel_Forum). Меняю его значение этого параметра на Con.Execute(CommandText) Может при выходе из F_Exec_SQL_ToRcdSet все таки курсор закрывается? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 15:13 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
У тебя функция F_Exec_SQL_ToRcdSet ничего не возвращает (точнее, возвращает Nothing), что ты и наблюдаешь в отладчике ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 15:14 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 15:16 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Shocker.ProУ тебя функция F_Exec_SQL_ToRcdSet ничего не возвращает (точнее, возвращает Nothing), что ты и наблюдаешь в отладчике Спасибо! увидел. Проблема исчерпана. Скорее всего, я ощибся на этапе возвращаемого значения. Спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 15:50 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Yagrus2я ощибся на этапе возвращаемого значения.от этого как раз и страхует Option Explicit - рекомендую пользоваться этим постоянно ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2018, 15:51 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Shocker.Pro, Еще раз хотел поблагодарить за ваш совет с Option Explicit Пересмотрев еще раз топик и увидел, что в функции из первого сообщения, Recordset кладется в необъявленную переменную. А должен возвращаться ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2018, 10:28 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Yagrus2Еще раз хотел поблагодарить за ваш совет с Option Explicit Пересмотрев еще раз топик и увидел, что в функции из первого сообщения, Recordset кладется в необъявленную переменную. А должен возвращатьсяТак вот, когда я заметил эту ошибку, а заметил я ее не сразу - визуально это сделать сложно, я посоветовал Option Explicit, полагая, что ошибку вы поймете сразу. Но вы вместо этого объявили локальную переменную и я подумал, что вы не знаете, как возвращать значение из функции, поэтому отправил вас читать учебник ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2018, 11:11 |
|
EXCEL Функция возвращающая RecordSet
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4.
этот кусок у вас функции ничего не делает, зачем он там? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2018, 13:43 |
|
|
start [/forum/topic.php?fid=61&msg=39641858&tid=2172339]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 324ms |
total: | 443ms |
0 / 0 |