Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
 Аватар для Frstr
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 72

Выборка только уникальных значений из БД в ComboBox

14.06.2012, 17:22. Показов 4024. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи- не знаю как сделать одну вещь.
Есть в акцесе на форме поле со списком- Me.ПолеСоСписком10. Оно заполняется из запроса (создал с помощью конструктора). Заполняется суммами. Получается много одинаковых сумм, а очень хочется чтобы суммы не повторялись. (В запросе это нельзя учесть он сложный) Как это можно реализовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2012, 17:22
Ответы с готовыми решениями:

Выборка уникальных значений
Всем здрасьте) Ситуация в следующем: На днях решил сделать контроль продаж) создал таблицу в которую сливаю данные при определенных...

Выборка уникальных значений
Есть примерно такая таблица: id value 1 12 1 3 1 6 2 8 2 3 2 6

Выборка уникальных значений
как выбрать из всего диапазона уникальные имена и расположить их в алфавитном порядке в другой столбец

15
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
14.06.2012, 17:35
И тем не менее, запросом. ))) Из режима "Конструктор" в запросе перейдите в режим "SQL", дальше пишите запрос как все нормальные люди - в SQL. То что у Вас получилось в итоге используйте как вложенный запрос (возмите всё в скобочке и считайте это таблицей), нужно по-моему ключевое поле DISTINCT. Плюс ORDER BY для сортировки.
1
 Аватар для Frstr
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 72
14.06.2012, 17:37  [ТС]
Цитата Сообщение от mc-black Посмотреть сообщение
И тем не менее, запросом. ))) То что у Вас получилось в итоге используйте как вложенный запрос, нужно по-моему ключевое поле DISTINCT. Плюс ORDER BY для сортировки.
Да пробовал так, я выкладывал тему с запросом, с ним не получитсяся сделать. вот запрос -

Visual Basic
1
2
3
4
" SELECT Договор.id_Договора, Контрагент.Полное_наим, Договор.id_Контрагента, Договор.Номер_договора, Договор.Дата_заключения, Договор.Дата_исполнения, Договор.Содержание, Договор.id_Вида, Sum(Статья_договора.Сумма) AS Сумма, Вид.Название_вида " _
& " FROM Контрагент INNER JOIN ((Вид INNER JOIN Договор ON Вид.id_Вида = Договор.id_Вида) INNER JOIN Статья_договора ON Договор.id_Договора = Статья_договора.id_Договора) ON Контрагент.id_Контрагента = Договор.id_Контрагента " _
& " GROUP BY Договор.id_Договора, Контрагент.Полное_наим, Договор.id_Контрагента, Договор.Номер_договора, Договор.Дата_заключения, Договор.Дата_исполнения, Договор.Содержание, Договор.id_Вида, Вид.Название_вида " _
& " ORDER BY Договор.Дата_заключения "
Я думал сделать так- присвоить из переменной (массиву) все значения поля со списком и в массиве отсортировать уже. только не знаю как сделать это
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
14.06.2012, 17:48
SQL
1
SELECT DISTINCT field1 FROM (длинющий запрос) ORDER BY field1;
Добавлено через 2 минуты
Какое из полей Вашего запроса вываливается в ComboBox?
1
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
14.06.2012, 19:03
мне кажется, ORDER BY из "длиннющего запроса" надо убрать.
0
 Аватар для Frstr
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 72
15.06.2012, 10:57  [ТС]
Sum(Статья_договора.Сумма)
0
 Аватар для Frstr
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 72
15.06.2012, 11:19  [ТС]
я обшибся. у меня для заполнения Combobox
SQL
1
2
3
4
 SELECT Договор.id_Договора, SUM(Статья_договора.Сумма) AS [Sum-Сумма]
FROM Договор INNER JOIN Статья_договора ON Договор.id_Договора = Статья_договора.id_Договора
GROUP BY Договор.id_Договора
ORDER BY SUM(Статья_договора.Сумма);
Он суммирует суммы статей каждого договора (по id договора). и выводит уже суммированые цифры. по этому они и повторяются. и с DISTINCT уже не сделаеш
Миниатюры
Выборка только уникальных значений из БД в ComboBox  
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
15.06.2012, 11:25
Так создайте отдельный SQL-запрос для заполнения вашего Combobox, невозможно бывавет иметь один запрос на разные задачи. Мог бы подправить Ваш запрос, но не знаю, какое поле Вам выводить в Combo?
1
 Аватар для Frstr
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 72
15.06.2012, 11:35  [ТС]
SUM(Статья_договора.Сумма) выводится в Комбо..
0
735 / 203 / 11
Регистрация: 23.06.2011
Сообщений: 440
15.06.2012, 11:39
Цитата Сообщение от Frstr Посмотреть сообщение
SUM(Статья_договора.Сумма) выводится в Комбо..
Еще раз.

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

Нужный вариант запроса вам написали выше.
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
15.06.2012, 12:25
SQL
1
2
3
4
5
6
SELECT DISTINCT [Sum-Сумма]
FROM
(SELECT SUM(Статья_договора.Сумма) AS [Sum-Сумма]
 FROM Договор INNER JOIN Статья_договора ON Договор.id_Договора = Статья_договора.id_Договора
 GROUP BY Договор.id_Договора
 ORDER BY SUM(Статья_договора.Сумма));
1
 Аватар для Frstr
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 72
15.06.2012, 12:59  [ТС]
Спасибо! Но теперь выдает ошибку Недопустимое использование скобок с именем 'Сумма) AS [Sum-Сумма'
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
15.06.2012, 13:51
Я тут подумал про Ваш запрос и подумал.. Зачем ему быть таким сложным, таблица Договор вообще здесь роли не играет, верно? Тода вот этот запрос дожен выдать Вам отсортированные уникальные суммы:
SQL
1
SELECT DISTINCT SUM(Статья_договора.Сумма) FROM Статья_договора GROUP BY Статья_договора.id_Договора;
Или все-таки, если таблица договор все-такеи играет какую-то роль, то:
SQL
1
2
3
4
SELECT DISTINCT SUM(Статья_договора.Сумма) AS Сумма1
FROM Договор INNER JOIN Статья_договора
ON Договор.id_Договора = Статья_договора.id_Договора
GROUP BY Статья_договора.id_Договора;
Поясню. Order By конфликтует с DISTINCT, так как DISTINCT вероятно не только оставляет уникальные значения, но и выстраивает их в порядке по возрастанию. Если сильно захочется, в любом случае можно сделать вложенный запрос, и принудительно отсортировать.
1
 Аватар для Frstr
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 72
15.06.2012, 15:29  [ТС]
Таблица договор нужна, тк сумма считается по Договорам. тоесть например у договора разные суммы по разным статьям. А тут это нужно сумировать и вывести в Комбобокс. Попробовал Вашим последним запросом- уже ошибки нет но теперь Комбобокс почемуто вообще пустой. Вроде бегунок справа еть как будто данных полно но текста никакого..
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
15.06.2012, 15:37
Сам по себе запрос тестируйте. Я уже создал воображаемые таблицы типа ваших и тестировал запрос на них - запрос работал. Если запрос работает, а ComboBox не выводит - надо сделать нормальную привязку запроса к ComboBox, возможно поправить имя выводимого поля и имя запроса.

А может.. я не знаю, может у Вас ComboBox все-таки использует 2 столбца, но один из столбцов выводит в колонку нулевой ширины (скрывает)?
1
 Аватар для Frstr
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 72
15.06.2012, 15:50  [ТС]
Вы просто гений!!! Я забыл совсем про колонки. точно скрывал же их. Огромнейшее Вам спасибо очень выручили! Все очень доступно объяснили, Спасибо!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.06.2012, 15:50
Помогаю со студенческими работами здесь

Выборка уникальных значений
Есть запрос : $result = mysqli_query($db, "SELECT DISTINCT `request` FROM $tb WHERE `request`!='non' ORDER BY `date` DESC");который...

Выборка уникальных значений из БД
Доброго времени суток уважаемые. Помогите пожалуйста решить одну задачу. Дана база данных из нее по номеру SKU- номер заказа ...

Выборка уникальных значений
Уменя есть таблица времени посещений каждого пользователя, и вот мне нужно подсчитать общее кол-во пользователей за весь период. Как...

Выборка уникальных значений order by having
Добого времени суток уважаемые форумчане! Проблема касается создания подзапроса для хитрозакрученой выборки предназначеной для вывода...

MongoDB. Выборка уникальных значений
Доброго времени суток, уважаемые! Второй день ломаю голову над вопросом. У нас есть база данных (MongoDB). Для примера, представим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru