Разработка системы автоматизации для малого коммерческого предприятия работающего в сфере информационных услуг
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: бесплатные рассказы, философские рефераты
| Добавил(а) на сайт: Ельцов.
Предыдущая страница реферата | 34 35 36 37 38 39 40 41 42 43 44 | Следующая страница реферата
rst.MoveLast
Дата = rst![Дата]
j = rst.RecordCount
rst.MoveFirst
For i = 1 To j
ЦенаП = rst![Цена] + ЦенаП
rst.MoveNext
Next i
Forms![Просмотр]![ОсновныеСчета].Form![ПоПлатежке] = ЦенаП
rst.Close
If ЦенаП < Сумма Then
Msg = "Cумма по счету" & Chr(13) & "
- " & Сумма & "р." & Chr(13) & "Cуммы по платежкам " & Chr(13) & "
- " & ЦенаП & "р." & Chr(13) & "Cуммы по платежкам меньше суммы по счета." ' Сообщение.
'Msg = "Cуммы по платежкам меньше суммы по счетам." & Chr(13) &
"Занести в авансовый отчет?" ' Сообщение.
Style = vbCancel + vbCritical ' Кнопки.
Title = "Предупреждение" ' Заголовок.
Response = MsgBox(Msg, Style, Title) ' Выводит сообщение.
Exit Sub
End If
If ЦенаП > Сумма Then
Msg = "Cумма по счету" & Chr(13) & "
- " & Сумма & "р." & Chr(13) & "Cуммы по платежкам " & Chr(13) & "
- " & ЦенаП & "р." & Chr(13) & "Cуммы по платежкам больше суммы по счета." ' Сообщение.
'Msg = "Cуммы по платежкам больше суммы по счета." & Chr(13) &
"Занести в авансовый отчет?" ' Сообщение.
Style = vbOKCancel + vbCritical ' Кнопки.
Title = "Предупреждение" ' Заголовок.
Response = MsgBox(Msg, Style, Title) ' Выводит сообщение.
If Response = vbOK Then ' Если нажата кнопка "Да" (Yes).
flagБольше = True
Разница = ЦенаП - Сумма
GoTo labelOK
Else
Exit Sub
End If
End If
'ЦенаП_Р = ЦенаП
'Сумма_Р = Сумма
Msg = "Cумма по счету" & Chr(13) & "
- " & Сумма & "р." & Chr(13) & "Cуммы по платежкам " & Chr(13) & "
- " & ЦенаП & "р." & Chr(13) & "Суммы совпадают." & Chr(13) & "Занести в авансовый отчет?" ' Сообщение.
Style = vbOKCancel + vbInformation ' Кнопки.
Title = "Сообщение" ' Заголовок.
Response = MsgBox(Msg, Style, Title) ' Выводит сообщение.
If Response = vbOK Then ' Если нажата кнопка "Да" (Yes).
Forms![Просмотр]![ОсновныеСчета].Form![Разница] = 0
GoTo labelOK
Else
Exit Sub
End If
labelOK:
Set rst = dbs.OpenRecordset("ДанныеДляАвансОтчета")
strSQL = "SELECT DISTINCTROW ОсновныеСчета.НомерСчета,
Дистрибутивы.КодСистемы, Дистрибутивы.Цена, Дистрибутивы.ТолькоИПС,
Дистрибутивы.Сопровождение, Дистрибутивы.КоличествоМ,
Дистрибутивы.Количество FROM [ОсновныеСчета] INNER JOIN Дистрибутивы ON
ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета WHERE
(((ОсновныеСчета.НомерСчета)=" & sing &
Forms![Просмотр]![ОсновныеСчета].Form![НомерСчета] & sing & "));"
'"SELECT DISTINCTROW ОсновныеСчета.НомерСчета, Дистрибутивы.КодСистемы,
Дистрибутивы.Цена, Дистрибутивы.Сопровождение, Дистрибутивы.КоличествоМ,
Дистрибутивы.Количество FROM [ОсновныеСчета] INNER JOIN Дистрибутивы ON
ОсновныеСчета.НомерСчета = Дистрибутивы.НомерСчета WHERE
(((ОсновныеСчета.НомерСчета)=" &
Forms![Просмотр]![ОсновныеСчета].Form![НомерСчета] & "));"
Set rstПоCчету = dbs.OpenRecordset(strSQL)
Set rstПоАО = dbs.OpenRecordset("АвансовыйОтчет")
rstПоCчету.MoveLast
j = rstПоCчету.RecordCount
ДатаStore = Дата
Select Case Forms![Просмотр]![ОсновныеСчета].Form![Код]
Case 1, 3
Нал = False
Case 2
Нал = True
End Select
rstПоCчету.MoveFirst
'ОСНОВНОЙ ЦИКЛ
flagДата = False
For i = 1 To j
'Проверка для вторичного ИПС
If rstПоCчету![Цена] = 0 Then
If flagДата = False Then
GoTo ДатаОпределение
End If
Дата = ДатаStore
Set dbs = CurrentDb
strSQLTMP = "SELECT DISTINCTROW ДанныеДляАвансОтчета.Код,
ДанныеДляАвансОтчета.КодЗаказчика, ДанныеДляАвансОтчета.КодСистемы,
ДанныеДляАвансОтчета.КоличествоМС, Max(ДанныеДляАвансОтчета.ДатаПМС) AS
ДатаПМС FROM [ДанныеДляАвансОтчета] GROUP BY ДанныеДляАвансОтчета.Код,
ДанныеДляАвансОтчета.КодЗаказчика, ДанныеДляАвансОтчета.КодСистемы,
ДанныеДляАвансОтчета.КоличествоМС HAVING
(((ДанныеДляАвансОтчета.КодЗаказчика)=" & Forms![Просмотр]![КодЗаказчика] &
") AND ((ДанныеДляАвансОтчета.КодСистемы)=" & rstПоCчету![КодСистемы] & ")
AND ((ДанныеДляАвансОтчета.КоличествоМС)0));"
Set rstTMP2 = dbs.OpenRecordset(strSQLTMP)
If rstTMP2.RecordCount >= 1 Then
GoTo labelЕстьЗаписи
'Else
'MsgBox ("Записей Нет")
Exit Sub
End If
labelЕстьЗаписи:
rstTMP2.MoveLast
rstTMP2.Close
Дата:
ДатаTMP2 = Format(ДатаStore, "m yy")
If flagГолоеСопр = True Then 'Расписать если сопров голое
rst.AddNew
rst![КодЗаказчика] = Forms![Просмотр]![КодЗаказчика]
rst![КодСчета] = Forms![Просмотр]![ОсновныеСчета].Form![КодСчета]
rst![КодСистемы] = rstПоCчету![КодСистемы]
rst![ДатаПМС] = Format(ДатаTMP2, "m yy")
rst![КоличествоМС] = rstПоCчету![КоличествоМ]
rst![Нал] = Нал
Msg = "Заносим сопровождение " &
НазваниеСистемы(rstПоCчету![КодСистемы]) & " на " &
rstПоCчету![КоличествоМ] & " месяцев"
Style = vbOKCancel + vbInformation ' Кнопки.
Title = "Сообщение" ' Заголовок.
MsgBox Msg, Style, Title
rst.Update
rst.MoveLast
m = rstПоCчету![КоличествоМ]
For k = 1 To m
rstПоАО.AddNew
rstПоАО![ИдентКод] = rst![Код]
ЦенаСоп = rstПоCчету![Сопровождение] / m
rstПоАО![Сумма] = ЦенаСоп * 1.2
rstПоАО![Нал] = Нал
ДатаTMP = Format(ДатаПМС, "m yy")
rstПоАО![Месяц] = ДатаTMP
ДатаTMP = ДатаTMP + 32
ДатаПМС = ДатаTMP
rstПоАО.Update
Next k
GoTo labelnext
End If
'Сравнение с месяцем выписки
ДатаTMP2 = CDate(Format(ДатаStore, "m yy"))
If CDate(ДатаTMP2) 0 And MyError < 65535 Then
Msg = "Адресуемый объект присвоил ошибке следующий код : " _
& MyError & ". Источником ошибки является: " _
& Err.Source & ". Нажмите клавишу F1 для вывода справки."
' В противном случае ошибке соответствует код ошибки Visual Basic.
Рекомендуем скачать другие рефераты по теме: сочинения по русскому языку, управление персоналом реферат.
Категории:
Предыдущая страница реферата | 34 35 36 37 38 39 40 41 42 43 44 | Следующая страница реферата