Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Несколько источников строк для поля / 25 сообщений из 31, страница 1 из 2
06.10.2016, 12:00
    #39321778
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Доброго времени! Прошу помощи для решения одной задачи есть выпадающий список на форме который участвует в запросе для отображения записей из БД. Данный элемент в свойствах значение - "Источник строк" берет из таблицы
Код: sql
1.
(SELECT Потребители.Потребитель FROM Потребители ORDER BY Потребители.Потребитель;)

, значение -тип источника строк "Таблица или запрос". Так вот в списка выводится необходимая информация но нужно чтобы иной раз на форме все все записи а не только которая указана в выпадающем списке., т.е. нужно чтобы по мимо набора значений полученного из "Источник строк" дополнительно в выпадающем списке было значение например: "Все", а я уже в запросе указал если мол выпадающий список = "Все" показываем все записи если <> "Все" то берем значение из списка и выводим записи имеющие такое значение. Заранее спасибо.

ЗЫ:
Код: sql
1.
SELECT Потребители.Потребитель FROM Потребители ORDER BY Потребители.Потребитель; & "Все" 

так не получается
...
Рейтинг: 0 / 0
06.10.2016, 12:14
    #39321788
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Код: sql
1.
2.
3.
SELECT TOP 1 " Все" AS Потребитель FROM Потребители
UNION ALL
SELECT Потребитель FROM Потребители ORDER BY Потребитель
...
Рейтинг: 0 / 0
06.10.2016, 13:12
    #39321844
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
__Michelle,

извиняюсь указал устаревший запрос Источника строк, вот который используется
Код: sql
1.
SELECT spisok_Fid.наименование_потребителя FROM spisok_Fid GROUP BY spisok_Fid.Поле1, spisok_Fid.наименование_потребителя HAVING (((spisok_Fid.Поле1)=[Forms]![spisok_Fid]![Поле_со_списком_ПС])) ORDER BY spisok_Fid.Поле1;
...
Рейтинг: 0 / 0
06.10.2016, 13:20
    #39321853
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Romzec,

Ни GROUP BY, ни HAVING тут не нужны.
Доеду до работы, напишу подробнее. Сейчас не могу.
Через полчаса.
...
Рейтинг: 0 / 0
06.10.2016, 13:32
    #39321867
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Romzec,
"select...from...where spisok_Fid.Поле1=" & [Forms]![spisok_Fid]![Поле_со_списком_ПС] & "order by..."
...
Рейтинг: 0 / 0
06.10.2016, 13:41
    #39321873
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Поясню,
Код: sql
1.
2.
3.
4.
SELECT spisok_Fid.наименование_потребителя FROM spisok_Fid 
GROUP BY spisok_Fid.Поле1, spisok_Fid.наименование_потребителя 
HAVING (((spisok_Fid.Поле1)=[Forms]![spisok_Fid]![Поле_со_списком_ПС])) 
ORDER BY spisok_Fid.Поле1;


в данном виде мне запрос в Источнике данных для поля "наименование_потребителя" нужен чтобы не выводит весь список, а только для поля "Поле_со_списком_ПС". То есть поле "наименование_потребителя" зависимый от поля "Поле_со_списком_ПС", вот.
...
Рейтинг: 0 / 0
06.10.2016, 13:48
    #39321883
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
RomzecПоясню,
Код: sql
1.
2.
3.
4.
SELECT spisok_Fid.наименование_потребителя FROM spisok_Fid 
GROUP BY spisok_Fid.Поле1, spisok_Fid.наименование_потребителя 
HAVING (((spisok_Fid.Поле1)=[Forms]![spisok_Fid]![Поле_со_списком_ПС])) 
ORDER BY spisok_Fid.Поле1;


в данном виде мне запрос в Источнике данных для поля "наименование_потребителя" нужен чтобы не выводит весь список, а только для поля "Поле_со_списком_ПС". То есть поле "наименование_потребителя" зависимый от поля "Поле_со_списком_ПС", вот.Мне эти пояснения не нужны.
И так все ясно.)))
...
Рейтинг: 0 / 0
06.10.2016, 14:00
    #39321898
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Romzec,

Вот так попробуйте
Код: sql
1.
2.
3.
4.
SELECT TOP 1 " Все" AS наименование_потребителя FROM spisok_Fid 
UNION 
SELECT наименование_потребителя FROM spisok_Fid 
WHERE Поле1=[Forms]![spisok_Fid]![Поле_со_списком_ПС]
...
Рейтинг: 0 / 0
06.10.2016, 14:09
    #39321915
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
__Michelle,
Благодарю, все фунциклирует должным образом. А можно Все отображать внизу списка?
...
Рейтинг: 0 / 0
06.10.2016, 14:14
    #39321925
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Romzec,

Можно.
Код: sql
1.
2.
3.
4.
5.
SELECT TOP 1 2 AS N, "Все" AS наименование_потребителя FROM spisok_Fid
UNION 
SELECT 1 AS N, наименование_потребителя FROM spisok_Fid 
WHERE Поле1=[Forms]![spisok_Fid]![Поле_со_списком_ПС]
ORDER BY N, наименование_потребителя
...
Рейтинг: 0 / 0
06.10.2016, 14:24
    #39321943
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Romzec,

Только не забудьте задать для этого поля со списком следующие характеристики:
- Число столбцов 2,
- Ширина столбцов 0,
- Присоединенный столбец 2.
В конструкторе.
...
Рейтинг: 0 / 0
06.10.2016, 14:42
    #39321977
Несколько источников строк для поля
RomzecА можно Все отображать внизу списка?
Код: sql
1.
2.
3.
4.
SELECT наименование_потребителя FROM spisok_Fid 
WHERE Поле1=[Forms]![spisok_Fid]![Поле_со_списком_ПС]
UNION 
SELECT TOP 1 " Все" AS наименование_потребителя FROM spisok_Fid 

Так попробуйте. Только зачем? ИМХО, при большом количестве строк это неудобно.
...
Рейтинг: 0 / 0
06.10.2016, 14:47
    #39321980
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
__Michelle,
Благодарю!
...
Рейтинг: 0 / 0
06.10.2016, 14:54
    #39321984
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Анатолий ( Киев ) Так попробуйте. Только зачем? ИМХО, при большом количестве строк это неудобно.
Да, Вы правы логика в этом есть, не предается ползти вниз списка чтобы жмакнуть "ВСЕ".
...
Рейтинг: 0 / 0
06.10.2016, 15:28
    #39322024
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Анатолий ( Киев )RomzecА можно Все отображать внизу списка?
Код: sql
1.
2.
3.
4.
SELECT наименование_потребителя FROM spisok_Fid 
WHERE Поле1=[Forms]![spisok_Fid]![Поле_со_списком_ПС]
UNION 
SELECT TOP 1 " Все" AS наименование_потребителя FROM spisok_Fid 

Так попробуйте. Только зачем? ИМХО, при большом количестве строк это неудобно.Мне кажется, так, то есть без вспомогательного поля, не получится.
UNION без ALL приведет к принудительной сортировке по [наименование_потребителя],
в том числе в сортировку попадет и значение " Все" на общих основаниях.
Сейчас наличие там лидирующего пробела ставит " Все" на первое место.
Если же использовать UNION ALL, то сортироваться не будет и значение " Все" встанет в конец,
но при этом вся выборка значений [наименование_потребителя] тоже будет неотсортированной.
...
Рейтинг: 0 / 0
06.10.2016, 16:10
    #39322081
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
__MichelleRomzec,

Вот так попробуйте
Код: sql
1.
2.
3.
4.
SELECT TOP 1 " Все" AS наименование_потребителя FROM spisok_Fid 
UNION 
SELECT наименование_потребителя FROM spisok_Fid 
WHERE Поле1=[Forms]![spisok_Fid]![Поле_со_списком_ПС]


остановился на данном варианте. Всем Спасибо
...
Рейтинг: 0 / 0
06.10.2016, 20:26
    #39322295
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Хм. думал будет просто в запросе в "условии отбора" для поля[наименование_потребителя] указать, что что если значение в поле [Потребитель] на форме будет "ВСЕ" то отображать все записи по данному полю, но что-то не получается прошу указать на ошибки.
Что я не так делаю, вроде все просто, если поле [Потребитель] ="ВСЕ" то истина и условие отбора для поля [наименование_потребителя] будет все записи т.е. Like "*", если ложь то условие отбора по полю [наименование_потребителя] будет значение из поля [Потребитель] на форме.

IIf([Forms]![spisok_Fid]![Потребитель].[Value]="ВСЕ";[наименование_потребителя] Like "*";[Forms]![spisok_Fid]![Потребитель])
...
Рейтинг: 0 / 0
06.10.2016, 20:40
    #39322299
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Код: sql
1.
WHERE IIf([Forms]![spisok_Fid]![Потребитель]="ВСЕ",True,наименование_потребителя="""" & [Forms]![spisok_Fid]![Потребитель] & """")
...
Рейтинг: 0 / 0
06.10.2016, 20:45
    #39322302
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
__Michelle,
...
Рейтинг: 0 / 0
06.10.2016, 20:48
    #39322303
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Romzec,

Приведите полный текст запроса.
А также, как Вы его формируете - в VBA, в конструкторе, или фильтр строите.
...
Рейтинг: 0 / 0
06.10.2016, 20:52
    #39322306
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
в конструкторе

SELECT spisok_Fid.Поле1, spisok_Fid.Поле2, spisok_Fid.сек_сш, spisok_Fid.нагрузка_зима, spisok_Fid.нагрузка_лето, spisok_Fid.наименование_потребителя, spisok_Fid.тел, spisok_Fid.соц_знач, spisok_Fid.тип_нагр, spisok_Fid.кол_населения, spisok_Fid.кол_тп, spisok_Fid.примечание
FROM spisok_Fid
WHERE (((spisok_Fid.Поле1) Like [Forms]![spisok_Fid]![Поле_со_списком_ПС]) AND ((spisok_Fid.Поле2) Like [Forms]![spisok_Fid]![Поле_6кВ] Or (spisok_Fid.Поле2) Like [Forms]![spisok_Fid]![Поле_10кВ] Or (spisok_Fid.Поле2) Like [Forms]![spisok_Fid]![Поле_35кВ]) AND ((spisok_Fid.сек_сш) Like [Forms]![spisok_Fid]![Поле_сек]) AND ((spisok_Fid.наименование_потребителя)=IIf([Forms]![spisok_Fid]![Потребитель].[Value]="ВСЕ",[наименование_потребителя] Like "*",[Forms]![spisok_Fid]![Потребитель])))
ORDER BY spisok_Fid.сек_сш;
...
Рейтинг: 0 / 0
06.10.2016, 20:59
    #39322308
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Ну и где в этом запросе предложенная мной конструкция?
Ее нет.

При публикации запросов пользуйтесь тегами.
...
Рейтинг: 0 / 0
06.10.2016, 21:01
    #39322310
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
__Michelle,

я не могу скопировать весь запрос с вашей конструкцией так как выпадает ошибка
...
Рейтинг: 0 / 0
06.10.2016, 21:14
    #39322315
Romzec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
при выборе любого значения из поля выводятся строки с необходимые значениями, а вот при выборе "ВСЕ" не выводется ниодной записи
...
Рейтинг: 0 / 0
06.10.2016, 21:17
    #39322316
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Несколько источников строк для поля
Romzec,

"все" вверху, "все" внизу, юнионы...
1. сделай чтоб работала выборка по значению из списка (с этим я так понимаю проблем нет)
2. рядом со списком вставь на форму галку с подписью "все", по умолчанию Нет.
- галку поставил - список исчез и в форме все записи
- галку убрал - список появился и работает фильтр по значению из списка.
Как реализовать - в запрос вставить галку с формы как выражение, если у галки значение Да, то условие по списку работает, если у галки значение Нет, то условие по списку не работает + оформить события после обновления у галки и у списка... (как вариант... не настаиваю...)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Несколько источников строк для поля / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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