|
|
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Есть таблица с большим количеством полей, допустим заказчики. Есть поле РЕГИОН. Нужно подготовить отчет Заказчики по регионам. На сервере создана ХП с параметром @Region Используя ADO, вызываю ХП и передаю требуемое значение параметра Получаю рекордсет (все работает правильно),но как мне его увидеть в табличной форме? Если создавать врем.таблицу, идти по строкам рс и создавать новый рс1 с INSERT, то строка SQL становится просто огромной, учитывая большое количество полей Может быть есть более "умный способ"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 06:59 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
А в чем проблема то? открывай форму, в качестве источника записей которой твоя ХП в режиме таблицы, и все. Или тебе просто неохота прописывать все поля? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 07:05 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Не очень хорошо составил предложение. Имеется ввиду открывай форму в режиме таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 07:06 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
To Pavel: Не получается Механизм такой. В "поисковой" форме я выбираю нужный регион, жму кнопку "Отбор", которая выполняет ХП на сервере с передачей параметра Регион Возвращается Рекордсет. А куда его воткнуть, не соображу ( сейчас наверное пойдут импровизации на последнюю фразу -))) Сделал ленточную форму, открыл ее и пытаюсь в цикле по рекордсету заполнить ее. Все честно работает, но весь рс в одну строку (т.е. остается толька последняя запись из РС) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 14:44 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
У формы есть сов-во: RecordSource - туда и пихать хранимую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:11 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
А как это свойство задать программно? Дело в том что у меня в зависимости от выбора пользователя запускаются разные ХП Хорошо бы перед открытием формы указать, что источником строк является рекордсет Можно? Если да, то как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:27 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
В чем проблемма то ? У формы источником может быть Recordset. Set Me.Recordset = MyADODBRecordset В принципе нет проблем и в RecordSource загнать Делаеш Public VB фукцию и присваеваеш точто она возвращает в строке входящих параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:35 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Почти хорошо ---- Вот фрагмент ---- docmd.OpenForm "Forma" Set Forms!Forma.Recordset=rs While (not rs.EOF) Forms!Forma.ID_ORG=rs!ID_ORG ............ rs.MoveNext Wend ---- Заполняется вся ленточная форма, но запись всегда одна и та же Где косяк? -(((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:50 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
2 Latuk А не проще ли написать: Me.RecordSource = "Exec MyStoredProcedure" & и фигова туча моих параметров. Это вместо функции. 2 ayv If user="Пупкин" Then strSQL = "Exec MyStoredProcedure" & и фигова туча моих параметров Else strSQL = "Exec MyStoredProcedure_ALL" & и фигова туча моих параметров End If Это фигня, то что я написал, потому что процедура должна быть одна, на вхзод ей имя пользователя, а потом уже проверки в процедуре, но не на клиенте:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:50 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Этот цикл засовывает в указанное поле в текущей записи формы все значения последовательно из всех записей рекордсета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:52 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
2 ayv А вот теперь картина маслом - ХП возвращает тысяч n-дцать записей и мы с барабаном на шее и с шаманским бубном бегаеим по этому рекордсету и заполняем форму:) Ура, товарищи:) Вот где косяк: Forms!Forma.ID_ORG=rs!ID_ORG ТАК ДЕЛАТЬ НЕЛЬЗЯ В ПРИНЦИПЕ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:55 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста, как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:57 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч Он присваивает последнее значение из рекордсета, а не все. Бежит по рекордсету и присваивает текущуюзапись - форма оттображает в итоге последнюю запись из рекордсета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:57 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что я уже писал про RecordSource. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:58 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
2 Hummer: Разумеется, после цикла остается последнее из занесенных значений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:00 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч Не внимательно прочитал Ваш ответ. Извините:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:03 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
При попытке Me.RecordSource = "Exec MyStoredProcedure" & Регион "Не могу найти ХП MyStoredProcedureРегион" А писать весь запрос не хочется, так как теоретически параметров может быть много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:23 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
"Не могу найти ХП MyStoredProcedureРегион" Ну я просто телепат - угадал название процедуры:) Выполняется конкотенация строки - поэтому после "&" нужно указывать значение переменной, которое мы хотим передать в качестве параметра нашей ХП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:30 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
а Регион и есть значение переменной конкретно "Не могу найти ХП MyStoredProcedure54" А вообще-то процедура называется по другому, но все равно здорово ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:34 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Ошибся малость: Me.RecordSource = "Exec MyStoredProcedure " & Регион Можно было подумать немного:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:37 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Мужики, извините за назойливость VBA занимаюсь всего как месяц, стараюсь лишний раз не клянчить помощи, пытаюсь найти сам, но тут вопрос для меня где то даже концептуальный Сначала я делал так 1. создавал рс на основе SELECT 2. создавал рс1 на основе INSERT во вр. таблицу значений в цикле по рс 3. затем выводил на экран но думаю, это слишком примитивно, тем более, что INSERT c его синтаксисом при большом количестве выводимых полей становится кошмаром создать рс просто, а вот увидеть его в любой форме, хоть в таблице не просекаю -(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:42 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Если вернуться к постановке задачи - то способ её решения уже дан. В источник данных ЛЮБОЙ формы в коде прописываем командную сторку (Select, Exec бла-бла-бла). Никакой назойливости нет:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:49 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Проблема таже docmd.OpenForm "Forma" Set Forms!Forma.RecordSource="Exec XP " & intReg А как ленточную форму заполнить строками из запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:50 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
какой конструкцией мне сделать присваивание значений элементов формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:54 |
|
||
|
"Визуализация" рекордсета
|
|||
|---|---|---|---|
|
#18+
Уважаемый - если после этой строчки Forms!Forma.RecordSource="Exec XP " & intReg ленточная форма Forma не отображает данные, значит ХП не вернула НИЧЕГО(если не стоит On error resume next) и сервер тоже не выдал ошибку. SET НЕ НУЖЕН. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 16:56 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32313808&tid=1678490]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 219ms |
| total: | 400ms |

| 0 / 0 |
