Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43

Добавить поле из запроса в ленточной форме

29.04.2024, 09:20. Показов 3507. Ответов 57

Студворк — интернет-сервис помощи студентам
Здравствуйте господа хакеры! Спасибо всем, кто откликается. Я думал все уже ушли на пенсию.

ТЗ:

Имеется ленточная форма
Имеется таблица БД

В таблице имеется колонка с датами "12.03.2024" и т д...
Необходимо иметь порядковые числа для каждой даты. То есть необходимо состряпать форму, которая будет иметь поле с порядковым числом, относительно возрастания дат.

По образцу сделал SQL запрос на создание поля с нумерацией вот так:
SQL
1
2
SELECT A.*, (SELECT COUNT(*) FROM БД WHERE A.даты>=даты) AS №пп_sql
FROM БД AS A;
Далее можно как бы оставить как есть и получать необходимую инфу уже в отчёте. Но заказчик хочет видеть цифру для даты в режиме заполнения формы.

То есть если я вывожу поле "№пп_sql" из запроса в форму через конструктор запросов со связкой таблиц, то моя ленточная форма перестаёт быть редактируемой и "добавляемой"

Очень хотим продолжать редактировать свою форму - ленту и на лету видеть поле с порядковым номером даты из запроса...

Надеюсь нормально объяснил... Опыта почти нет
Миниатюры
Добавить поле из запроса в ленточной форме   Добавить поле из запроса в ленточной форме   Добавить поле из запроса в ленточной форме  

Вложения
Тип файла: 7z Демченко Вахты.7z (50.7 Кб, 15 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2024, 09:20
Ответы с готовыми решениями:

Гиперссылки в ленточной форме из полей запроса
Есть ленточная форма, формируемая запросом с полями ФИО, Дата, Дата1, Дата2 и так далее. Можно ли сделать гиперссылки или кнопки, чтобы...

Логическое поле на ленточной форме
Добрый день, есть ленточная форма, хочу чтобы при нажатии на логическое поле отрабатывался код If Me.Анулировано = Ложь Then If...

Поле со списком в ленточной форме
Добрый день, подскажите плз кто сталкивался: В ленточной форме два поля со списком. Список во втором поле должен фильтроваться в...

57
 Аватар для VinniPuh
9147 / 6179 / 594
Регистрация: 27.03.2013
Сообщений: 20,049
30.04.2024, 21:26
Студворк — интернет-сервис помощи студентам
stalin-alex, Так, для образца, типа для понимания, как это делается в натуре прикладываю примерный примерчик.
В начале заполняются - Стравочники:
Организация - Форма (Главная)
Подразделения
Должности
Сотрудники
Именно в таком порядке.
После заполнения нужных данных можно будет продолжить по планированию и учету работы сотрудников.
Для примера заполнил данные
Подр. уч. Надежда
Должности данного участка
3 Сотрудника
Миниатюры
Добавить поле из запроса в ленточной форме  
Вложения
Тип файла: zip Вахты-01 (Гл.П,Д,СД,Стат.Таб№,Шт.Расп.Док.).zip (105.5 Кб, 3 просмотров)
1
 Аватар для VinniPuh
9147 / 6179 / 594
Регистрация: 27.03.2013
Сообщений: 20,049
03.05.2024, 14:47
Эх, ТС похоже забил на свою тему.
Заходит на форум, но молчит как рыба об лед и на вопросы не отвечает.
А то вырисовается такое решение.

Ну да ладно, не буду больше мозг морщить над данной темой.
1
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43
13.05.2024, 03:14  [ТС]
VinniPuh, Да. в саму тему давно не заходил. То времени не было продолжать. То занимался оформлением внешнего вида под просьбу заказчика. Да и много пришлось гуглить.

Так, вроде готово как хотел заказчик. VinniPuh, Ваш вариант неплох и профессионально выполнен, но заказчик пожелал сделать максимально приблизительно к его вордовскому файлу...

Eugene-LS,
В общем единственно, что проблемка сейчас новая образовалась. Счётчик Dcount для порядковой нумерации дат, в чём и требовалась автоматизация документа, почему - то дал сбой.

Я забил все данные в в общую БД_ротация (ФИО, должность, дата и т д) и непонятно после какого момента, но многие цифры счётчика удалились.. То есть нет 1,2,3 ... начинается с 6 что ли... Такое ощущение, что в ходе набивки, были удаления записей и вместе с ними удалились цифры счётчика и он продолжил расстановку порядка без этих чисел... Надо бы тут разобраться...

Сам запрос :
SQL
1
2
3
SELECT БД_ротация.*, DCount("*","БД_ротация","Дата_заезд<=" & Format(Nz([Дата_заезд],9999),"\#mm\/dd\/yyyy\#")) AS №пп_sql
FROM БД_ротация
ORDER BY БД_ротация.Должность_заезд;
Почему-то не индексируется. Сделал пробу новой набивки в пустой базе. Там работает переиндексация
Миниатюры
Добавить поле из запроса в ленточной форме  
Вложения
Тип файла: 7z Демченко Вахты3.7z (418.3 Кб, 13 просмотров)
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
13.05.2024, 05:29
У вас 7 мая 5 заездов, вот вам и показывает 5 строк с одинаковым количеством. В условии идёт подсчёт количества записей меньше или равного 7 мая. Что неправильно? Всё правильно!
1
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
13.05.2024, 06:22
Цитата Сообщение от stalin-alex Посмотреть сообщение
Надо бы тут разобраться...
Потребуется "костыль" (средней толщины) и большой "пузырь", ибо без него тут не разобраться никак ...

Запрос: "Запрос_ротация" - пока попробуйте так:
SQL
1
2
3
4
5
6
SELECT БД_ротация.*, 
    CLng(DCount("*","БД_ротация",
        "Nz([Дата_заезд],0)+[Код]/86400<" & Format(Nz([Дата_заезд],0)+[Код]/86400,
        "\#mm\/dd\/yyyy hh:nn:ss\#")))+1 AS №пп_sql
FROM БД_ротация
ORDER BY Участки, Код;
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43
13.05.2024, 06:48  [ТС]
alvk, Ночью постил. Ошибка форума bad gataway не дала до конца отредактировать пост. Возможно я неверно выразился. Несколько одинаковых дат это так и должно быть. А вот то, что в счётчике пропускаются числа и его работа некорректна - такого не должно быть

Добавлено через 1 минуту
Eugene-LS, сорян не проставил пузырь. Ошибка форума не дала оформить пост нормально. Спасибо. Попробую
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
13.05.2024, 06:50
Цитата Сообщение от stalin-alex Посмотреть сообщение
Ошибка форума
Нет никакой ошибки - ежедневно с 03:00 MSK - форум на обслуживании (прибл. час - не засекал)
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43
13.05.2024, 06:57  [ТС]
Eugene-LS, буду знать. Надо заменить ошибку)))
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
13.05.2024, 06:59
Цитата Сообщение от stalin-alex Посмотреть сообщение
А вот то, что в счётчике пропускаются числа и его работа некорректна - такого не должно быть
Что такое счётчик в вашем понимании и как это поле называется в вашем запросе?
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43
13.05.2024, 07:40  [ТС]
alvk,
"Форма_заполнения"
"Запрос_заполнение"

Поле "№пп_sql"

SQL
1
2
3
SELECT БД_ротация.*, DCount("*","БД_ротация","Дата_заезд<=" & Format(Nz([Дата_заезд],9999),"\#mm\/dd\/yyyy\#")) AS №пп_sql
FROM БД_ротация
ORDER BY БД_ротация.Должность_заезд;
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43
13.05.2024, 07:48  [ТС]
Eugene-LS,

Пара вопросов:

1. А почему исчезли повторы ? Ведь в принципе они не возбраняются в моём случае. Ибо есть одинаковые даты.
2. Могу ли я добавить сортировку "Должность_заезд" как было в моём примере ночью...Заказчику надо, чтобы должности на каждом участке выстраивались по иерархии сверху вниз...Это как-то влияет на Dcount ?
3. Вы добавили сортировку по участкам. Это почему?
Миниатюры
Добавить поле из запроса в ленточной форме  
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43
13.05.2024, 08:00  [ТС]
Пока работает. Но понять бы, что спровоцировало такой сбой? Или с новым запросом уже не должно?
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
13.05.2024, 08:32
Цитата Сообщение от stalin-alex Посмотреть сообщение
01. А почему исчезли повторы ?
Потому что: Nz([Дата_заезд],0)+[Код]/86400

02. Могу ли я добавить сортировку "Должность_заезд" как было в моём примере ночью...
Да.
03. Вы добавили сортировку по участкам. Это почему?
Это был эксперимент - забыл убрать просто.

04. Но понять бы, что спровоцировало такой сбой?
Вам уже ответили (post#24).
Повторяю: Повторение дат.

05. Или с новым запросом уже не должно?
Как говорят врачи: Понаблюдаем ...

Добавлено через 22 минуты
Цитата Сообщение от stalin-alex Посмотреть сообщение
Но понять бы
- "Примеры существуют не того что бы тупо копировать из них код себе, но для вдумчивого изучения со скрупулёзным поиском в интернет всех непонятных словосочетаний (свойств и методов)."
--------------------
© Альберт Эйн-Штейн
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43
13.05.2024, 08:46  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Потому что: Nz([Дата_заезд],0)+[Код]/86400
Получается, что теперь вместо повторений для одинаковых дат, будут назначаться +1 порядковые номера, как и для НЕ повторяющихся.. Я правильно понял?
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
13.05.2024, 08:50
Цитата Сообщение от stalin-alex Посмотреть сообщение
Я правильно понял?
Не совсем, но направление мыслей правильное.
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
13.05.2024, 10:18
Цитата Сообщение от stalin-alex Посмотреть сообщение
Поле "№пп_sql"
Это не счётчик. Счётчик - это поле Код, имеющее тип Счётчик.
Счётчик не допускает повторов.
По поводу повторений в вашем номере, вам нужно просто определиться и озвучить для чего нужно это поле.
Что оно считаете и в разрезе чего?
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43
13.05.2024, 10:29  [ТС]
alvk, Я его так просто образно называю. Да я знаю про поле "код" и то, что оно индексированное без повторов. На нём и завязана табла.

Там в ТС я описал ТЗ для чего надо... "Пометить числами в порядковой последовательности от меньшей даты к большей" поле таблицы "Дата_заезда"
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
13.05.2024, 12:45
Цитата Сообщение от stalin-alex Посмотреть сообщение
"Пометить числами в порядковой последовательности от меньшей даты к большей
я вот так вижу:
1. Запрос Источник
T-SQL
1
2
3
4
5
6
7
SELECT (Select Count(*) 
    From (select Дата_заезд from БД_ротация group by Дата_заезд) p 
    Where p.Дата_заезд<= 
     p1.Дата_заезд 
 ) AS НомерПП, p1.Дата_заезд AS Дата1
FROM БД_ротация AS p1
ORDER BY p1.Дата_заезд;
2. Запрос Запрос_Ротация:
T-SQL
1
2
3
 SELECT БД_ротация.*, Источник.НомерПП
FROM БД_ротация LEFT JOIN Источник ON БД_ротация.Дата_заезд = Источник.Дата1
ORDER BY Источник.НомерПП;
Миниатюры
Добавить поле из запроса в ленточной форме  
1
 Аватар для VinniPuh
9147 / 6179 / 594
Регистрация: 27.03.2013
Сообщений: 20,049
13.05.2024, 13:28
Цитата Сообщение от stalin-alex Посмотреть сообщение
...но заказчик пожелал сделать максимально приблизительно к его вордовскому файлу...
Ну нет так нет, хозяин барин.
Скину пример того что натворил, может пригодится.
Не выкидывать же.
Вложения
Тип файла: zip Вахты-03 (Печать отчета на месяц) А2003 Пример.zip (137.9 Кб, 11 просмотров)
1
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 43
29.05.2024, 08:59  [ТС]
Всем привет. Вот снова время нашёл покопаться со своей "перевахтой" .. ребят, а куда дели "Eugene-LS
Заблокирован"


У меня форма работает на основе его SQL запроса. А конкретнее порядковые номера дат. "дата_заезда"

Подскажите, каким образом можно подправить запрос

SQL
1
2
3
SELECT БД_ротация.*, CLng(DCount("*","БД_ротация","Nz([Дата_заезд],0)+[Код]/86400<" & Format(Nz([Дата_заезд],0)+[Код]/86400,"\#mm\/dd\/yyyy hh:nn:ss\#")))+1 AS №пп_sql
FROM БД_ротация
ORDER BY БД_ротация.Должность_заезд, БД_ротация.Код;
Чтобы порядковый номер не присваивался вообще для той записи, у которой не указана дата. бывает, что дату пока рано присваивать и это будет сделано позже. А порядковый номер присваивает по наименьшему, для пустой даты.

Форма "Форма_заполнения" и запрос "Запрос_заполнение"
Миниатюры
Добавить поле из запроса в ленточной форме  
Вложения
Тип файла: 7z Перевахта БД.7z (384.1 Кб, 5 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.05.2024, 08:59

Поле со списком в ленточной форме (Access2K)
Задача состоит в том чтобы для каждой строки ленточной формы поле со списком заполнялось даными, которые зависят от соседнего...

Функция Count на поле в ленточной форме
Я на форме cсоздал свободное поле и написал =Сount () в итоге посчитал сумма все записи я бы хотел он отображал количество уникальных...

Свободное OLE поле в ленточной форме
Добрый день! Подскажите, пожалуйста, можно ли сделать следующее: В ленточной форме по запросу формируется список, если критерий...

Применение функции Dsum к ленточной форме на основе запроса
Доброго времени суток заглянувшим! Я к вам с очередным глупым вопросом. :) Возможнo-ли применение функции Dsum к ленточной форме на...

Поле со списком в ленточной форме как фильтр
всем привет! вопрос возможно избитый, но по форуму не могу найти. в ленточной форме есть поле со списком, при выборе фамилии в этом...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru