Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 8

Имя поля в запросе из параметра

02.12.2019, 12:05. Показов 3600. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго Всем дня и успехов во всех ваших начинаниях.
Заранее благодарю всех кто откликнется и сможет помочь.
В примере есть форма. В ней подчиненная форма используя запрос выводит список предметов.
Нужно добавить в запрос одно из полей (джулия, виктория......) но то которое стоит в поле модель в основной форме..то есть в поле запроса должны вставляться данные из колонки с именем равным выбранной модели...или как вариант имя поля в запросе может браться из параметра....
Вложения
Тип файла: rar Пример.rar (56.3 Кб, 9 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.12.2019, 12:05
Ответы с готовыми решениями:

Имя поля в перекресном запросе
Всем Здравствовать! В форме есть свободный элемент - Список, источником строк которого - является перекресный запрос. Что то я туплю не...

Задать имя параметра при post запросе
Здравствуйте, такая ситуация, нужно отправить пост запрос с данными. Имя параметра является токеном, который я успешно спарсил ранее....

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

17
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 8
02.12.2019, 12:25  [ТС]
Запрос выглядит примерно так...в нём забито фиксированно поле "Джулия"...хотелось бы что бы поле из которого должны попадать данные в запрос менялось...

SQL
1
2
SELECT СписокПредметов.Наименование, СписокПредметов.Джулия
FROM СписокПредметов;
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
02.12.2019, 12:45
Для начала нужно нормализовать таблицы (из Вашей одной сделать три, см. вложение).
Вложения
Тип файла: 7z Пример (3).7z (20.0 Кб, 6 просмотров)
0
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 8
02.12.2019, 12:59  [ТС]
Спасибо огромное ltv_1953...но боюсь таким путём я пойти не смогу...много всего завязано на этой таблице(переброс цен из прайса, контроль многих параметров...и так далее)...к сожалению...может есть другие решения моей задачи...?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
02.12.2019, 13:14
А если кроме этих трех моделей появятся новые 4, 5, ... . Все переделывать будете? Никто не мешает держать эту Вашу таблицу, а эти три новые просто заполняйте запросами по Вашей (Вы же не думаете, что я их вручную забивал?) и работайте с ними. А другое решения - изменять источник записей в Вашей подчиненной форме в процедуре
Visual Basic
1
2
3
Private Sub Модель_AfterUpdate()
...
End Sub
.
0
 Аватар для VinniPuh
9131 / 6143 / 593
Регистрация: 27.03.2013
Сообщений: 20,011
02.12.2019, 13:34
Цитата Сообщение от kviona Посмотреть сообщение
...много всего завязано на этой таблице...
Так может выглядеть перекрестный запрос, так что лучше нормализуйте как советують.
0
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 8
02.12.2019, 13:58  [ТС]
Я предполагал что выбранная модель будет служить именем поля из которого должны браться данные....и потом сколько моделей не добавляй всё бы работало...или я чего то не понимаю?....Я возможно не совсем корректно обрисовал задачу...заранее прошу меня извинить...
0
 Аватар для VinniPuh
9131 / 6143 / 593
Регистрация: 27.03.2013
Сообщений: 20,011
02.12.2019, 14:03
Цитата Сообщение от kviona Посмотреть сообщение
...и потом сколько моделей не добавляй всё бы работало...или я чего то не понимаю?...
Видимо не понимаете.
В - Access другая логика построения БД, чем в - Excel, а вы именно по - Excel мыслите.
1
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 8
02.12.2019, 14:14  [ТС]
Спасибо VinniPuh...возможно Вы и правы...я мыслил логически...если в функции DLookup вместо имени таблицы и имени поля можно использовать переменные то почему в запросе так нельзя ?...не указывать точное имя поля откуда стоит брать данные, а использовать переменную.....если вариантов решения без изменения исходной таблицы нет поясните детальнее как применить мне вариант предложенный уважаемым ltv_1953 с нормализацией таблиц...по его примеру не совсем понятен исход...Заранее спасибо..
0
 Аватар для VinniPuh
9131 / 6143 / 593
Регистрация: 27.03.2013
Сообщений: 20,011
02.12.2019, 14:16
Визуально это может выглядеть так:
Форма одиночного вида - МаркиИзделий
и в ней - Подчиненная форма табличного вида - МоделиИзделий
Цены тут фиксированные, типа для примера, а по уму, если цены будут меняться, в определенные периоды, то как и рекомендовано ltv_1953, нужна еще и табличка - Цены, подчиненная МоделямИзделий.
Вся логика Аксика строится на Подчиненности одних таблиц другим.
Миниатюры
Имя поля в запросе из параметра   Имя поля в запросе из параметра  
0
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 8
02.12.2019, 14:25  [ТС]
С визуальностью мне вроде все понятно...с нормализацией вроде то же....как происходит технически взятие тех или иных цен в подчиненной таблице не совсем ясно...Если не сложно подробнее...возможно на моем примере в котором уже нормализованы таблицы и есть готовые формы...мне хотя бы принцип понять...дальше я сам докумекаю...
0
 Аватар для VinniPuh
9131 / 6143 / 593
Регистрация: 27.03.2013
Сообщений: 20,011
02.12.2019, 14:31
Лучший ответ Сообщение было отмечено Eugene-LS как решение

Решение

Примерчик что то не приложился.
Наверное как всегда забыл заархивировать.
В моем примере, да и во всех других, если делать как положено в Аксе, то вы можете ввести хоть 100 Видов изделий
Полка
Тумбочка
Шкаф
Кровать
...
И для каждого вида Указать - Марку, хоть 1000
Джулия
Виктория
Глория
....
Для каждой Марки - МодельМарки хоть 10000
150 h720 глухая
200 h720 глухая
300 h720 глухая
400 h720 глухая
450 h720 глухая
500 h720 глухая
600 h720 глухая (1 фас)
...
Если цены могут меняться в определеннве даты, то таким же макаром и цены менять.
Не нужно будет КАЖДЫЙ РАЗ ЛЕЗТЬ во внутренности процедур и запросов, если добавится какая ни то марка или модель
Надеюсь был понятен.
Вложения
Тип файла: rar Изделия-01 (Виды, Марки, Модели, Цены).rar (22.9 Кб, 3 просмотров)
1
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 8
02.12.2019, 15:17  [ТС]
Меня смущает одно....в моем варианте в таблице каждое изделие имеет свой ID и он забивается вручную...по этому ID переносятся цены из другой базы...а здесь счётчик служит неким ID...и он не соответствует тому ID который есть в прайсе...мне все придется переделывать...переписывать все ID ???
0
 Аватар для VinniPuh
9131 / 6143 / 593
Регистрация: 27.03.2013
Сообщений: 20,011
02.12.2019, 15:31
Цитата Сообщение от kviona Посмотреть сообщение
...мне все придется переделывать...переписывать все ID...
А кто сказал, что будет легко?
Если это не учебная БД, а рабочая, то по любому вам рано или поздно ПРИДЕТСЯ делать так, как это ПОЛОЖЕНО в Аксике.
Лучше раньше, пока не много данных в БД, потом труднее будет.
По вашей хотелке можно сделать, но, количество - Марок, должно быть - КОНЕЧНЫМ.
В Аксе в одной таблице можно создать не более 128 полей кажется.
Но нужно будет перечислить все эти поля.
Как уже сказал ранее, каждый раз когда будете добавлять Марку, то нужно будет лезть во внутренности программы и добавлять выражения ис новыми значениями.
Во первых это увеличивает вероятность ошибок,
Неудобно, ибо не каждый пользователь сможет что то исправить или добавить в код или выражение запроса.
Вам указали путь, но вам решать, по какому пути идти, по своему или по правильному.
0
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 8
02.12.2019, 15:38  [ТС]
Вы правы полностью VinniPuh...я принял решение идти правильным путём и начну корректировать данные и подгонять под новые ID. НО....это процесс долгий и я хочу временно запустить по моему варианту (по моей "хотелке") а когда база будет готова в правильном ключе перенесу данные и запущу по взрослому...И здесь у меня к Вам просьба...подскажите как мне решить мою "хотелку" по неправильному пути )) Буду премного благодарен...
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,937
Записей в блоге: 4
02.12.2019, 15:47
Цитата Сообщение от kviona Посмотреть сообщение
а когда база будет готова в правильном ключе перенесу данные и запущу по взрослому
этот путь окажется сложнее, чем сразу делать правильно
и по времени и по нервам
особенно, когда вы уже введете данные по старому для проверки функционала, и попадете в тупиковую ситуацию
0
 Аватар для VinniPuh
9131 / 6143 / 593
Регистрация: 27.03.2013
Сообщений: 20,011
02.12.2019, 15:52
На вашем примере не буду, ибо считаю, что нужно делать изначально правильно, дабы небыло так мучительно больно, ибо вот такой я привереда общеизвестный.
Но приложу примерчик, практически АНАЛОГИЧНЫЙ вашей хотелке.
От про Тарифы, но думаю сориентируетесь.
Разряды, это ваши - Модели
Должности - это Наименования.
В форме - Сотрудники
У нужного сотрудника указываете должность
Указываете разряд
В поле сумма, появляется значение, равное ячейке не пересечении указаных значений.
Вложения
Тип файла: rar Тарифы-01.rar (20.8 Кб, 5 просмотров)
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
02.12.2019, 16:48
Цитата Сообщение от kviona Посмотреть сообщение
В примере есть форма.
В ней подчиненная форма используя запрос выводит список предметов.
Нужно добавить в запрос одно из полей (джулия, виктория......) но то которое стоит в поле модель в основной форме..
то есть в поле запроса должны вставляться данные из колонки с именем равным выбранной модели
Вашу базу сейчас посмотреть не могу.
Поэтому показываю с условными именами.

Visual Basic
1
2
3
Private Sub Модель_AfterUpdate()
 ПодчФорма.Form.RecordSource = "SELECT Наименование, " & Модель & " AS Мод FROM СписокПредметов"
End Sub
Здесь фрагмент " AS Мод" (Мод - условное имя) - для того, чтобы значение связать с соответствующим полем подформы, источник данных которого должен быть задан как Мод.

Можно, конечно, и по-другому сделать - добавить в процедуру задание нового ControlSource этому полю:
Visual Basic
1
2
3
4
Private Sub Модель_AfterUpdate()
 ПодчФорма.Form.RecordSource = "SELECT Наименование, " & Модель & " FROM СписокПредметов"
 ПолеПодформы.ControlSource = Модель
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.12.2019, 16:48
Помогаю со студенческими работами здесь

Как задать имя столбца, если имя - это значение поля другой таблицы?
Доброго времени суток! При вставке нового значения в таблицу1, срабатывает триггер, который добавляет столбец в таблицу2. Именем этого...

Визуализация выбора параметра в запросе
Как красиво и компактно сделать выбор параметра в запросе для пользователя ? Допустим запрос: https://site.com/?type=1; ...

Проверка переданного параметра в Get запросе
Есть сервлет, который слушает урл /test. Get запросом может передаваться параметр ?test=2. Как проверить, был ли передан параметр или нет?...

Проверка типа параметра в запросе
Всем привет, имеется условие запроса типа вида где (ИсторияЗаявокНаРасчет.КодТНВЭД = &КодТНВЭД или...

Значение параметра в SQL запросе передается с кавычкой.
Здрасте! Проблема вот в чем: при передаче параметра от одного сервлета к другому значение параметра помещается в одинарные кавычки....


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru