![]() |
|
Модераторы: Akina |
![]()
|
|
| LexRema |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 15.3.2006 Репутация: нет Всего: нет |
Вопрос.
есть рекордсет. В нем записи. В столбцах. как задать параметр фильтру, чтобы после отсеивания остались только те записи, которые соответствуют НЕПОВТОРЯЕМЫМ значениям в ЗАДАВАЕМОМ столбце? Тоесть нужен сам параметр. И, если можна, пример записи. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
С рекордсетами такие вещи не делают - перезапроси данные, добавив нужное условие.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| LexRema |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 15.3.2006 Репутация: нет Всего: нет |
SQL доступен, но вот результат данной задачи не совсем тривиален. Дистинкт можна задать для всех записей, но как решить задачу, когда нужно одним столбцам (значениям в этих столбцах) приказать не повторяться, а другим - разрешить повторение?
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
А можно (и чаще нужно!) вообще не задавать. Почитай хелп про Group By... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| LexRema |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 15.3.2006 Репутация: нет Всего: нет |
1.Есть две таблицы с одинаковыми полями. Как в конец одной добавить другую (програмно).
2. Есть таблица. В цыкле пройтись по всех ее записях и для каждой записи создать отдельную темп_таблицу- в которой будет только одна запись. результатом и 1), и 2) будет таблица Прошу, приведите примеры. Походу оно должно просто реализовываться, только если знать, как это сделать. Если не ответите, придеться открывать новую тему. Это нужно, чтобы сделать очень крутую выборку. Имея такую темптаблицу, я могу через INNER JOIN выбрать соответствующее моей таблице ТОР Х елементов из другой таблицы. А потом эту выборку присоеденить к некоторой общей таблице. Общий алгоритм практически реализован. Осталось только это. Подскажите. И пожалуйста, желательно именно это... а то переписывать и придумывать что-то новое уже некогда. Это сообщение отредактировал(а) LexRema - 18.5.2006, 09:55 |
|||
|
||||
| LexRema |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 15.3.2006 Репутация: нет Всего: нет |
Ну же?
|
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Очень хочется посоветовать выкинуть этот "практически реализованный" алгоритм и начать заново. Предварительно изучив основы SQL. Потому как по приведенному описанию построенный алгоритм представляется [self-censored]. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| LexRema |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 15.3.2006 Репутация: нет Всего: нет |
Есть несколько таблиц. В одной есть поле, значению в котором (через некоторые промежуточные поля) в другой таблице отвечает 10 значений, а каждому полю в таблице два отвечает еще по десять значений в третьей таблице. В первой таблице также "N" значений. Нужно сделать выборку, когда первому полю будет отвечать, скажем, 4 значения во втором поле и каждому из них по 3 значения в в третьем поле. Вот суть задачи. ТО, что было, я пока отложил. Сделал через рекордсет.
.Sort = "Column1", после чего ручной поиск дубликатов в Column1 становится тривиальным. И так для каждого значения. Но возникла вторая проблема. При большом количестве удалений лишних записей : File sharing lock count exceeded. Increase MaxLocksPerFile registry entry. Как это обойти? ЭТО САМОЕ ВАЖНОЕ! Как? Это сообщение отредактировал(а) LexRema - 22.5.2006, 19:21 |
|||
|
||||
| LexRema |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 15.3.2006 Репутация: нет Всего: нет |
Создать *.reg файл и применить (можна оставить только параметр MaxLocksPerFile):
Код: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0] "PageTimeout"=dword:00001388 "LockRetry"=dword:00000014 "MaxBufferSize"=dword:00000000 "Threads"=dword:00000003 "ExclusiveAsyncDelay"=dword:000007d0 "SharedAsyncDelay"=dword:00000032 "FlushTransactionTimeout"=dword:000001f4 "MaxLocksPerFile"=dword:0007a120 "LockDelay"=dword:00000064 "RecycleLVs"=dword:00000000 "PagesLockedToTableLock"=dword:00000000 "UserCommitSync"="yes" "ImplicitCommitSync"="no" Если JET не 4.0 может понадобиться подправить в ветках: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Jet 3.5] и [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 3.x]. Пользуйтесь наздоровье! |
|||
|
||||
![]()
|
| Правила форума "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. |