![]() |
|
![]() ![]() ![]() |
|
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: нет Всего: 7 |
Требуется заменить в наборе данных сразу много полей. Например ошибочно ввели 50 записей и надо у всех 50 поменять одно или несколько полей.
Вот сижу думаю. Самое логичное, показать окошко с DBLookUPComboBox'ами и т. п. Слева, критерии поиска, справа на что заменяем. Конечно 2 комбобокса связанные с одной таблицей не смогут показывать разные значения, но можно на сервере создать для справочных таблиц "копии" в виде вьюсов. Но создавать в БД какие-то структуры отличные от самих данных не хочется. С другой стороны, у меня и так есть фильтрация данных, было бы неплохо реализовать такую схему: Этой же фильтрацией получить выборку в TADOQuery и всю эту выборку обработать. Можно по ней просто пройтись циклом for:
Но вот такой вопрос можно-ли как-то применить тут SQL, т. е. обратиться с запросом не к таблице, а к набору данных моего QSearch? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
X-Vlad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 570 Регистрация: 10.4.2002 Где: Украина, Львов Репутация: 3 Всего: 5 |
а нельзя повесится на BeforePost у датасета и недавать юзеру вводить плохие данные? непонимаю зачем давать пользователю вводить данные а потом их менять. Юзер хоть об этом знает? ![]() |
|||
|
||||
Zmitro |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 19.3.2008 Репутация: 1 Всего: 1 |
логичнее делать чтобы юзер сразу вводил правильные данные к примеру через DBLookupComboBox - тогда и править записи не придется никогда.
|
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: нет Всего: 7 |
Правильность выбора нужного из допустимых значений вообще-то не проверяется в принципе без создания компьютера умеющего читать мысли пользователя.
![]()
А он за их правильность и отвечает. И никто не отменял таких систем, где сидят тети и только тем и занимаются, что ищут нужные записи и правят их, или добавляют новые. Я такую БД по приборам делал, которых очень много и которые периодически поверяются и все изменения должны фиксироваться в базе. Можно конечно понаставить ограничений, какая тетенька к каким полям будет иметь доступ, но не тот случай. Конкретно что сейчас делаю: БД в которую заносятся данные по изготовленным резиновым смесям, в месяц их делается 40-50 тыс. шт. За раз один резиносмеситель может изготовить до 130 шт. Ес-но из них 99% годные и занесение ес-но по принципу: с номера a по номер b, и все параметры идентичны. Даже если вероятность указать не ту смену или номер резиносмесителя незначительны, исправить ошибку в 100 записях без написания запроса просто мегагеморно. Но ес-но пользователь запросы писать не умеет и никто ему этого не даст, я уж не говорю, про массовое удаление (точнее просто ставится признак стирания, окончательно удалять всем подряд ес-но непозволено), которое все равно делать надо иначе за год в таблице будет 500000 записей. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |