Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Непонятная пересортировка в MDB


Автор: Данкинг 5.8.2008, 17:00
Есть программа, которая через ADO добавляет данные в базу MDB. Записи добавляются в том порядке, в котором считываются из исходника. Т.е. по идее, в базе они должны быть расположены в том же порядке.  Но на деле замечаю, что вводимые записи пересортировываются случайным (для меня случайным, для Акцесса, видимо, нет) образом. Внимание, вопрос... smile 

Автор: Akina 5.8.2008, 17:15
Цитата(Данкинг @  5.8.2008,  18:00 Найти цитируемый пост)
Т.е. по идее, в базе они должны быть расположены в том же порядке. 

Нет. Учите матчасть.

Автор: Данкинг 5.8.2008, 19:56
Цитата(Akina @  5.8.2008,  18:15 Найти цитируемый пост)
Нет. Учите матчасть. 

Т.е. налицо намеренное искажение вводимой информации, да ещё и, судя по наличию "матчасти", официально документированное? smile Ладно так и скажу завтра на работе. smile 

Автор: bopoha 5.8.2008, 22:38
Данкинг, забудте про физический порядок данных. Движок БД может их распологать в соотвтетствии со своими умозаключениями. Есть такое понятие как сортировка. Вот ею и пользуйтесь. Если нужен свой порядок записей заведите поле NPP (номер по порядку) для сортировки.

Автор: Данкинг 5.8.2008, 23:32
Цитата(bopoha @  5.8.2008,  23:38 Найти цитируемый пост)
Если нужен свой порядок записей

Да не свой порядок нужен, а именно тот, в котором строчки вводились! Пересортировка вручную, счётчик и т.п. - это всё понятно...

Автор: Akina 6.8.2008, 07:21
Цитата(Данкинг @  6.8.2008,  00:32 Найти цитируемый пост)
не свой порядок нужен, а именно тот, в котором строчки вводились!

Штамп времени ввода/корректировки и сортировка по нему при выводе.
И все-таки учите матчасть. Особенно - чем реляционные БД отличаются от файловых.

Автор: Данкинг 6.8.2008, 10:41
Цитата(Akina @  6.8.2008,  08:21 Найти цитируемый пост)
сортировка по нему при выводе

У меня всё не так просто. smile Потом получившаяся таблица вручную экспортируется в DBF для дальнейшей с ней работы. Поэтому пересортировку по уникальному числовому полю (такое в таблице есть) логичней сделать уже в DBF.

Цитата(Akina @  6.8.2008,  08:21 Найти цитируемый пост)
И все-таки учите матчасть. Особенно - чем реляционные БД отличаются от файловых. 

Мне практика более интересна. smile В общем, вопрос решён (правда, не с положительным результатом)...

Автор: bopoha 6.8.2008, 11:13
Цитата(Данкинг @  6.8.2008,  10:41 Найти цитируемый пост)
У меня всё не так просто. smile Потом получившаяся таблица вручную экспортируется в DBF для дальнейшей с ней работы. Поэтому пересортировку по уникальному числовому полю (такое в таблице есть) логичней сделать уже в DBF.


Тем более проблема мне кажется надуманной.

Автор: Данкинг 6.8.2008, 11:48
Цитата(bopoha @  6.8.2008,  12:13 Найти цитируемый пост)
Тем более проблема мне кажется надуманной. 

Проблемы бы не было, если бы Access не косячил подобным образом. smile А так - лишняя работа по пересортировке.

Автор: Akina 6.8.2008, 11:57
Цитата(Данкинг @  6.8.2008,  11:41 Найти цитируемый пост)
Потом получившаяся таблица вручную экспортируется в DBF для дальнейшей с ней работы. Поэтому пересортировку по уникальному числовому полю (такое в таблице есть) логичней сделать уже в DBF.

Вот ведь... а создать запрос с нужной сортировкой и экспортировать ИМЕННО ЕГО религия не позволяет? или надо непременно что-то и DBF-ам оставить на потрахаться? 

Цитата(Данкинг @  6.8.2008,  12:48 Найти цитируемый пост)
если бы Access не косячил подобным образом

Повторю - это не косяк Аксесса, а косяк в понимании сути и принципов хранения данных в реляционной модели.

Автор: Данкинг 6.8.2008, 14:43
Цитата(Akina @  6.8.2008,  12:57 Найти цитируемый пост)
создать запрос с нужной сортировкой и экспортировать ИМЕННО ЕГО

А разница-то в чём? Что запрос создавать, что пересортировывать после экспорта - одна фигня. 

Цитата(Akina @  6.8.2008,  12:57 Найти цитируемый пост)
Повторю - это не косяк Аксесса, а косяк в понимании сути и принципов хранения данных в реляционной модели. 

Если косяк назвать красивыми словами, то его суть от этого не изменится. smile Если, к примеру, в том же DBF данные не пересортировываются, то я не вижу никаких причин сделать так же и хранение в MDB. При этом какая-то там теория мне нафиг не нужна: мне, простому и тупому юзеру продукта от Майкрософт, нужно отсутствие косяков в практической работе. 

Автор: Akina 6.8.2008, 15:18
Ну и ладно. Вопрос, как сказано выше, решен, от дедовских методов отказываться не будем - пусть останется как есть.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)