powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как изменить RecordSource формы в режиме сводной таблицы
19 сообщений из 19, страница 1 из 1
Как изменить RecordSource формы в режиме сводной таблицы
    #32575709
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть настроенная форма в режиме сводной таблицы. Т.е. поля источника данных привязаны к областям этой сводной таблицы. При смене источника данных в событиях Load или Оpen этой формы эта настройка проподает, форма выводится пустой. Естественно второй источник полностью идентичен первому (думаю, что не пройдет номер даже с переприсвоением того же источника). Источник данных представляет собой простой запрос. Если поменять источник в конструкторе, то всё работает. Есть ли выход?
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575723
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ты меняешь соурс? Покажи код
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575749
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обычно

Me.RecordSource = "qry2"
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575756
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
strPivotLayout = Me.XMLData
Me.RecordSource = "...."
Me.XMLData = strPivotLayout
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575770
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, обычно работает. Не понятно мне только почему ты меня ешь на Load или Оpen, может быть в том и проблема. Но попробуй после этой команды запустить Requery. И еще, попробуй сделать тоже самое на новой форме с таким же комплектом контролов, но без кода, только этот код на Load или Оpen
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575824
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йцук: xmlData не нашел, наверно, говорите об А2003, у меня А 2002.

Rivkin Dmitry: на открытии меняю соурс потому что форма вызывается из разных мест, анализ одинаковый, выборки разные. Никакого кода кроме одного события нет. Но там есть вычисляемы поля сведений и итоги, может это мешает.

Если ничего не поможет, попробую формировать сам запрос динамически, не меняя его в источнике...
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575833
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Me.PivotTable.XMLData
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575838
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
йцук, извините, нашел, только Me.PivotTable.xmlData
счас попробую...
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575849
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladKЙцук: xmlData не нашел, наверно, говорите об А2003, у меня А 2002.

Rivkin Dmitry: на открытии меняю соурс потому что форма вызывается из разных мест, анализ одинаковый, выборки разные. Никакого кода кроме одного события нет. Но там есть вычисляемы поля сведений и итоги, может это мешает.

Если ничего не поможет, попробую формировать сам запрос динамически, не меняя его в источнике...

Так может быть лучше перед открытием формы сформировать запрос и не ломать голову. И работать должно быстрее, т.к. при загрузке формы все равно будет грузиться предыдущий запрос, а потом уже перегрузится на новый...
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575854
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпри загрузке формы все равно будет грузиться предыдущий запрос, а потом уже перегрузится на новый
Ну и пусть себе грузится какой-нибудь "Select СписокПолей Where False"
Заодно пользователь сумеет поля поперетаскивать - без торможения, неизбежного при наличии данных
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575865
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо, метод предложенный йцук'ом работает великолепно.
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575868
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
йцук авторпри загрузке формы все равно будет грузиться предыдущий запрос, а потом уже перегрузится на новый
Ну и пусть себе грузится какой-нибудь "Select СписокПолей Where False"
Заодно пользователь сумеет поля поперетаскивать - без торможения, неизбежного при наличии данных

Неа! Не сможет пользователь ничего таскать - Акс занят открытием запросов и ни фига не даст делать, притворится мертвым...
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575886
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>т.к. при загрузке формы все равно будет грузиться предыдущий запрос

Точно ли это так?

Почему же тогда событие BeforeQuery наступает после Form_Open ? Или хотите сказать что они асинхронно идут?
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575897
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПочему же тогда событие BeforeQuery наступает после Form_Open ?
потому что до Form_Open ничего произойти и не может
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575920
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
When you open a form, the following sequence of events occurs for the form:

Open → Load → Resize → Activate → Current
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575954
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я знаю, но для сводных форм есть дополнительное событие BeforeQuery Event
Код: plaintext
1.
Occurs when the specified PivotTable view queries its data source.
как йцук логично заметил ничего не может быть до open формы
Rivkin Dmitry написал
Код: plaintext
1.
 т.к. при загрузке формы все равно будет грузиться предыдущий запрос
BeforeQuery происходит после события open, если я меняю соурс в open, то почему будет грузиться предыдущий запрос?
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575958
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри лучше, до или после Form_Load оно (BeforeQuery) наступает
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575970
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Был не прав.
всё происходит так:
Form_BeforeQuery
Form_Open
Form_Load

Так что действительно будет грузится...

Однако в Form_BeforeQuery поменять соурс не даёт.
...
Рейтинг: 0 / 0
Как изменить RecordSource формы в режиме сводной таблицы
    #32575982
йцук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и забей ты на это
установи в качестве источника Select НужныеПоля, и нехай себе грузится
все равно же ты его переопределяешь?

а переопределение я бы сделал по пользовательскому действию - в случае сложного запроса или большого количества данных
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как изменить RecordSource формы в режиме сводной таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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