Разработка системы автоматизации для малого коммерческого предприятия, работающего в сфере информаци...

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



xt 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(ДатаSt