Модераторы: Akina
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Упорядочить строки по дате на VBA 
:(
    Опции темы
Cnoppiks
Дата 25.11.2005, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



Привет всем.
Сори, если вопрос уже обсуждался, киньте тогда ссылку, посмотреть. Но..как упорядочить с помощью VBA строки по дате?
PM MAIL   Вверх
Akina
Дата 25.11.2005, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Строки где? в текстовом документе, что открыт в блокноте на соседнем компьютере?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Cnoppiks
Дата 26.11.2005, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



Пардон. Конец рабочего дня сказался(. В таблице Access 2003 одним из полей является дата в виде dd.mm.yyyy Как упорядочить строки таблицы по дате?
PM MAIL   Вверх
Cnoppiks
Дата 28.11.2005, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



Нароод, подскажите!!!! Ведь не просто от нечего делать спрашиваю!!!
PM MAIL   Вверх
Akina
Дата 28.11.2005, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Упорядочивание строк В ТАБЛИЦЕ не имеет ровным счетом никакого смысла. В принципе и независимо от обстоятельств. Потому что в реляционных БД понятия порядка записей В ТАБЛИЦЕ не существует. И вообще - работа непосредственно с таблицей, в смысле с данными в ней, более чем неразумна. Посему допустим что речь идет все-таки не о таблице, а о форме.

У формы есть такая штука как источник данных. Или RowSource - если работать в модуле этой формы либо common-модуле. Так вот - независимо от того, с каким случаем мы имеем дело (статический источник данных или задается программно), нужно просто добавить в источник соответствующую сортировку. Т.е. откорректировать макет запроса-источника либо строку SQL-запроса.
Как именно?
Если под дата в виде dd.mm.yyyy разумеется поле в формате дата-время, просто задано такое отображение, достаточно в этой колонке макета запроса указать нужную сортировку, или в строке запроса добавить ORDER BY [Имя_этого_поля].
Если же это поле в формате "строка", то придется преобразовать его к виду, позволяющему сортировать. В макете придется добавить вычисляемое поле Right([Имя_этого_поля],4) & Mid([Имя_этого_поля],4,2) & Left([Имя_этого_поля],2) и в нем указать сортировку, а в SQL-строке соответственно добавить ORDER BY Right([Имя_этого_поля],4) & Mid([Имя_этого_поля],4,2) & Left([Имя_этого_поля],2).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Cnoppiks
Дата 29.11.2005, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



Akina Мне необходима сортировка по дате, потому что сравнение записей в двух таблицах привязано к счетчику. Можно конечно переправить код, но он и так очень громоздкий. Поэтому проще продумать упорядочивание записей по дате, т.к. сравнение происходит по датам. А вариант с запросом уже давно мной обдуман был.

PM MAIL   Вверх
Akina
Дата 29.11.2005, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Cnoppiks @ 29.11.2005, 11:08)
Мне необходима сортировка по дате

Это ты уже говорил. Но ответь таки на вопрос - а у тебя есть ДАТА? или у тебя есть СТРОКА?

Цитата(Cnoppiks @ 29.11.2005, 11:08)
сравнение записей в двух таблицах привязано к счетчику

ась? а пояснее можно выразиться?

Цитата(Cnoppiks @ 29.11.2005, 11:08)
код ... и так очень громоздкий.

а что, тебя это пугает? ну вынеси его в отдельную процедуру - в целях повышения читабельности...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Cnoppiks
Дата 29.11.2005, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



Цитата(Akina @ 29.11.2005, 10:57)
Это ты уже говорил. Но ответь таки на вопрос - а у тебя есть ДАТА? или у тебя есть СТРОКА?

Придираешься значит к словам?!) Ну хорошо, в таблице одним из столбцов является столбец даты, по возрастанию значений в котором надо упорядочить строки в таблице.


Цитата(Akina @ 29.11.2005, 10:57)
ась? а пояснее можно выразиться?

Данные в двух таблицах, которые необходимо сравнить - в более или менее определенном порядке. Просмотрев таблицу для поиска и, удалив значения без пары в начале второй таблицы - в двух таблицах устанавливаются счетчики. По номеру записи в первой таблице можно примерно(с шагом в 20-30 записей вверх и вниз по записям таблицы) определить во второй таблице , где искать схожее значение. Ну это вообщем, там еще куча критериев. Так вот, данные иногда не упорядочены по дате( т.е. кусок данных с такой же датой где нить в конце таблицы) и получается после сравнения куча ненайденных значений. Можно конечно провести поиск такой же даты до конца таблицы, но это займет очень много времени при подсчете,( можно конечно и по другому перестроить поиск, но времени уже нет), и если есть возможность до проведения сравнения упорядочить записи в таблицах по дате - то это облегчит конечно жизнь...

Совет по облегчению читабельности кода оставлю без комментариев, с вашего разрешения

Это сообщение отредактировал(а) Cnoppiks - 29.11.2005, 12:20
PM MAIL   Вверх
Akina
Дата 29.11.2005, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Cnoppiks @ 29.11.2005, 13:16)
Придираешься значит к словам?!) Ну хорошо, в таблице одним из столбцов является столбец даты, по возрастанию значений в котором надо упорядочить строки в таблице.

Нет, пытаюсь из тебя выжать информацию. А ты упорно ее не даешь.
См. аттач. Что у тебя в обведенном поле в структуре таблицы???

Добавлено @ 13:30
Цитата(Cnoppiks @ 29.11.2005, 13:16)
Просмотрев таблицу для поиска и, удалив значения без пары в начале второй таблицы

а тебе не приходило в голову их просто СВЯЯЗАТЬ в запросе? тогда записи без пары как бы сами отсеются.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  1.gif 3,16 Kb


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Cnoppiks
Дата 29.11.2005, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



Цитата(Akina @ 29.11.2005, 13:29)
а тебе не приходило в голову их просто СВЯЯЗАТЬ в запросе? тогда записи без пары как бы сами отсеются.

Это первое чесно говоря, что пришло в голову. Но вышестоячее руководство -) сказало делать именно пошаговым перебором. Имея плачевный опыт в негативном отношении начальства к инициативе подчиненных - делаю как сказали...
В обведенном поле тоже самое что и у тебя, поле Data именно в Дата/время формате.
PM MAIL   Вверх
Akina
Дата 29.11.2005, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Cnoppiks @ 29.11.2005, 14:46)
поле Data именно в Дата/время формате

тогда
Цитата(Akina @ 28.11.2005, 20:59)
достаточно в этой колонке макета запроса указать нужную сортировку, или в строке запроса добавить ORDER BY [Имя_этого_поля].

Только НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ переименовать поле Data (в какой-нить ZakazSata) и впредь НИКОГДА не использовать в качестве имен полей зарезервированные слова.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Cnoppiks
Дата 29.11.2005, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



Akina
Спасибо, все таки без запроса никуда...
А чтобы по возрастающим значениям из двух столбцов с временем и датой в моей таблице упорядочить строки в таблице - как это прописать в order by ?

Это сообщение отредактировал(а) Cnoppiks - 29.11.2005, 15:46
PM MAIL   Вверх
Akina
Дата 29.11.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Cnoppiks @ 29.11.2005, 16:43)
из двух столбцов с временем и датой

а почему их ДВА?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Cnoppiks
Дата 29.11.2005, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



Цитата(Akina @ 29.11.2005, 16:15)
а почему их ДВА?

Мне они даны по отдельности да и для вычисления других критериев сравнения они нужны по отдельности..
PM MAIL   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0555 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.