![]() |
|
Модераторы: Akina |
![]()
|
|
| Cnoppiks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.9.2005 Репутация: нет Всего: нет |
Привет всем.
Сори, если вопрос уже обсуждался, киньте тогда ссылку, посмотреть. Но..как упорядочить с помощью VBA строки по дате? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Строки где? в текстовом документе, что открыт в блокноте на соседнем компьютере?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Cnoppiks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.9.2005 Репутация: нет Всего: нет |
Пардон. Конец рабочего дня сказался(. В таблице Access 2003 одним из полей является дата в виде dd.mm.yyyy Как упорядочить строки таблицы по дате?
|
|||
|
||||
| Cnoppiks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.9.2005 Репутация: нет Всего: нет |
Нароод, подскажите!!!! Ведь не просто от нечего делать спрашиваю!!!
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 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). -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Cnoppiks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.9.2005 Репутация: нет Всего: нет |
Akina Мне необходима сортировка по дате, потому что сравнение записей в двух таблицах привязано к счетчику. Можно конечно переправить код, но он и так очень громоздкий. Поэтому проще продумать упорядочивание записей по дате, т.к. сравнение происходит по датам. А вариант с запросом уже давно мной обдуман был.
|
|||
|
||||
| Akina |
|
||||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Это ты уже говорил. Но ответь таки на вопрос - а у тебя есть ДАТА? или у тебя есть СТРОКА?
ась? а пояснее можно выразиться?
а что, тебя это пугает? ну вынеси его в отдельную процедуру - в целях повышения читабельности... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||
|
|||||||
| Cnoppiks |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.9.2005 Репутация: нет Всего: нет |
Придираешься значит к словам?!) Ну хорошо, в таблице одним из столбцов является столбец даты, по возрастанию значений в котором надо упорядочить строки в таблице.
Данные в двух таблицах, которые необходимо сравнить - в более или менее определенном порядке. Просмотрев таблицу для поиска и, удалив значения без пары в начале второй таблицы - в двух таблицах устанавливаются счетчики. По номеру записи в первой таблице можно примерно(с шагом в 20-30 записей вверх и вниз по записям таблицы) определить во второй таблице , где искать схожее значение. Ну это вообщем, там еще куча критериев. Так вот, данные иногда не упорядочены по дате( т.е. кусок данных с такой же датой где нить в конце таблицы) и получается после сравнения куча ненайденных значений. Можно конечно провести поиск такой же даты до конца таблицы, но это займет очень много времени при подсчете,( можно конечно и по другому перестроить поиск, но времени уже нет), и если есть возможность до проведения сравнения упорядочить записи в таблицах по дате - то это облегчит конечно жизнь... Совет по облегчению читабельности кода оставлю без комментариев, с вашего разрешения Это сообщение отредактировал(а) Cnoppiks - 29.11.2005, 12:20 |
||||
|
|||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Нет, пытаюсь из тебя выжать информацию. А ты упорно ее не даешь. См. аттач. Что у тебя в обведенном поле в структуре таблицы??? Добавлено @ 13:30
а тебе не приходило в голову их просто СВЯЯЗАТЬ в запросе? тогда записи без пары как бы сами отсеются. Присоединённый файл ( Кол-во скачиваний: 4 )
1.gif 3,16 Kb-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Cnoppiks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.9.2005 Репутация: нет Всего: нет |
Это первое чесно говоря, что пришло в голову. Но вышестоячее руководство -) сказало делать именно пошаговым перебором. Имея плачевный опыт в негативном отношении начальства к инициативе подчиненных - делаю как сказали... В обведенном поле тоже самое что и у тебя, поле Data именно в Дата/время формате. |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
тогда
Только НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ переименовать поле Data (в какой-нить ZakazSata) и впредь НИКОГДА не использовать в качестве имен полей зарезервированные слова. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Cnoppiks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.9.2005 Репутация: нет Всего: нет |
Akina
Спасибо, все таки без запроса никуда... А чтобы по возрастающим значениям из двух столбцов с временем и датой в моей таблице упорядочить строки в таблице - как это прописать в order by ? Это сообщение отредактировал(а) Cnoppiks - 29.11.2005, 15:46 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
а почему их ДВА? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Cnoppiks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 2.9.2005 Репутация: нет Всего: нет |
Мне они даны по отдельности да и для вычисления других критериев сравнения они нужны по отдельности.. |
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |