3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
1

Введённое выражение не содержит значения!

10.08.2013, 21:30. Показов 6131. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите как справиться! В форме вычисляемое поле, в данном случае сумма. В зависимости от значений в этом поле выполняются дальнейшие действия. Когда нет данных, поле не равно нулю, не пустое поле(""), а "Введённое выражение не содержит значения!" Как это написать в коде?
If (Me.СуммаЗаДизайн) = 0 Then
MsgBox "Зарплата равна нулю!"
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2013, 21:30
Ответы с готовыми решениями:

Проверить, содержит ли введённое число по крайней мере две одинаковых цифры
Напишите программу, которая определяет, верно ли, что введённое число содержит по крайней мере две...

Как упростить введённое выражение, состоящее из произведений?
Напечатать функцию (def) ,упрощающую выражение. Bводится строка, содержащая не более 60 символов....

Верно ли, что введённое число содержит по крайней мере две одинаковых цифры
Условие: Напишите программу, которая определяет, верно ли, что введённое число содержит по крайней...

Определить, верно ли, что введённое число содержит две одинаковых цифры, стоящие рядом
Напишите программу, которая определяет, верно ли, что введённое число содержит две одинаковых...

17
Эксперт MS Access
26816 / 14495 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
10.08.2013, 21:38 2
Могут быть различные варианты...
Попробуйте
Visual Basic
1
If Nz(Me.СуммаЗаДизайн, 0) = 0 Then  MsgBox "Зарплата равна нулю!"
2
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
10.08.2013, 22:18  [ТС] 3
[VB]If Nz(Me.СуммаЗаДизайн, 0) = 0 Then MsgBox "Зарплата равна нулю!"
Не помогло, пишет "Введённое выражение не содержит значения!"
1
Эксперт MS Access
26816 / 14495 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
10.08.2013, 22:25 4
Да, я сразу написал, что могут быть варианты.
Или объясняйте подробнее - что, где, когда, или приложите бд с точным указанием куда смотреть и какие действия совершить, чтобы выйти на ошибку.
1
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
10.08.2013, 22:41  [ТС] 5
В форме [ФормаОтчётПоДизайнуОбщий] При выбранном сотруднике и отсутствие данных, нажать кнопку начислить зарплату
Вложения
Тип файла: rar 10.07.30.rar (518.7 Кб, 15 просмотров)
0
Эксперт MS Access
26816 / 14495 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
10.08.2013, 23:06 6
Visual Basic
1
2
3
If Me.Recordset.EOF And Me.Recordset.BOF Then
  MsgBox "Зарплата равна нулю!"
Else ...
Дальше, еще идет несоотвествие типа от внедренного макроса. Но это не ко мне. Я с макросами не работаю
3
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
11.08.2013, 15:47  [ТС] 7
Спасибо работает. Я не спец, не могли бы расшифровать суть кода. Ещё раз спасибо!
1
Эксперт MS Access
26816 / 14495 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
11.08.2013, 16:17 8
Свойство EOF - End of File, BOF - Beginning Of File. Когда курсор рекордсета устанавливается перед самой первой записью, возникает BOF, когда после самой последней EOF. Если записей в наборе данных нет вообще, то оба свойства одновременно равны True. Этим и пользуются при проверке набора данных на "пустоту".
Поскольку форма основана на данных таблицы/запроса, то рекордсет у нее есть. Его свойства и проверяем
2
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
11.08.2013, 16:33  [ТС] 9
Спасибо!Теперь более осознанно буду применять.
0
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
11.08.2013, 17:55  [ТС] 10
[ФормаОтчётПоДизайнуОбщий]
Макрос убрал, переписал код, всё работает, но при закрытие формы выдаёт ошибку. Посмотрите пожалуйста код, что не правильно!?
Вложения
Тип файла: rar 77777.rar (519.6 Кб, 14 просмотров)
0
Эксперт MS Access
26816 / 14495 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
11.08.2013, 20:22 11
SG312, я в макросах ничего не понимаю (повторяюсь ), а ошибки идут оттуда. Макрос черный ящик и в отличие от ВБА, отследить в них ошибку очень непросто.
Поэтому, я просто записал в событие формы Ошибка (Error) код, обходящий ошибку
Visual Basic
1
2
3
4
5
Private Sub Form_Error(DataErr As Integer, Response As Integer)
    If DataErr = 3021 Then           'Если ошибка - Текущая запись отсутствует. Ее код (Err.Number)=3021
        Response = acDataErrContinue 'Продолжить выполнение при ошибке
    End If
End Sub
1
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
14.08.2013, 22:01  [ТС] 12
Вы правы по поводу макросов, еще раз помогите пожалуйста с кодом тогда смогу заменить часть макросов. В форме [ФормаОтчётЗарплатаВыплата] всем записям "выплачено" поставить флажок. Ещё раз спасибо за помощь!
Вложения
Тип файла: rar 7777.rar (539.9 Кб, 11 просмотров)
0
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 777
Записей в блоге: 2
14.08.2013, 23:04 13
SG312,
Зачем так называть формы и запросы?
Таблица ВыплатаЗарплаты Для чего?
ЗапросОтчётЗарплатаВыплата Для чего?
----------------------------------------
Может форму назвать Выплата зарплат?
----------------------------------------
Для 14 кнопки
Dim db As DAO.Database
Set db = CurrentDb
db.Execute "UPDATE [Зарплата] SET [Зарплата].[Выплачено] = True;"
1
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
15.08.2013, 17:57  [ТС] 14
Это мой первый опыт в Access, с названиями перемудрил, но мне так проще ориентироваться. По поводу таблицы, смысл в в том что есть различные виды работ которые выполняет сотрудник от стоимости ему начисляется зарплата.Все начисления отражаются в этой таблице, я сделаю форму где будет выводиться сумма начисленного на сотрудника, это и будет зарплата. В запросе я фильтрую не выплаченные начисления. Большое спасибо за помощь. Ёще не большая просьба объясните код. Чтоб понимать как работает.

Добавлено через 29 минут
Прошу прощения форма была не доделанная, в форме фильтрация по выбору сотрудника. и флажки должны выставляться только для отфильтрованных записей. Сейчас всё работает но закрываются все позиции. Еще раз извините сразу не придал этому значения
0
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
15.08.2013, 18:15  [ТС] 15
Вот база
Вложения
Тип файла: rar 888888.rar (535.9 Кб, 12 просмотров)
0
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 777
Записей в блоге: 2
15.08.2013, 19:15 16
SG312,
Тогда делаем другой запрос.

Private Sub Кнопка14_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE [Зарплата] INNER JOIN [Сотрудники] ON [Зарплата].[Сотрудник] = [Сотрудники].[КодСотрудника] SET [Зарплата].[Выплачено] = True WHERE [Сотрудники].[КодСотрудника]= Forms![ФормаОтчётЗарплатаВыплата].[ВыборСотрудникаЗарплВыпл];"
DoCmd.SetWarnings True
Me.Requery
End Sub
1
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
15.08.2013, 19:22  [ТС] 17
Спасибо! То что нужно, Если можно немного пояснений для начинающих, как работает
0
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 777
Записей в блоге: 2
15.08.2013, 19:38 18
SG312,
Dim db As DAO.Database ' объявляем переменную
Set db = CurrentDb ' переменной присваиваем объект Currentdb

DoCmd.SetWarnings False/True ' отключить/включить сообщения

Это команды выполнения запросов.
1. DoCmd.OpenQuery "Запрос1"
2. DoCmd.RunSQL "UPDATE ..."
3. CurrentDb.Execute ("Запрос1")
2
15.08.2013, 19:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2013, 19:38
Помогаю со студенческими работами здесь

Создать два файла целых чисел, первый содержит значения дней, а второй — значения месяцев
File67. Дан строковый файл, содержащий даты в формате «день/месяц/год», причем под день и месяц...

Создать два файла целых чисел, первый содержит значения месяцев, а второй значения лет
Помогите пжл с задачкой Дан строковый файл, содержащий даты в формате «день/месяц/год», Создать...

Создать два файла целых чисел, первый из которых содержит значения дней, а второй — значения месяцев
File67°. Дан строковый файл, содержащий даты в формате «день/месяц/год», причем под день и месяц...

Содержит ли строка правильное скобочное выражение
Дана строка символов. Определить является ли она правильным скобочным выражением. Рассматриваются...


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

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

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