Cmd=СоздатьОбъект("ADODB.Command");
Cmd.ActiveConnection=Соединение;
Cmd.CommandTimeOut=10;
Cmd.CommandType=1;
Cmd.Commandtext=СокрЛП("SELECT CODE FROM SC2463 WHERE (ISMARK=0 and SP2464 = ' 22I ')");
Rs.ActiveConnection=Соединение;
Rs=Cmd.Execute();
Пока Rs.EOF()=0 Цикл
Сообщить(Rs.Fields(0).Value);
Rs.MoveNext();
КонецЦикла;
Он работает, все с этим хорошо. Можно ли каким то образом перед обходом цикла узнать, сколько записей (или как там их называют) содержит результат выполнения запроса. Почему то Count не срабатывает
(4) значит рекордсет не знает сколько записей будет выбрано.
В таком случае узнать можно только прокрутив весь рекордсет.
1) ты сам можешь это сделать прокрутив цикл два раза
2) использовать GetRows, но это вернет массив, а семерка их не умеет
SELECT
CODE
, row_number() over (order by code) as [НомерТекущейСтроки]
, row nuber() over (opder by code desc) as [СтрокДоКонцаВыборки]
ROM
SC2463
WHERE (ISMARK=0 and SP2464 = ' 22I ')
order by
CODE
(7) строка соединения
"Provider=SQLOLEDB; Server=192.168.0.100;User ID=sa;Password=пароль;Database=база;"
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший