|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Есть форма. В ней таблица (динамический recordset на основе тяжёлого запроса). Каким образом в табличке отметить нужные записи, без обновления запроса? Нагляднее всего ставить галочки, но при этом приходится обновлять весь Recorset, чтобы увидеть эти галочки. И это получается долго. Пока ничего не могу придумать. Хочется быстро поставить галочки в нужные записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 13:08 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Вы хотите ставить галочки прямо в форме? А что мешает? Или запрос не обновляемый? Для какой цели это вам нужно? На этом сайте демонстрировалось решение с отвязанными флажками. Возможно коллеги вам кинут ссылку. Также, возможно, подойдет элемент "Список" с мультивыделением. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 13:52 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Вы хотите ставить галочки прямо в форме? А что мешает? Или запрос не обновляемый? Для какой цели это вам нужно? На этом сайте демонстрировалось решение с отвязанными флажками. Возможно коллеги вам кинут ссылку. Также, возможно, подойдет элемент "Список" с мультивыделением. В таблице за сотню тысяч записей. Часть выбирается тяжёлым запросом и отобранные записи показываю на форме в таблице. Запрос обновляемый. Если ставлю галочки - долго перерисовывается табличка. Цель: отобрать, пометить нужные записи. Список с мультивыделением - он может быть многоколоночный ? Его можно раскрашивать? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 14:06 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Вы хотите ставить галочки прямо в форме? А что мешает? Или запрос не обновляемый? Для какой цели это вам нужно? На этом сайте демонстрировалось решение с отвязанными флажками. Возможно коллеги вам кинут ссылку. Также, возможно, подойдет элемент "Список" с мультивыделением. Это было произведение уважаемого qwerty112 http://www.sql.ru/forum/1060183/multivaluecombo-filtr-kak-v-eksele-primer?mid=15153525#15153525 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 14:06 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
guest_rusimport, Спасибо за ссылку) Для моей задачи, пометить записи в таблице, нужно что-то другое) Хотя вряд ли получится. Пометить записи это половина дела. Потом ещё например отфильтровать такие записи. Тоесть недостаточно только на экране как-то пометить. В базе тоже нужно. Идеально было бы по щелчку мыши подкрасить поле на экране, и запросом обновить одну запись. И так следующую. И не обновлять в момент пометки всю таблицу на экране. Наверное, такое невозможно сделать. Хотя кто знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 14:16 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Например сделать выделение записей в таблице в броузере. Вообще не проблема. Нажал мышку, улетел запрос на сервер, пришёл ответ - подкрасил только одну запись. Работа c DOM моделью. А сделать подобное с табличкой на форме в Accesse, когда за кадром больше 200 тысяч записей - целое дело. Хотя я может чего-то не умею) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 14:27 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
guest_rusimportЭто было произведение уважаемого qwerty112 http://www.sql.ru/forum/1060183/multivaluecombo-filtr-kak-v-eksele-primer?mid=15153525#15153525 Хорошая штучка, но не оно. Там дополнительный флажок на записи ленточной/табличной формы. У него источник данных - функция, возвращающая True, если ID (или BookMark) записи есть в коллекции в модуле формы. На DblClick флажка значение заносится в коллекцию или удаляется оттуда. Как-то так. Пример скачивал, но недавно вирус Петя сильно насрал... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 14:44 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )guest_rusimportЭто было произведение уважаемого qwerty112 http://www.sql.ru/forum/1060183/multivaluecombo-filtr-kak-v-eksele-primer?mid=15153525#15153525 Хорошая штучка, но не оно. Там дополнительный флажок на записи ленточной/табличной формы. У него источник данных - функция, возвращающая True, если ID (или BookMark) записи есть в коллекции в модуле формы. На DblClick флажка значение заносится в коллекцию или удаляется оттуда. Как-то так. Пример скачивал, но недавно вирус Петя сильно насрал... Спасибо) Попробую) Знаю, что коллеги помогут на этом форуме! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 14:46 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
NeboЕсть форма. В ней таблица (динамический recordset на основе тяжёлого запроса). Каким образом в табличке отметить нужные записи, без обновления запроса? Нагляднее всего ставить галочки, но при этом приходится обновлять весь Recorset, чтобы увидеть эти галочки. И это получается долго. Пока ничего не могу придумать. Хочется быстро поставить галочки в нужные записи. Можно сделать так (немного жертвуя наглядностью, но без компромиссов трудно): 1. В основной таблице должен быть ID (возможно скрыт) и например Наименование. 2. Делаем локальную вспомогательную таблицу юзера из двух полей ID и Наименование и показываем её в списке на форме. 3. Когда тыкаем в основную таблицу, ID и Наименование добавляются во вспомогательный список, таким образом обновление нужно делать не на основную таблицу, а на вспомогательную... 4. Когда все выбрали нажимаем кнопочку и за один раз в основной таблице все что выбрано помечается и фильтруется... Единственное - придется сделать управление доп. таблицей (очистить всю, удалить одну или несколько из выбранных записей)... Так... по быстрому пришло на ум... тонну кирпичей с места не сдвинешь, а по одному да еще по хитрому, - вполне... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 15:23 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )guest_rusimportЭто было произведение уважаемого qwerty112 http://www.sql.ru/forum/1060183/multivaluecombo-filtr-kak-v-eksele-primer?mid=15153525#15153525 Хорошая штучка, но не оно. Там дополнительный флажок на записи ленточной/табличной формы. У него источник данных - функция, возвращающая True, если ID (или BookMark) записи есть в коллекции в модуле формы. На DblClick флажка значение заносится в коллекцию или удаляется оттуда. Как-то так. Пример скачивал, но недавно вирус Петя сильно насрал... Тогда, вы, возможно имели ввиду этот пример :) http://am.rusimport.ru/MsAccess/topic.aspx?ID=187 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 15:49 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
guest_rusimport, да, оно. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 17:24 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Ну почему Майкрософт до сих пор не сделал так, чтобы можно было выделить любые записи, используя чекбоксы, не обновляя весь рекордсет? Почему нельзя обновить, отдельную запись на экране даже если это статический Recordset ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 19:14 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Нажал рядом с флажком - все флажки во всех записях вдруг установились. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 22:07 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Пардон) понял это двойной щелчок) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 22:08 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Вопрос: почему флажок устанавливается не быстро с задержкой, а снимается быстро ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 22:09 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Когда ставлю флажки, то наблюдается сильное мерцание, там где идёт закраска оранжевым цветом. Оно и понятно. Там условие. Можно ли как-то сделать, чтобы не мерцало? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 22:23 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Мерцание в 2016 рантайме. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 22:24 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
авторПочему нельзя обновить, отдельную запись на экране даже если это статический Recordset Это можно в АДО-рекордсете ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 22:36 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
а так?авторПочему нельзя обновить, отдельную запись на экране даже если это статический Recordset Это можно в АДО-рекордсете https://msdn.microsoft.com/en-us/vba/access-vba/articles/bind-a-form-to-an-ado-recordset попробовал сделать как в этой ссылке. Не обновляется-то сама ячейка в таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 23:13 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
по двойному клику можно выполнить запрос на изменение значения поля (флажка), а потом - метод Resync рекордсета формы с параметром adAffectCurrent Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 23:30 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
сделал и вот что пишет ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 23:35 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
а так?, Что подкрутить? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 23:36 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
вот так открываю: сам запрос, его тип (Динамический набор) с ADO я работал мало) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 23:42 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Сначала после присвоения рекордсета форме - указать уникальную таблицу. Если не поможет - то еще ресинккомманд Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 23:48 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
я всегда все открываю с adOpenStatic и adLockBatchOptimistic ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 23:51 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
а так?, Вы наверное с SQL сервером работаете? А у меня просто mdb файл в качестве базы. Может поэтому у меня не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2017, 23:58 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Вроде, работает ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 00:29 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
а так?, Вот на этом я застопорился: Me.ResyncCommand = "select top 1 t.*,tt.ss from t left join tt on t.id=tt.t_id where t.id=?" У меня есть свой запрос с параметром. Там id = [parId] Как его правильно указать здесь, чтобы id строки был передан в запрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 00:36 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Вот, что у меня сейчас после клика на поле: ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 00:38 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
А можно вот так запрос указать? Но так не работает. А как тогда? Me.Form.ResyncCommand = "{qryBookID (?)}" В этом запросе должны быть все поля строчки в таблице, или можно пару полей в запросе только указать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 00:50 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
а так?, Если на поле повесить условное форматирование то команда ресинк дёргает весь экран. Но всё равно спасибо за подсказки. Никогда не работал с ADO в таком ключе. Очень интересно) Вопрос: У меня есть сохранённый запрос. Как его подставить сюда? И должен ли этот запрос содержать все поля из которых состоит строчка на экране? Me.ResyncCommand = "select top 1 t.*,tt.ss from t left join tt on t.id=tt.t_id where t.id=?" ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 01:23 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
авторИ должен ли этот запрос содержать все поля из которых состоит строчка на экране? Да, обязательно. Сам запрос может быть другой - проще (см вложение). К сожелению, при работе с табл. акцесса не получается просто указать имя сохраненного запроса, как при обр. к базе МС СКЛ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 12:19 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
а так?, Заработало! Потрясающе! ) Не знал до этого, что так можно. Как же теперь убрать подёргивания экрана? Есть условия на полях, которые раскрашивают поля. Если их убрать. пострадает юзабилити) Ресинк дёргает всю условную раскраску. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2017, 14:25 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
Осподе, зомбированные жертвы кодирования. 1. У тредстартера MS SQL - "200 тысяч записей" для него - пустое место. 2. Не надо бороться с Access-ом. В неравной борьбе победит Access. 3. Тредстартер брешет, яко сивый мерин. При постановке галочки в форме - обновляется ОДНА запись и НИЧЕГО с сервера не тянется. 4. При условии, что сам "программизд" не вызывает Requery/Refresh. 5. Если ужо у тредстартера фсе так печально с рассудком - пущай задействует временную таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 05:49 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
aleks222У тредстартера MS SQL - "200 тысяч записей" для него - пустое место Для сети не пустое место, тормозить будет aleks222При постановке галочки в форме - обновляется ОДНА запись и НИЧЕГО с сервера не тянется. У человека кроме всего прочего условное форматирование, из-за него может быть дополнительный трафик и мерцание. В формах Акс вообще "дергает" бэкенд плохо предсказуемо Ну и выражения выбирайте, хамить не надо ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 06:40 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
aleks222Осподе, зомбированные жертвы кодирования. 1. У тредстартера MS SQL - "200 тысяч записей" для него - пустое место. 2. Не надо бороться с Access-ом. В неравной борьбе победит Access. 3. Тредстартер брешет, яко сивый мерин. При постановке галочки в форме - обновляется ОДНА запись и НИЧЕГО с сервера не тянется. 4. При условии, что сам "программизд" не вызывает Requery/Refresh. 5. Если ужо у тредстартера фсе так печально с рассудком - пущай задействует временную таблицу. Уважаемый Коллега! 1. У меня не SQL сервер. А обычный mdb файл в качестве базы. 200 тысяч записей - это пустое место. Но для акса - это уже не пустое место. 2. Здесь мне всё равно кто победит. 3. Ничего у Вас не обновится, если у Вас статик рекордсет или даже динамик. Запрос с джойнами, с группировками. Поэтому ставь галочку сколько хочешь, сама она не обновится. Более я того я применил ресинк c ADO и всё работает (НО не работает под рантайм 2016). Также условное форматирование дёргает экран. 4. При условии, что сам "программизд" не вызывает Requery/Refresh. Эти команды приходится давать, потому что статик рекордсет 5. Если ужо у тредстартера фсе так печально с рассудком - пущай задействует временную таблицу.[/quot] )))))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 10:20 |
|
Каким образом в табличке на форме отметить нужные записи, без обновления запроса?
|
|||
---|---|---|---|
#18+
MrShinaleks222У тредстартера MS SQL - "200 тысяч записей" для него - пустое место Для сети не пустое место, тормозить будет aleks222При постановке галочки в форме - обновляется ОДНА запись и НИЧЕГО с сервера не тянется. У человека кроме всего прочего условное форматирование, из-за него может быть дополнительный трафик и мерцание. В формах Акс вообще "дергает" бэкенд плохо предсказуемо Ну и выражения выбирайте, хамить не надо С ADO всё работает. Но происходит мерцание экрана. Ну как обычно, одно заработало, зато другое точно уже никак не сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2017, 10:21 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1611851]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 181ms |
0 / 0 |