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

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

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

так не получается
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #39321788
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
SELECT TOP 1 " Все" AS Потребитель FROM Потребители
UNION ALL
SELECT Потребитель FROM Потребители ORDER BY Потребитель
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #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
Несколько источников строк для поля
    #39321853
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romzec,

Ни GROUP BY, ни HAVING тут не нужны.
Доеду до работы, напишу подробнее. Сейчас не могу.
Через полчаса.
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #39321867
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romzec,
"select...from...where spisok_Fid.Поле1=" & [Forms]![spisok_Fid]![Поле_со_списком_ПС] & "order by..."
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #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
Несколько источников строк для поля
    #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
Несколько источников строк для поля
    #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
Несколько источников строк для поля
    #39321915
Romzec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Благодарю, все фунциклирует должным образом. А можно Все отображать внизу списка?
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #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
Несколько источников строк для поля
    #39321943
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romzec,

Только не забудьте задать для этого поля со списком следующие характеристики:
- Число столбцов 2,
- Ширина столбцов 0,
- Присоединенный столбец 2.
В конструкторе.
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #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
Несколько источников строк для поля
    #39321980
Romzec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Благодарю!
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #39321984
Romzec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ) Так попробуйте. Только зачем? ИМХО, при большом количестве строк это неудобно.
Да, Вы правы логика в этом есть, не предается ползти вниз списка чтобы жмакнуть "ВСЕ".
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #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
Несколько источников строк для поля
    #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
Несколько источников строк для поля
    #39322295
Romzec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм. думал будет просто в запросе в "условии отбора" для поля[наименование_потребителя] указать, что что если значение в поле [Потребитель] на форме будет "ВСЕ" то отображать все записи по данному полю, но что-то не получается прошу указать на ошибки.
Что я не так делаю, вроде все просто, если поле [Потребитель] ="ВСЕ" то истина и условие отбора для поля [наименование_потребителя] будет все записи т.е. Like "*", если ложь то условие отбора по полю [наименование_потребителя] будет значение из поля [Потребитель] на форме.

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

Приведите полный текст запроса.
А также, как Вы его формируете - в VBA, в конструкторе, или фильтр строите.
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #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
Несколько источников строк для поля
    #39322308
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и где в этом запросе предложенная мной конструкция?
Ее нет.

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

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

"все" вверху, "все" внизу, юнионы...
1. сделай чтоб работала выборка по значению из списка (с этим я так понимаю проблем нет)
2. рядом со списком вставь на форму галку с подписью "все", по умолчанию Нет.
- галку поставил - список исчез и в форме все записи
- галку убрал - список появился и работает фильтр по значению из списка.
Как реализовать - в запрос вставить галку с формы как выражение, если у галки значение Да, то условие по списку работает, если у галки значение Нет, то условие по списку не работает + оформить события после обновления у галки и у списка... (как вариант... не настаиваю...)
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #39322318
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romzecа вот при выборе "ВСЕ" не выводется ниодной записи

это потому, что у тебя нету ни одной записи в БД с параметром "ВСЕ".... тебе как минимум нужно в запрос вставить этот список в виде выражения и анализировать два его состояния: "ВСЕ" и <> "ВСЕ"...
если состояние "ВСЕ", то список не участвует в фильтре, а если состояние <> "ВСЕ", то список участвует в фильтре...
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #39322321
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romzec,

Для начала попробовала упростить нотацию этого запроса.
Получилось что-то вроде такого:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT Поле1, Поле2, сек_сш, нагрузка_зима, нагрузка_лето, наименование_потребителя,
       тел , соц_знач, тип_нагр, кол_населения, кол_тп, примечание
FROM spisok_Fid
WHERE Поле1=[Forms]![spisok_Fid]![Поле_со_списком_ПС] And
      Поле2 In ([Forms]![spisok_Fid]![Поле_6кВ],[Forms]![spisok_Fid]![Поле_10кВ],[Forms]![spisok_Fid]![Поле_35кВ])
      And сек_сш=[Forms]![spisok_Fid]![Поле_сек] And
      IIf([Forms]![spisok_Fid]![Потребитель].[Value] = "ВСЕ", True, [наименование_потребителя]=[Forms]![spisok_Fid]![Потребитель])
ORDER BY сек_сш

Это пока принципиальная конструкция, без учета возможных кавычек, например.
Посмотрите.
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #39322322
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romzec,

Да, и включила в этот запрос ту конструкцию, что предлагала.
Тоже присмотритесь.
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #39322323
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagRomzec,

"все" вверху, "все" внизу, юнионы...

.... рядом со списком вставь на форму галку с подписью "все", по умолчанию Нет.
....А какая разница для построения анализа в запросе,
где находится пункт "Все" - в теле списка или сбоку в виде галки?
По-моему, никакой принципиальной разницы.
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #39322324
Romzec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Ура
заработало в следующем виде
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
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.примечание, IIf(Forms!spisok_Fid!Потребитель.Value="ВСЕ",True,[наименование_потребителя]=Forms!spisok_Fid!Потребитель) 
AS Выражение1
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 ((IIf([Forms]![spisok_Fid]![Потребитель].[Value]="ВСЕ",True,[наименование_потребителя]=[Forms]![spisok_Fid]![Потребитель]))<>False))
ORDER BY spisok_Fid.сек_сш;


Спасибо, мир не без добрых людей.
...
Рейтинг: 0 / 0
Несколько источников строк для поля
    #39322325
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romzec,

То есть, наконец-то включили то, что я предлагала...
Но зачем там <>False?
И с Like'ами разберитесь - Вы их применяете неверно.
Смотрите мой последний вариант полного запроса, там все эти вещи учтены и поправлены.
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Несколько источников строк для поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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