3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
|
|
1 | |
Введённое выражение не содержит значения!10.08.2013, 21:30. Показов 6131. Ответов 17
Метки нет (Все метки)
Подскажите как справиться! В форме вычисляемое поле, в данном случае сумма. В зависимости от значений в этом поле выполняются дальнейшие действия. Когда нет данных, поле не равно нулю, не пустое поле(""), а "Введённое выражение не содержит значения!" Как это написать в коде?
If (Me.СуммаЗаДизайн) = 0 Then MsgBox "Зарплата равна нулю!"
1
|
10.08.2013, 21:30 | |
Ответы с готовыми решениями:
17
Проверить, содержит ли введённое число по крайней мере две одинаковых цифры Как упростить введённое выражение, состоящее из произведений? Верно ли, что введённое число содержит по крайней мере две одинаковых цифры Определить, верно ли, что введённое число содержит две одинаковых цифры, стоящие рядом |
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
|
|
10.08.2013, 22:18 [ТС] | 3 |
[VB]If Nz(Me.СуммаЗаДизайн, 0) = 0 Then MsgBox "Зарплата равна нулю!"
Не помогло, пишет "Введённое выражение не содержит значения!"
1
|
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
|
|
10.08.2013, 22:41 [ТС] | 5 |
В форме [ФормаОтчётПоДизайнуОбщий] При выбранном сотруднике и отсутствие данных, нажать кнопку начислить зарплату
0
|
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
|
|
11.08.2013, 15:47 [ТС] | 7 |
Спасибо работает. Я не спец, не могли бы расшифровать суть кода. Ещё раз спасибо!
1
|
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 |
[ФормаОтчётПоДизайнуОбщий]
Макрос убрал, переписал код, всё работает, но при закрытие формы выдаёт ошибку. Посмотрите пожалуйста код, что не правильно!?
0
|
26816 / 14495 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
11.08.2013, 20:22 | 11 | |||||
SG312, я в макросах ничего не понимаю (повторяюсь ), а ошибки идут оттуда. Макрос черный ящик и в отличие от ВБА, отследить в них ошибку очень непросто.
Поэтому, я просто записал в событие формы Ошибка (Error) код, обходящий ошибку
1
|
3 / 3 / 0
Регистрация: 17.02.2013
Сообщений: 57
|
|
14.08.2013, 22:01 [ТС] | 12 |
Вы правы по поводу макросов, еще раз помогите пожалуйста с кодом тогда смогу заменить часть макросов. В форме [ФормаОтчётЗарплатаВыплата] всем записям "выплачено" поставить флажок. Ещё раз спасибо за помощь!
0
|
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 |
Вот база
0
|
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
|
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 | |
15.08.2013, 19:38 | |
Помогаю со студенческими работами здесь
18
Создать два файла целых чисел, первый содержит значения дней, а второй — значения месяцев Создать два файла целых чисел, первый содержит значения месяцев, а второй значения лет Создать два файла целых чисел, первый из которых содержит значения дней, а второй — значения месяцев Содержит ли строка правильное скобочное выражение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |