Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
День добрый. По долгу службы стало мне необходимо выбирать данные в экселевскую табличку из базы на sql server. Процедура написана, опробована на сервере, все работает. Данные выбираются очень просто: Код: plaintext 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. Столкнулся с такой проблемой. При параметре Chair равном, скажем, 72 данные отлично забираются из базы и представляются в табличке. Но если этот параметр равен, конкретно у меня, 64, 76, 82 или 69, то на строке: Код: plaintext И это при том, что на самом сервере эта процедура выполняется и возвращает данные без ошибок независимо от параметров. В чем может быть дело? Что именно может не понимать VBA, чтобы выдавать такую ошибку? P.S. процедуру, если нужно, тоже напишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 14:35 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 14:38 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
Спасибо, уже читал. set nocount on написал, но изменения не появились. Пробовал и этой функцией: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext И при этом свойство State у rs все время равно нулю, и это: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 15:02 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
chester49, CopyFromRecordset ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 15:05 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
chester49появляется ошибка "Не удается изменить свойство ActiveConnection объекта RecordSet с объектом Command в качестве источника."Потому что соединение открыто по умолчанию с серверным курсором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 15:06 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
Причина может быть только одна - либо рекордсет не возвращается вовсе, либо возвращаются дополнительные сообщения. Это лечится "set nocount on" Ну опубликуйте код процедуры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 15:06 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
вот это Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 15:14 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
"set nocount on" стоит, поэтому остается первое. самое интересное то, что с одними данными rs работает, а с другими нет, при том что в MS SQL Server процедуры выполняются все. завтра с работы выложу процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 17:38 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
Вот процедура: Код: plaintext 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. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 06:48 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
Shocker.Proвот это Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. Сделал, теперь на проблемных данных свойство State у rs равно нулю, а при попытке rs.NextRecordset выдается ошибка "Текущий проводник не поддерживает возврат нескольких наборов записей в результате одной операции" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 07:00 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
chester49, у вас в процедурах PGetChairTeachingLoad и PGetChairTeachingLoadCalculationItemList стоит set nocount on? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 09:08 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
Только щас заметил - неправильно: chester49 Код: plaintext 1. 2. 3. вот так должно быть: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 09:19 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
chester49 Сделал, теперь на проблемных данных свойство State у rs равно нулю, а при попытке rs.NextRecordset выдается ошибка "Текущий проводник не поддерживает возврат нескольких наборов записей в результате одной операции" Что-то непонятно... очень сложно удаленно разбираться. Драйвер у вас стандартный, все он должен поддерживать... ADO, надеюсь, свежий? попробуйте сделать процедуру Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 09:24 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
Первичный код автора рабочий, забирал данные на VB и запихивал в грид, все работает. Применял в Excel'е, с небольшими отличиями, проблем также не наблюдал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Автору еще раз обратить внимание на свою процедуру и на возвращаемые данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 10:07 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
Всем спасибо. Проблема решилась. Скорее всего ошибка была именно тут: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 10:53 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
chester49Всем спасибо. Проблема решилась. Скорее всего ошибка была именно тут: Код: plaintext 1. 2. 3. странно другое - что получали пустые рекордсеты, несмотря на set nocount ну да ладно, решилось и решилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 10:55 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
chester49, Тогда еще дам несколько советов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 11:02 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. Так еще лучше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 11:58 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
kiv-1980Так еще лучше :) Не лучше, это не эквивалент. К тому же советуй внимательней: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 12:00 |
|
||
|
SQL в VBA (операция не допускается если объект закрыт)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro , Спасибо за поправку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 12:03 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36711348&tid=2159607]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 17ms |
| total: | 141ms |

| 0 / 0 |
