не работает сохранение записи в БД и выполнение запросов кодом VBA |
On Error GoTo ErrHandle Dim Count As Integer Count = 0 With Me.ЕжТрудоЗатратаОтчета.Form.RecordsetClone .MoveFirst Do Until .EOF If IsNull(![Объект]) Or IsNull(![ВремяНаДокумент]) Then Count = Count + 1 End If .MoveNext Loop End With Me.ЧасовВотчете = Forms![EzhetOtchet]![ЕжТрудоЗатратаОтчета].Form![ИтогЗаДень] ErrHandle: If Count = 0 Then 'If (Count = 0) And ((Поле45 - RepItog) > 0) Then If MsgBox("Вы подтверждаете распределение часов по задачам?", vbYesNo) = vbYes Then If СуммаЗатратЗаДень <= 8 Then If СуммаЗатратЗаДень > 0 Then DoCmd.SetWarnings False DoCmd.OpenQuery "ОбновлениеОстатковВремени", , acEdit DoCmd.OpenQuery "ОбновлениеОстатковЧасов", , acEdit MsgBox "Отчет принят.Спасибо Вам за работу!", vbOKOnly DoCmd.SetWarnings True ТекЗадачи.Requery DoCmd.Close acForm, "EzhetOtchet", acSaveYes Else MsgBox "Превышена длительность рабочего дня. Объем трудозатрат за день не должен превышать 8 часов. Отчет не может быть отправлен", vbOKOnly End If End If End If Else: MsgBox "Отчет заполнен не верно и не может быть отправлен.Проверьте заполнение отчета.Возможны ошибки:превышено допустимое время для распределения трудозатрат в отчете за день;" _ & "не выбраны работы из списка текущих задач;" _ & "введены трудозатраты в пустые строки отчета без выбора работ из списка;" _ & "необходимые работы выбраны из списка,введены в отчет,но по ним не заданы трудозатраты - не заполнено поле ЧасовФакт" MsgBox "Нажмите кнопку ""Исправить ошибки заполнения отчета"",после чего проверьте заполнение отчета в результате исправления и повторите отправку,если считаете,что отчет заполнен корректно.Если некоторые позиции в результате исправления были удалены,повторите ввод данных позиций,соблюдая правила заполнения отчета" Кнопка23.Enabled = False End If End Sub
UPDATE НазначенияСотрудникам INNER JOIN ЕжТрудоЗатрата ON НазначенияСотрудникам.Код = ЕжТрудоЗатрата.Назначение SET НазначенияСотрудникам.КолЧасовФакт = [НазначенияСотрудникам]![КолЧасовФакт]+[ЕжТрудоЗатрата]![ВремяНаДокумент] WHERE (((ЕжТрудоЗатрата.Назначение)=[НазначенияСотрудникам]![Код]) AND ((ЕжТрудоЗатрата.Отчет)=[Forms]![EzhetOtchet]![НомерОтчета]));- увеличивает значение КолЧасовФакт на величину "ВремянаДокумент" из отчета
UPDATE НазначенияСотрудникам INNER JOIN ЕжТрудоЗатрата ON НазначенияСотрудникам.Код = ЕжТрудоЗатрата.Назначение SET НазначенияСотрудникам.ВремяНаДокумент = [НазначенияСотрудникам]![КолЧасовПлан]-[НазначенияСотрудникам]![КолЧасовФакт] WHERE (((ЕжТрудоЗатрата.Назначение)=[НазначенияСотрудникам]![Код]) AND ((ЕжТрудоЗатрата.Отчет)=[Forms]![EzhetOtchet]![НомерОтчета]));- уменьшает поле "ВремяНаДокумент" в таблице на соответствующуювеличину в отчете.
http://www.sql.ru/forum/1132667/ne-rabotaet-sohranenie-zapisi-v-bd-i-vypolnenie-zaprosov-kodom-vba
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |