Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.07;
Скачать: CL | DM;

Вниз

ADOTable + фильтр + одинаковые строки = лажа   Найти похожие ветки 

 
slydiman ©   (2003-03-17 23:13) [0]

Таблица dBASE (DBF файл) без индексов.
Задача: все строки с одинаковым полем A объединить в одну суммировав значения поля B.
Создал 2 копии ADOTable, перебираю первую таблицу (интересует значение поля A). При этом во второй таблице задаю фильтр A="XXX". Во второй таблице считаю сумму поля B и удаляю все строки кроме первой. Затем эту сумму заношу в оставшиюся первую строку.

Проблема: если встречаются 2 абсолютно одинаковые строки, то ADOTable ругается и на Delete и на Post (после редактирования). Сообщение об ошибке непереводимо :), нихватает ему каких-то данных для выполнения операции.

Help!!! Заранее спасибо.


 
ЮЮ ©   (2003-03-18 04:54) [1]

>если встречаются 2 абсолютно одинаковые строки
Нельзя иметь в таблице 2 абсолютно одинаковые строки: их, действительно нельзя редактировать, а удалить можно только все скопом, отдельным запросом. Потому и следует вводить в таблице поля с уникальными значениями.


 
sniknik ©   (2003-03-18 08:27) [2]

немного не так,
> иметь в таблице 2 абсолютно одинаковые строки
можно, но не в этом случае, возврашайся на BDE, Fox, либо на какой нибудь локальный движок, и у тебя не будет с этим проблем. (для локальных актуален еще и номер записи так что они работают с одинаковыми строками)

другое дело ADO (ты его используеш значит и его привила должен принять), ADO "заточен" под клиент/серверную технологию где номер записи не имеет значения (даже если в частном случае его можно получить (Visual Foxpro Driver к примеру)) а идентификация идет по значениям самой записи/уникальному ключу если есть, и в этом случае "2 абсолютно одинаковые строки" никак не идентифицируются (нет отличий - неясно к какой обращение). В общем в этом случае единственный выход добавить ключевое уникальное поле. (ну можео еще провайдера поменять попытатся но вряд ли найдеш такого который совмещает клиент/сервер и локал технологии, VFD скорее исключение и у него свои "тараканы" )


 
Anatoly Podgoretsky ©   (2003-03-18 10:04) [3]

Проблема: если встречаются 2 абсолютно одинаковые строки, то ADOTable ругается и на Delete и на Post (после редактирования). Сообщение об ошибке непереводимо :), нихватает ему каких-то данных для выполнения операции.

А ты не переводи а приведи, но одинаковые строки разруха в голове


 
D   (2003-03-18 10:09) [4]

Это точно, никакой нормализации в таблице.

А если нужно суммировать зн-е поля В у строк с одинак.полем А, то исп-йте группировку (select A, sum(B) from Table1 group by A ...)



Страницы: 1 вся ветка

Текущий архив: 2003.04.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
14-19756
dimich1978
2003-03-22 15:53
2003.04.07
Соединение двух зданий на скорости не более 10Мбит на HPNA.


14-19809
крот
2003-03-19 13:59
2003.04.07
Я, Вань, такую же хочу...


14-19826
Анонимщик
2003-03-19 18:41
2003.04.07
Сервисы, реестр, безопасность


1-19695
OxyGen
2003-03-26 13:51
2003.04.07
Цвет в ListBox е!!!!!


7-19883
Ruf
2003-02-12 12:45
2003.04.07
hotkey