Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 23.02.2020
Сообщений: 30
1

Логические выражения в таблицах Access'a

27.03.2020, 10:04. Показов 2832. Ответов 12

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Есть таблица в Access и есть два поля - "Стаж работы" и "Доплата за стаж работы".
В поле "Стаж работы" должен быть стаж - цифры
В поле "Доплата за стаж работы" должны быть проценты, но не простые, а...
Если стаж = до 5 лет, то доплата - 0%, если от 5 до 10, то доплата - 5%, если стаж выше 10 лет, то доплата - 10%
Пытался сделать у поля "Доплата" тип данных Логический и в Условие на значение вписать это:

SQL
1
=IIf([Стаж работы, лет]<=5;[Доплата за стаж работы]=0%;IIf(5>[Стаж работы, лет]<=10;[Доплата за стаж работы]=5%;IIf([Стаж работы, лет]>10;[Доплата за стаж работы]=10%;0)))
Не работает. Больше мыслей нет. Спасайте
#добравсем
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2020, 10:04
Ответы с готовыми решениями:

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

Записать логические выражения, используя условные операторы, операции отношений и логические операции.
Нужно: Текст программы (включая подробные комментарии) Блок-схему алгоритма ...

Записать логические выражения, используя условные операторы, операции отношений и логические операции

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

12
Модератор
Эксперт MS Access
12085 / 4945 / 791
Регистрация: 07.08.2010
Сообщений: 14,524
Записей в блоге: 4
27.03.2020, 10:15 2
может не нужен символ процента
точки с запятой и скобки вроде нормальны)

но попробуйте
SQL
1
2
3
=IIf([Стаж работы, лет]<=5;0;
IIf([Стаж работы, лет]<=10;5;
IIf([Стаж работы, лет]>10;10;0)))
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
27.03.2020, 10:19 3
Цитата Сообщение от Worker200
должны быть проценты, но не простые, а... 
...а очень простые...
SQL
1
=IIf(Стаж>10;10;IIf(Стаж>=5;5;0))
0
9108 / 6037 / 590
Регистрация: 27.03.2013
Сообщений: 19,817
27.03.2020, 10:21 4
Без примера не особо уверен, что правильно, но попробуйте в выражении:

SQL
1
=IIf([Стаж работы, лет]<=5;[Доплата за стаж работы]=0%;IIf(5>[Стаж работы, лет]<=10;[Доплата за стаж работы]=5%;IIf([Стаж работы, лет]>10;[Доплата за стаж работы]=10%;0)))
вместо -
SQL
1
IIf(5>[Стаж работы, лет]<=10;
написать
SQL
1
IIf(>5[Стаж работы, лет]<=10;
Ну типа знак больше не После пятерки, а До

Добавлено через 58 секунд
Аппаздал.
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
27.03.2020, 10:36 5
Цитата Сообщение от shanemac51
вроде нормальны
Ага. Особенно это:
5>[Стаж работы, лет]<=10

И проверки типа
[Доплата за стаж работы]=5%
в операции присвоения значения этой самой Доплате.

Все выражение - ляп на ляпе.

Добавлено через 11 минут
И это еще:
Пытался сделать у поля "Доплата" тип данных Логический
Надеюсь, отказались от этих попыток?
0
0 / 0 / 0
Регистрация: 23.02.2020
Сообщений: 30
27.03.2020, 10:47  [ТС] 6
Цитата Сообщение от Capi Посмотреть сообщение
...а очень простые...
SQL
1
=IIf(Стаж>10;10;IIf(Стаж>=5;5;0))
Цитата Сообщение от Capi Посмотреть сообщение
=IIf(Стаж>10;10;IIf(Стаж>=5;5;0))
Вот это в принципе хороший вариант, но есть одно но. Теперь при сохранении таблицы вылезает ошибка "Имя поля 'Стаж' не распознаётся ядром базы данных". Как это фиксить?

Добавлено через 5 минут
Цитата Сообщение от Capi Посмотреть сообщение
Надеюсь, отказались от этих попыток?
А что не так? Как это сделать?
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
27.03.2020, 10:48 7
Как фиксить?
Тоже очень просто.
Подставить свое имя. Мне набирать с планшета все эти текстовки с пробелами, запятыми и квадратными скобками не очень хочется.
Есть второй вариант - исправить свое имя на нормальное (без пробелов и запятых).
0
Модератор
Эксперт MS Access
12085 / 4945 / 791
Регистрация: 07.08.2010
Сообщений: 14,524
Записей в блоге: 4
27.03.2020, 10:55 8
Цитата Сообщение от Capi Посмотреть сообщение
Цитата Сообщение от shanemac51
вроде нормальны
Ага. Особенно это:
5>[Стаж работы, лет]<=10
не надо выхватывать из контекста
Цитата Сообщение от shanemac51 Посмотреть сообщение
точки с запятой и скобки вроде нормальны
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
27.03.2020, 11:02 9
Цитата Сообщение от shanemac51 Посмотреть сообщение
не надо выхватывать из контекста
Цитата Сообщение от shanemac51 Посмотреть сообщение
точки с запятой и скобки вроде нормальны
Но и точки с запятой и скобки не надо рассматривать вне контекста.
К тому же, когда я писала, этой Вашей добавки еще не было. Она появилась позднее.
Цитата Сообщение от shanemac51 Посмотреть сообщение
но попробуйте...
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
27.03.2020, 11:04 10
Цитата Сообщение от Worker200 Посмотреть сообщение
А что не так? Как это сделать?
Что именно сделать?
Запихнуть в логическое поле значение процентов?
Никак.

Логическое поле принимает всего два значения - True и False.

0, 5 и 10 - числовое, байт.
0
0 / 0 / 0
Регистрация: 23.02.2020
Сообщений: 30
27.03.2020, 11:30  [ТС] 11
Как избавиться от ошибки >не распознаётся ядром базы данных
Имя сократил, убрал пробелы -- всё равно не распознаётся
0
10745 / 5585 / 1411
Регистрация: 05.10.2016
Сообщений: 15,796
27.03.2020, 11:33 12
Цитата Сообщение от Worker200 Посмотреть сообщение
Имя сократил, убрал пробелы -- всё равно не распознаётся
Значит где то ещё сталось ...
Ищите ...
Или БД на форум ...
0
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
27.03.2020, 14:38 13
Цитата Сообщение от Worker200 Посмотреть сообщение
Как избавиться от ошибки >не распознаётся ядром базы данных
Имя сократил, убрал пробелы -- всё равно не распознаётся
Вы куда
SQL
1
=IIf(Стаж>10;10;IIf(Стаж>=5;5;0))
вставляете? А? Да и пример БД хотелось бы всем увидеть.
0
27.03.2020, 14:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2020, 14:38
Помогаю со студенческими работами здесь

Логические выражения: упростите выражения
3) упростите выражения (A &amp; B v not A)\rightarrow not(A v B) = ? (A \leftrightarrow B) &amp; (not A...

Логические выражения
double ko; do { cout &lt;&lt; &quot;Для однослойной обмотки обмоточный коэффицент равен 0.96, для...

Логические выражения
помогитенаписать логические выражения Program perevodCC; uses crt; label e, lab1, lab2; var...

Логические выражения
Добрый вечер помогите пожалуйста составить Логическое выражение. Есть переменные относящиеся к...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru