Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.81/32: Рейтинг темы: голосов - 32, средняя оценка - 4.81
JellyCockroach
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 1
#1

Задано значение для операции без оператора

15.12.2013, 18:08. Просмотров 5800. Ответов 29
Метки нет (Все метки)

Доброго времени суток. Делаю форму в access 2007, где в одном из полей, необходимо выводить сообщение о том, что какие-либо из полей выше - не заполнены. Решил это сделать через свойства полей в одной из форм(pic. 1). Но столкнулся с ошибкой "Задано значение для операции без оператора". Что я делаю не так? То что ввожу - приведено ниже:
=IIf([Фамилия] IsNull;"Не заполнено поле Фамилия; ";"") &IIf([Имя] IsNull;"Не заполнено поле Имя; ";"") &IIf([Отчество] IsNull;"Не заполнено поле Отчество; ";"")
Подскажет кто, в чём тут дело?
0
Миниатюры
Задано значение для операции без оператора  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 18:08
Ответы с готовыми решениями:

Ошибка синтаксиса во введенном выражении. Задано значение для операции без оператора
Всем привет! Нужна помощь. Пытаюсь написать выражение для проверки указания...

Высчитать количество дней между двумя датами, ошибка: задано значение для операции без оператора
Всем привет))) Помогите разобраться в ошибке, нужно высчитать кол-во дней...

Как устранить "Ошибку синтаксиса задано значение для операции без оператора" в данном выражениии
= дата редактирования «Выражение» !

Отношение должно быть задано для одинакового количества полей
Здравствуйте уважаемые форумчане, помогите пожалуйста разобраться новичку со...

Найти значение заданного выражения без использования условного оператора
Скоро экзамен , кто чем может ) Помоги ближнему , ибо смех продлевает...

29
mobile
Эксперт MS Access
22635 / 12939 / 2659
Регистрация: 28.04.2012
Сообщений: 14,170
15.12.2013, 18:34 #2
Есть вбашная функция IsNull и есть джетовское выражение Is Null
Visual Basic
1
=IIf(Isnull([Фамилия]);"Не заполнено поле Фамилия";IIf(Isnull([Имя]);"Не заполнено поле Имя";IIf(Isnull([Отчество]);"Не заполнено поле Отчество"; ";"")))
0
orm78
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 18
25.04.2017, 14:35 #3
Здравствуйте, подскажите, пишу выражение IIf( [тип счетчика] ="хвс"; «Выражение» [Дата поверки] +72;IIf( [тип счетчика] ="гвс"; «Выражение» [Дата поверки] +48; «Выражение» [Дата поверки] +60)). Получаю ответ: "Задано значение для операции без оператора" в чем проблема?
0
YuryK
1030 / 847 / 337
Регистрация: 08.12.2016
Сообщений: 3,283
25.04.2017, 16:17 #4
Цитата Сообщение от orm78 Посмотреть сообщение
«Выражение»
эти чудеса куда прилепить аксесс должен? И, главное, как?
1
orm78
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 18
26.04.2017, 08:29 #5
Да я, как бы. в построении выражений не то, что ноль,даже чуть-чуть ниже))))) Что построитель выдал, то и написал.

Добавлено через 5 минут
Убрал "выражение" начал считать, спасибо!

Добавлено через 5 минут
Можно еще вопрос? Столбец в таблице считает, считает верно, но к результату даты добавляет время, как убрать время?
0
Eugene-LS
Эксперт MS Access
3186 / 1831 / 335
Регистрация: 05.10.2016
Сообщений: 5,063
26.04.2017, 08:46 #6
Цитата Сообщение от orm78 Посмотреть сообщение
но к результату даты добавляет время, как убрать время?
Видимо поле [Дата поверки] не в том формате (Полный формат даты)
- в конструкторе таблицы переведите поле в формат ShortDate (Краткий формат даты) - будет хранить только дату.

Доп инфо.: Добавление и Настройка форматов даты и времени
1
orm78
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 18
26.04.2017, 08:57 #7
Перевел поле в краткий формат даты, сохранил, однако все равно отображает полный, но это не критично, так для эстетики.
0
Eugene-LS
Эксперт MS Access
3186 / 1831 / 335
Регистрация: 05.10.2016
Сообщений: 5,063
26.04.2017, 09:11 #8
Цитата Сообщение от orm78 Посмотреть сообщение
однако все равно отображает полный
И на новых записях???
0
orm78
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 18
26.04.2017, 09:12 #9
нет, только на старых
0
Eugene-LS
Эксперт MS Access
3186 / 1831 / 335
Регистрация: 05.10.2016
Сообщений: 5,063
26.04.2017, 09:17 #10
Цитата Сообщение от orm78 Посмотреть сообщение
нет, только на старых
Старые можно переформатировать запросом на обновление прибл такого вида:
SQL
1
UPDATE [Имя ваше  таблицы] SET [Дата поверки] = Format([Дата поверки],"dd/mm/yyyy");
Резервную копию только сделайте перед экспериментами с данными ....
1
orm78
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 18
26.04.2017, 09:37 #11
ок, спасибо, сейчас попробую.

Добавлено через 4 минуты
Может еще посоветуете и скажете куда идти))))) Есть форма, в ней предполагается заносить данные, которые при нажатии кнопки "сохранить" попадают в таблицу, как сделать такую кнопку типа "дублировать", при нажатии на которую занесенные данные дублируются в этой же форме, для дальнейшей корректировки? Как-то так.
0
Eugene-LS
Эксперт MS Access
3186 / 1831 / 335
Регистрация: 05.10.2016
Сообщений: 5,063
26.04.2017, 10:15 #12
Цитата Сообщение от orm78 Посмотреть сообщение
при нажатии на которую занесенные данные дублируются в этой же форме, для дальнейшей корректировки?
Скопировать данные текущей записи в новую?
Если да - то масса вариантов, в зависимости от ситуации, структуры формы и данных.
Если полей подлежащих копированию не много можно просто перенести данные через несколько переменных:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
dim v01 as Variant
dim v02 as Variant
dim v03 as Variant
dim v04 as Variant
 
'Копируем значения полей в переменные
v01 = Me!Поле01
v02 = Me!Поле02
v03 = Me!Поле03
v04 = Me!Поле04
 
DoCmd.GoToRecord , , acNewRec      'Переход на новую запись    
 
'Установка скопированных значений в поля новой записи
Me!Поле01 = v01
Me!Поле02 = v02
Me!Поле03 = v03
Me!Поле04 = v04
0
orm78
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 18
26.04.2017, 10:34 #13
Вот файлик, здесь то, что я ваяю. Конечно, все пока коряво, потому что по ходу дела изучаю аксес)))). Смысл всей затеи в том, чтобы пользователь в форме находил данные в таблице по адресу, корректировал их и сохранял в таблицу. Если адреса нет, то вносил новые данные в этой же форме. Если требуется внести несколько строк с данными в таблицу, то как в рисунке.
0
Вложения
Тип файла: zip ТСЖ2.zip (3.47 Мб, 3 просмотров)
Eugene-LS
Эксперт MS Access
3186 / 1831 / 335
Регистрация: 05.10.2016
Сообщений: 5,063
26.04.2017, 12:39 #14
Цитата Сообщение от orm78 Посмотреть сообщение
Если требуется внести несколько строк с данными в таблицу, то как в рисунке.
Не знаю, правильно ли я понял вас, но вот что то сочинилось на эту тему ...
1
Вложения
Тип файла: zip ТСЖ3.zip (3.00 Мб, 2 просмотров)
orm78
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 18
26.04.2017, 14:45 #15
Интересное решение, но главного нет)))). Кнопка "Повторить" создает поля для новых данных, но не копирует эти данные в новые поля. Если, допустим, есть четыре записи по фамилии Иванов А.В. по одному адресу, но с разными типами счетчиков и т.д.,вот чтобы пользователю не заводить данные по Иванову А.В. четыре раза, а просто скопировать их в четыре строки и потом изменить тип счетчика.
0
Capi
1687 / 888 / 169
Регистрация: 12.06.2016
Сообщений: 1,935
26.04.2017, 15:03 #16
Цитата Сообщение от orm78 Посмотреть сообщение
и потом изменить тип счетчика
Может, значение изменить, а не тип?
И все равно, не сможете.
Это же счетчик.
Цитата Сообщение от orm78 Посмотреть сообщение
чтобы пользователю не заводить данные по Иванову А.В. четыре раза
При нажатии кнопки "Дублировать" задавайте полям формы соответствующие значения по умолчанию
Visual Basic
1
2
3
поле1.DefaultValue = поле1
поле2.DefaultValue = поле2
.......................
И создавать ничего не надо, само все создастся в новой записи.
1
Eugene-LS
Эксперт MS Access
3186 / 1831 / 335
Регистрация: 05.10.2016
Сообщений: 5,063
26.04.2017, 15:20 #17
Цитата Сообщение от orm78 Посмотреть сообщение
а просто скопировать их в четыре строки и потом изменить тип счетчика.
Ничего не понял.
А почему именно четыре? - а не, допустим, три или две?
В какие строки копировать??? - у вас всего одна таблица?!
Или... вы имели ввиду подчинённую таблицу с параметрами счётчиков по каждому конкретному адресу - так это структуру нужно менять...
...


Выражайте свои мысли яснее пожалуйста.
0
Eugene-LS
Эксперт MS Access
3186 / 1831 / 335
Регистрация: 05.10.2016
Сообщений: 5,063
26.04.2017, 15:33 #18
Цитата Сообщение от orm78 Посмотреть сообщение
Кнопка "Повторить" создает поля для новых данных, но не копирует эти данные в новые поля
А вот тут поподробнее пожалуйста ...

На всякий случай прилагаю ваше ТЗ ...
Может я лыжи наоборот сегодня надел ... Не знаю.
0
Миниатюры
Задано значение для операции без оператора  
orm78
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 18
26.04.2017, 15:59 #19
Наверное по-тупому объясняю. У меня одна таблица, пользователь корректирует данные в таблице и если данные отсутствуют вносит их в таблицу. Если требуется откорректировать данные, то вопросов нет, спасибо Вам, фильтр работает, адреса ищет, все ок! Но если требуется внести данные по одному адресу проживания, но количество этих данных зависит от количества счетчиков ( водомеров), установленных по этому адресу проживания. Счетчиков может быть 1, 2, 3, или 4 ( с бОльшим количеством не сталкивался). Итак, пользователь вносит данные в форме, данные по фамилии и адресу одинаковые, возможно одинаковые и по ФИО поверителя, эти данные пользователь вносит в первые поля (это получается, заполнится новая строка в таблице(после нажатия кнопки "Сохранить")):
-Наименование
-Фамилия
-Адрес
-Тип счет.
-Дата поверки
-ФИО поверителя
-№ З/К
-Номер счетчика
После того, как пользователь заполнил первые поля, он (хотелось бы) нажимает кнопку "Повторить" и данные в первых полях копируются во вторые поля (это вторая новая строка в таблице) и так нажимает столько раз сколько счетчиков установлено по этому адресу проживания. Потом нажимает кнопку "Сохранить" все введенные данные сохраняются в таблице, всё, пользователь переходит к отработке следующего адреса. Вот как-то так. Извините, за косноязычие))).

Добавлено через 7 минут
Это я со своим гражданским языком неверно написал, счетчик-в смысле водомер, счетчик воды. А его тип это текстовое значение "гвс" и "хвс")))).
0
Eugene-LS
Эксперт MS Access
3186 / 1831 / 335
Регистрация: 05.10.2016
Сообщений: 5,063
26.04.2017, 15:59 #20
Цитата Сообщение от orm78 Посмотреть сообщение
Потом нажимает кнопку "Сохранить" все введенные данные сохраняются в таблице
Данные сохраняются автоматически, просто при переходе между записями (специальной команды не нужно).

Цитата Сообщение от orm78 Посмотреть сообщение
После того, как пользователь заполнил первые поля, он (хотелось бы) нажимает кнопку "Копировать" и данные в первых полях копируются во вторые поля (это вторая новая строка в таблице)
Непонятны термины:
01. Первые поля
02. Вторые поля
03. Вторая новая строка в таблице (!!!??? - какой таблице? - мы в форме работаем...)
0
26.04.2017, 15:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2017, 15:59

вычислить значение выражения без использования операции умножения
Вычислите значение выражения cos(x)+cos(3x)+cos(5x)+...+cos(Nx) без...

Использование переменной для которой не задано значение
Доброго времени суток. Чёт понять не могу, почему студия ругается и не дает...

Написать подрограмму для логического оператора AND, без использования логических операторов
Помогите решить интересную задачу, в нете искал и не смог найти нормального...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru