Главная страница
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.013 c
4-19923
KasAlex
2003-02-07 12:07
2003.04.07
Список процессов в Win9x


1-19594
dronas555
2003-03-28 17:17
2003.04.07
Добавление информации в файл.


1-19520
Andrey Terekhov
2003-03-26 14:25
2003.04.07
Как показать прогресс копирования или скачки файла


3-19420
Staraya
2003-03-18 09:35
2003.04.07
Отношение один ко многим


1-19654
LyzD
2003-03-25 02:28
2003.04.07
Вопрос по работе с формами...