|
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
||||||
Функция dlookup в ленточной форме15.07.2014, 07:31. Показов 4945. Ответов 38
Метки нет (Все метки)
всем привет!
подскажите как реализовать функцию DLookup в ленточной форме? вешаю на событие после обновления поля со списком эту функцию, значения меняются во всех строках, а нужно чтобы менялось только в текущей(!) возможно есть какой-то альтернативный способ, рассмотрю любой... заранее всем спасибо! Добавлено через 14 минут вот сам код:
0
|
||||||
| 15.07.2014, 07:31 | |
|
Ответы с готовыми решениями:
38
Функция Count на поле в ленточной форме
Автоподстановка в форме (ф-ция DLookup) |
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 22.07.2014, 12:57 | |
|
Вы не вставили NZ в условия в Поле1. Там была ошибка. Сделал его видимым для проверки. Все нормально считается.
1
|
|
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
| 22.07.2014, 13:17 | |
|
Форма перенасыщена вычисляемыми полями с достаточно тяжелыми формулами. Это и медленно, и чревато возможной дестабизизацией формы. Гораздо эффективней и безопасней перетащить все расчеты в исходный запрос и вместо расчетных полей в форме сделать поля на основе полей запроса. Форма станет значительно легче и удобней в работе.
1
|
|
|
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
| 22.07.2014, 13:22 [ТС] | |
|
mobile, здравствуйте
вы имеете в виду: создать отдельно запрос, или модифицировать запрос - источник формы?
0
|
|
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
| 22.07.2014, 13:26 | |
|
Хороший вариант это вставить в запрос-источник формы все вычисления. Полям формы, вместо вычислений задать источником эти поля запроса с нужными расчетами.
Добрый день, sekonya
1
|
|
|
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
| 22.07.2014, 14:45 [ТС] | |
|
mobile, ок, сейчас сделаю)
еще маленький вопрос, почему когда я в примечании формы ставлю поле с формулой "=sum([поле6])", в режиме формы возвращает #ошибка? Добавлено через 20 минут mobile, вот такая конструкция =Nz(DLookUp("[сумколНорм]";"сумматпоз";"идпозиции=" & Nz([Формы]![смета]![ИдПозиция];0))*DLookUp("[сумЦенаЗаЕдМатСмет]";"сумматпоз";"идпозиции=" & Nz([Формы]![смета]![ИдПозиция];0));0) в запросе возвращает ноль, понятно что ссылка идет на форму, как это обойти? пробовал в запрос - источник формы вставить следующее NNN: Nz(DLookUp("[сумколНорм]";"сумматпоз")*DLookUp("[сумЦенаЗаЕдМатСмет]";"сумматпоз");0), запрос возвращает одинаковые значения для всех строк Добавлено через 55 минут mobile, подскажите пожалуйста, как мне в запросе сделать вычисляемые поля?
0
|
|
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|||||||
| 22.07.2014, 15:29 | |||||||
Сообщение было отмечено sekonya как решение
Решение
1
|
|||||||
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
| 22.07.2014, 15:43 | ||||||
|
А решение с джойнами вместо лукапов будет побыстрее
0
|
||||||
|
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
| 22.07.2014, 16:20 [ТС] | |
|
подскажите почему при сложении в SQL я использую знак "+", результат выдает как строковое сложение?
т.е. если я складываю поля ЗатратыНаМатериалы и ЗатратыНаМашМех выходит такое: 0,12+3,00=0,123,00 как от этого избавиться? заранее всем спасибо!
0
|
|
|
Модератор
|
|
| 22.07.2014, 16:28 | |
|
значит по крайней мере одно из полей --символьное
или проблема с разделителем(точка-запятая)
1
|
|
|
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
| 22.07.2014, 16:30 [ТС] | |
|
shanemac51, у складываемых полей формат "фиксированный" при помощи функции format()
0
|
|
|
Модератор
|
|
| 22.07.2014, 16:58 | |
|
ЕСТЕСТВЕННО,
FORMAT переводит число в строку
1
|
|
|
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
| 22.07.2014, 17:51 [ТС] | |
|
shanemac51, подскажите пожалуйста, как мне отформатировать числа, а то много знаков после запятой получается, а при отображении этих данных в форме, в свойствах этих полей, выпадает пустой список форматов?
Добавлено через 50 минут и все же, кто мне ответит на вопрос? почему в примечании ленточной формы в поле прописываю формулу =sum(поле6) а мне акс возвращает #ошибка?
0
|
|
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|||||||
| 22.07.2014, 18:59 | |||||||
Сообщение было отмечено sekonya как решение
Решение
1
|
|||||||
|
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
| 23.07.2014, 14:09 [ТС] | |
|
mobile, здравтсвуйте!
можете подсказать у меня в форме 2 каскадных поля со списком, при выборе значения в первом поле со списком нужно чтобы во втором поле появилась первая запись из источника строк второго поля со списком... т.е. если я выбираю страну "Россия" в первом списке, то во втором автоматически появляется "Москва" заранее спасибо!
0
|
|
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
| 23.07.2014, 15:12 | ||||||
|
Вообще говоря, связанные списки создать легко. В коде на событии AfterUpdate первого кобобокса пишете (с поправкой на правильные имена)
Сложность в том, что для любых форм, в том числе многозаписных, контрол на форме ОДИН. И когда Вы меняете ему источник, то он меняется для всех записей в форме. А ведь для каждой записи в связанных комбо он должен быть разный, зависящий от значения первого комбо. Вот поэтому в простой форме все идет, а в многозаписных нет - получаются конфликты в записях.
1
|
||||||
|
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
| 23.07.2014, 15:17 [ТС] | |
|
mobile, это вы задаете источник строк для второго комбобокса, а он у меня есть!
вопрос в том, чтобы во втором комбобоксе появилась первая запись источника строк, после обновления первого комбобокса...
0
|
|
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
| 23.07.2014, 15:22 | ||||||
|
Не уверен, что правильно понял.
Установить комбо на первую запись:
1
|
||||||
|
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
|
|
| 23.07.2014, 15:59 [ТС] | |
|
mobile, спасибо огромное!
Добавлено через 33 минуты mobile, еще маленький вопросик по организации БД есть таблица "смета", смета делится на разделы (таблица "разделы"), а разделы в свою очередь делятся на позиции (таблица "позиции")... но иногда смета не делится на разделы, а сразу делится на позиции... как в таком случае организовать схему данных?
0
|
|
|
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||||||||
| 23.07.2014, 16:59 | ||||||||||||
|
Но иногда можно прибегнуть к достаточно простому варианту, причем без какого-либо серьезного увеличения кода. В таблице Разделы образуем запись с "виртуальным" кодом не относящимся ни к одному фактическому разделу. И если Смета делится сразу на позиции без разделов, то пишем этот код. Все матобеспечение сохраняется, ничего добавлять не надо. Единственно, могут быть трудности, если в справочнике Разделы код раздела типа Счетчик. Хотелось бы это "виртуальный" номер несуществующего раздела сделать выделяющимся из общей массы. Но это тоже нетрудно сделать. Например хотим присвоить "виртуальному" разделу номер 0. Счетчик начинается с 1, так что 0 это удобно 1. Пишем запрос
Вот такой вариант. Если он приемлем.
1
|
||||||||||||
| 23.07.2014, 16:59 | |
|
Функция DLookup Функция Dlookup
Функция DLookUp не работает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
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
хоп хоп хоп хидахоп, а я кладую))
|