powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / "Визуализация" рекордсета
25 сообщений из 46, страница 1 из 2
"Визуализация" рекордсета
    #32312964
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
Есть таблица с большим количеством полей, допустим заказчики. Есть поле РЕГИОН.
Нужно подготовить отчет Заказчики по регионам.
На сервере создана ХП с параметром @Region
Используя ADO, вызываю ХП и передаю требуемое значение параметра
Получаю рекордсет (все работает правильно),но как мне его увидеть в табличной форме?
Если создавать врем.таблицу, идти по строкам рс и создавать новый рс1
с INSERT, то строка SQL становится просто огромной, учитывая большое
количество полей
Может быть есть более "умный способ"?
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32312965
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем проблема то? открывай форму, в качестве источника записей которой твоя ХП в режиме таблицы, и все. Или тебе просто неохота прописывать все поля?
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32312966
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень хорошо составил предложение. Имеется ввиду открывай форму в режиме таблицы.
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313579
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
To Pavel:
Не получается
Механизм такой. В "поисковой" форме я выбираю нужный регион, жму кнопку
"Отбор", которая выполняет ХП на сервере с передачей параметра Регион
Возвращается Рекордсет.
А куда его воткнуть, не соображу ( сейчас наверное пойдут импровизации на последнюю фразу -)))
Сделал ленточную форму, открыл ее и пытаюсь в цикле по рекордсету
заполнить ее.
Все честно работает, но весь рс в одну строку (т.е. остается толька последняя
запись из РС)
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313620
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У формы есть сов-во: RecordSource - туда и пихать хранимую.
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313639
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
А как это свойство задать программно?
Дело в том что у меня в зависимости от выбора пользователя
запускаются разные ХП
Хорошо бы перед открытием формы указать, что источником строк является рекордсет
Можно?
Если да, то как?
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313656
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем проблемма то ?
У формы источником может быть Recordset.
Set Me.Recordset = MyADODBRecordset

В принципе нет проблем и в RecordSource загнать
Делаеш Public VB фукцию и присваеваеш точто она возвращает в строке входящих параметров.
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313687
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
Почти хорошо
----
Вот фрагмент
----

docmd.OpenForm "Forma"
Set Forms!Forma.Recordset=rs
While (not rs.EOF)
Forms!Forma.ID_ORG=rs!ID_ORG
............
rs.MoveNext
Wend
----
Заполняется вся ленточная форма, но запись всегда одна и та же
Где косяк?

-((((
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313690
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Latuk
А не проще ли написать:
Me.RecordSource = "Exec MyStoredProcedure" & и фигова туча моих параметров.
Это вместо функции.

2 ayv
If user="Пупкин" Then
strSQL = "Exec MyStoredProcedure" & и фигова туча моих параметров
Else
strSQL = "Exec MyStoredProcedure_ALL" & и фигова туча моих параметров
End If

Это фигня, то что я написал, потому что процедура должна быть одна, на вхзод ей имя пользователя, а потом уже проверки в процедуре, но не на клиенте:)
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313695
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Этот цикл засовывает в указанное поле в текущей записи формы все значения последовательно из всех записей рекордсета.
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313705
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ayv
А вот теперь картина маслом - ХП возвращает тысяч n-дцать записей и мы с барабаном на шее и с шаманским бубном бегаеим по этому рекордсету и заполняем форму:)
Ура, товарищи:)

Вот где косяк: Forms!Forma.ID_ORG=rs!ID_ORG

ТАК ДЕЛАТЬ НЕЛЬЗЯ В ПРИНЦИПЕ.
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313711
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
Подскажите, пожалуйста, как?
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313713
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч
Он присваивает последнее значение из рекордсета, а не все. Бежит по рекордсету и присваивает текущуюзапись - форма оттображает в итоге последнюю запись из рекордсета.
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313714
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, что я уже писал про RecordSource.
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313716
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Hummer:

Разумеется, после цикла остается последнее из занесенных значений.
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313725
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч
Не внимательно прочитал Ваш ответ. Извините:)
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313766
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
При попытке
Me.RecordSource = "Exec MyStoredProcedure" & Регион

"Не могу найти ХП MyStoredProcedureРегион"
А писать весь запрос не хочется, так как теоретически параметров может быть много
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313783
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Не могу найти ХП MyStoredProcedureРегион"

Ну я просто телепат - угадал название процедуры:)

Выполняется конкотенация строки - поэтому после "&" нужно указывать значение переменной, которое мы хотим передать в качестве параметра нашей ХП.
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313791
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
а Регион и есть значение переменной
конкретно
"Не могу найти ХП MyStoredProcedure54"
А вообще-то процедура называется по другому, но все равно здорово
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313799
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибся малость:
Me.RecordSource = "Exec MyStoredProcedure " & Регион

Можно было подумать немного:)
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313808
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
Мужики, извините за назойливость
VBA занимаюсь всего как месяц, стараюсь лишний раз
не клянчить помощи, пытаюсь найти сам, но тут
вопрос для меня где то даже концептуальный
Сначала я делал так
1. создавал рс на основе SELECT
2. создавал рс1 на основе INSERT во вр. таблицу значений в цикле по рс
3. затем выводил на экран

но думаю, это слишком примитивно, тем более, что INSERT c его
синтаксисом при большом количестве выводимых полей становится кошмаром
создать рс просто, а вот увидеть его в любой форме, хоть в таблице
не просекаю
-((
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313825
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вернуться к постановке задачи - то способ её решения уже дан. В источник данных ЛЮБОЙ формы в коде прописываем командную сторку (Select, Exec бла-бла-бла).
Никакой назойливости нет:)
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313827
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
Проблема таже
docmd.OpenForm "Forma"
Set Forms!Forma.RecordSource="Exec XP " & intReg
А как ленточную форму заполнить строками из запроса?
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313833
ayv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ayv
Гость
какой конструкцией мне сделать присваивание значений элементов формы?
...
Рейтинг: 0 / 0
"Визуализация" рекордсета
    #32313837
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый - если после этой строчки
Forms!Forma.RecordSource="Exec XP " & intReg
ленточная форма Forma не отображает данные, значит ХП не вернула НИЧЕГО(если не стоит On error resume next) и сервер тоже не выдал ошибку.

SET НЕ НУЖЕН.
...
Рейтинг: 0 / 0
25 сообщений из 46, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / "Визуализация" рекордсета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]