powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Извращение с запросом для ListBox-а
21 сообщений из 21, страница 1 из 1
Извращение с запросом для ListBox-а
    #32638505
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите извратиться, пожалуйста.
Представим ситуацию:
есть 2 таблицы: "сотрудники" и "клиенты"
Связь 1:М, т.е. каждому клиенту соответствует один сотрудник.
Нужно получить запрос, который будет основой для списка(ListBoxa) на форме. И иметь он должен следующий вид (не хочу TreeView использовать)
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638516
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А по каким полям надо сортировать? Достаточно по id или есть другое требование?
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638518
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только ID сотрудника
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638521
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А клиентов внутри сотрудника?
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638529
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага:
Иванов работает с этими....
Кудрин - с этими..

И т.д.
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638533
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
select workername,workerid,1 as tablename from workers
union all
select "---" & clientname,workerid,2 from clients
order by workerid,tablename

- это если без сортировки клиентов внутри сотрудника.
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638534
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select [КодСотрудника] As [Ключ], [ФИОсотрудника] as fs, [КодСотрудника], 0 as fs1, [ФИОсотрудника]
from [Сотрудники]

union

select [КодКлиента], [ФИОсотрудника], [Клиенты].[КодСотрудника], 1, "---- " & [НаимКлиента]
from [Клиенты] inner join [Сотрудники] on [Клиенты].[КодСотрудника]=[Сотрудники].[КодСотрудника]

order by fs, [КодСотрудника], fs1, [ФИОсотрудника]

(не проверял)
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638537
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
S. Fedorenkoага:
Иванов работает с этими....
Кудрин - с этими..

И т.д.
Не "ага", а по какому полю их сортировать?
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638538
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опоздал. :)
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638539
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Geo:

Этот тот редкий случай, когда я могу с гордостью крикнуть, что у меня короче.
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638543
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ВС
Зато у меня по алфавиту работники сортируются, а внутри них по алфавиту клиенты ;))
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638548
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Сейчас у меня тоже будут по алфавиту.

select workername,workerid,1 as tablename from workers
union all
select "---" & clientname,workerid,2 from clients
order by workerid,tablename,clientname
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638552
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Э... Нет, сотрудники у меня не по алфавиту. Но вроде так и надо.
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638598
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч.
Огромное спасибо за помощь. Все работает.
Далее я уже и сам соображу
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638607
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По алфавиту мне не надо. У меня задача другая и таблицы другие, и поля там вычисляемые. А клиентов и сотрудников я в пример привел, чтобы основу (UNION) понять я всё остальное я сам сделаю.

Спасибо.
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638610
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Владимир СанычСейчас у меня тоже будут по алфавиту.

select workername,workerid,1 as tablename from workers
union all
select "---" & clientname,workerid,2 from clients
order by workerid,tablename,clientname
У меня тут ошибка. Красное надо заменить на ,workername.
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638629
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот только тут одна проблема.
Выводятся все струдники.
Представьте, что какой-то сотрудник не имеет клиентов. Как его не показывать в списке?
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638640
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторУ меня тут ошибка. Красное надо заменить на ...
Саныч, а я уже хотел начинать возмущаться. :)
P.S И все-таки для таких задач лучше использовать TreeView или ListView
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638647
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
S. FedorenkoВот только тут одна проблема.
Выводятся все струдники.
Представьте, что какой-то сотрудник не имеет клиентов. Как его не показывать в списке?
Что-нибудь такое: вместо

select workername,workerid,1 as tablename from workers

так:

select workername,workerid,1 as tablename from workers where workerid in (select workerid from clients)
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638669
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
select distinct workername,workers.workerid, 1  as tablename from workers inner join clients
on workers.workerid=clients.workerid
union all
select "---" & clientname,workerid, 2  from clients
order by workerid,tablename,workername
...
Рейтинг: 0 / 0
Извращение с запросом для ListBox-а
    #32638751
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ все-таки для таких задач лучше использовать TreeView или ListView
Так ведь этот вариант всяко быстрее работать будет.
И, как оказалось, создать запрос легче, чем написать функцию для заполнения treeview. Я как-то делал через treeview, слишком муторно.

to (c)VIG :
И тебе спасибо.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Извращение с запросом для ListBox-а
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]