![]() |
|
|
![]()
|
|
| Natana |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.10.2005 Репутация: нет Всего: нет |
нужно в DBF откорретировать запись. Пользуюсь SQL-запросом.
Сохранить пытаюсь с помощью UpdateSQL. Беда в том, что одинаковых записей в б.д. несколько (Например пользователь неверно ввел фио и получилось 2 Ивановых) происходит следущее Оба Ивановых заменяются на Сидоровых , выдается сообщение об ошибке (...Update Files...) и все... группировать не могу. Добавлять уникальное поле для каждого ????? Может присоветуете чего-нибудь. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 1 Всего: 98 |
само-собой -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Natana |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.10.2005 Репутация: нет Всего: нет |
Прошу прощения за дурацкий пример. Попытаюсь объяснить по другому.
Есть справочник поставщиков(Id, Name). Есть б.д., например по приходу, содержащая данные о № счета-фактуры, дате, сумме, id поставщика и т.д. Одну счет-фактуру ввели ДВА РАЗА. Хочу корректировать или удалить эту запись. Можно ли это сделать без создания уникального кода в б.д.? |
|||
|
||||
| Satana |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 564 Регистрация: 15.9.2004 Где: Ставрополь, СЗ ра йон Репутация: нет Всего: 5 |
Natana В принципе можно но уникальность будет все равно хоть и "неявная" тебе нужно будет в секции where указывать несколько полей-признаков.
Будет чтото вроде
-------------------- |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 2 Всего: 50 |
1. Получить дублированные записи, используя проверку на повторность, например:
В этом запросе считается, что если 3 поля совпадают, то записи одинаковые. 2. Далее в цикле идем по курсору. Удаляем в MyTable все дублированные записи, кроме одной, используя счетчик - поле Cnt - за один проход по всей таблице MyTable. Это сообщение отредактировал(а) Демо - 10.11.2005, 14:19 -------------------- |
|||
|
||||
| nworm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: нет Всего: 8 |
Можно попробывать SELECT DISTINCT...
|
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 2 Всего: 50 |
Это выборка. А удалить лишние? -------------------- |
|||
|
||||
| nworm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: нет Всего: 8 |
Да, видимо, ничего путного из этого не выйдет. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 2 Всего: 64 |
Демо Имхо, правильнее написать чего нить такое:
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |