<< Пред.           стр. 10 (из 12)           След. >>

Список литературы по разделу

 labelEnd:
  Forms![Просмотр]![ОсновныеСчета].Form![ВнесениеВАО] = True
 
 
  If flagБольше = True Then
  Set rst = dbs.OpenRecordset("КредитАванс")
  rst.AddNew
  rst.[КодЗаказчика] = Forms![Просмотр]![КодЗаказчика]
  rst![+или-] = Разница
  rst![КодСистемы] = Код
  rst![Месяц] = Дата
  rst.Update
  rst.Close
  End If
 
 Exit_Кнопка347_Click:
 
 DoCmd.OpenTable "АвансовыйОтчет"
 
 dbs.Close
 
 Exit Sub
 
 Err_Кнопка347_Click:
  If Err.Number = 94 Then
  MsgBox ("Задайте дату платежки")
  Exit Sub
  End If
  If Err.Number = 3021 Then
  DoCmd.OpenForm "Месяц2", , , , , acDialog
  ДатаTMP3 = "01." & Forms![Месяц2]![Месяц] & "." & Forms![Месяц2]![Год]
  ДатаПМС = Format(ДатаTMP3, "m yy")
  flagГолоеСопр = True
  'ДатаTMP3 = Forms![Месяц2]![Месяц]
  'ДатаПМС = Format(ДатаTMP3, "m yy")
  Resume Дата
  End If
  If Err.Number = 424 Then
  Resume labelEnd
  End If
  If Err.Number = 2113 Then
  Resume labelBegin
  End If
 
  ' Вначале, вычитаем константу, добавленную объектом, чтобы получить
  ' собственный код ошибки объекта.
  MyError = Err.Number - vbObjectError
  ' Если после вычитания константы vbObjectError число по-прежнему
  ' попадает в диапазон 0 - 65535, то ошибка определена в объекте.
  If MyError > 0 And MyError < 65535 Then
  Msg = "Адресуемый объект присвоил ошибке следующий код : " _
  & MyError & ". Источником ошибки является: " _
  & Err.Source & ". Нажмите клавишу F1 для вывода справки."
 
  ' В противном случае ошибке соответствует код ошибки Visual Basic.
  Else
  Msg = "Эта ошибка (# " & Err.Number & ") имеет код ошибки Visual" & _
  " Basic. Для вывода раздела справки Visual Basic нажмите" & _
  " кнопку 'Справка' или клавишу F1."
  End If
  MsgBox Msg, , "Ошибка объекта", Err.HelpFile, Err.HelpContext
  Err.Number = 0
  Resume Exit_Кнопка347_Click
 
 ДатаОпределение:
  strSQLДата = "SELECT DISTINCTROW ДанныеДляАвансОтчета.КодЗаказчика, ДанныеДляАвансОтчета.КодСчета, ДанныеДляАвансОтчета.КодСистемы, ДанныеДляАвансОтчета.КоличествоМС, Max(АвансовыйОтчет.Месяц) AS Max_Месяц FROM [ДанныеДляАвансОтчета] INNER JOIN [АвансовыйОтчет] ON ДанныеДляАвансОтчета.Код = АвансовыйОтчет.ИдентКод GROUP BY ДанныеДляАвансОтчета.КодЗаказчика, ДанныеДляАвансОтчета.КодСчета, ДанныеДляАвансОтчета.КодСистемы, ДанныеДляАвансОтчета.КоличествоМС HAVING (((ДанныеДляАвансОтчета.КодЗаказчика)=" & Forms![Просмотр]![КодЗаказчика] & ") AND ((ДанныеДляАвансОтчета.КодСистемы)=" & rstПоCчету![КодСистемы] & ") AND ((ДанныеДляАвансОтчета.КоличествоМС)<>0));"
  Set rstПоДате = dbs.OpenRecordset(strSQLДата)
  rstПоДате.MoveLast
  ДатаПМС = rstПоДате![Max_Месяц]
  flagДата = True
  rstПоДате.Close
  GoTo Дата
 End Sub
 
 3) Просмотр информации по счетам и системам выбранного заказчика.
 
 Private Sub Счет_Click()
 Dim rst, rstTMP As Recordset
 Dim dbs As Database
 Dim i, j As Integer
 Dim strSQL As String
 Dim Дата As Date
 
 Set dbs = CurrentDb
 strSQL = "SELECT DISTINCTROW Заказчики.КодЗаказчика, ОсновныеСчета.НомерСчета, ОсновныеСчета.ОплатаСчета, ОсновныеСчета.ДатаСчета, ОсновныеСчета.СрокДействияСчета, Дистрибутивы.КодСистемы, Дистрибутивы.Код, Дистрибутивы.КоличествоМ, Дистрибутивы.Цена, Дистрибутивы.Сопровождение, Дистрибутивы.Скидки, Дистрибутивы.СкидкиС, Дистрибутивы.СпецвупыскИлиНет FROM ([Заказчики] INNER JOIN [ОсновныеСчета] ON Заказчики.КодЗаказчика = ОсновныеСчета.КодЗаказчика) INNER JOIN Дистрибутивы ON ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета WHERE (((Заказчики.КодЗаказчика)=" & Me![КодЗаказчика] & "));"
 Set rst = dbs.OpenRecordset(strSQL)
 Set rstTMP = dbs.OpenRecordset("ИнфоПоСистемамЗаказчика")
 
 Do Until rstTMP.EOF
 rstTMP.Delete
 rstTMP.MoveNext
 Loop
 
 If rst.RecordCount = 0 Then
 MsgBox ("Нет счетов на данную организацию")
 rstTMP.Close
 rst.Close
 dbs.Close
 Me.Refresh
 Exit Sub
 End If
 
 rst.MoveLast
 j = rst.RecordCount
 rst.MoveFirst
 For i = 1 To j
  rstTMP.AddNew
  rstTMP![КодСистемы] = НазваниеСистемы(rst![КодСистемы])
  rstTMP![ПоСчету] = rst![НомерСчета]
  If rst![Код] = 1 Then
  rstTMP![Тип] = "Локальная"
  Else
  rstTMP![Тип] = "Сетевая"
  End If
  rstTMP![ДатаС] = CurrentDateWParam(rst![ДатаСчета])
  rstTMP![Цена] = rst![Цена]
  rstTMP![Сопр] = rst![Сопровождение]
  rstTMP![Скид] = rst![Скидки]
  rstTMP![СкидС] = rst![СкидкиС]
  rstTMP![ДейстПо] = rst![СрокДействияСчета]
  rstTMP![Спец] = rst![СпецвупыскИлиНет]
  rstTMP![Кво] = rst![КоличествоМ]
  rstTMP![Оплата] = rst![ОплатаСчета]
  rst.MoveNext
  rstTMP.Update
 Next i
 
 Me![ИнфоПоОрганСистемы].Form.Visible = -1
 Me![ИнфоПоОрганизSub].Form.Visible = 0
 rstTMP.Close
 rst.Close
 dbs.Close
 Me.Refresh
 
 End Sub
 
 Private Sub Сист_Click()
 On Error GoTo Err_Кнопка6_Click
 Dim rst, rstTMP, rstTMP2 As Recordset
 Dim rstTMP3 As Recordset
 Dim rstTMP4 As Recordset
 Dim rstTMP5 As Recordset
 Dim dbs As Database
 Dim i, j As Integer
 Dim strSQL, strSQLTMP, strSQLTMP3 As String
 Dim strSQLTMP2 As String
 Dim Дата As Date
 
 DoCmd.Hourglass True
 
 Set dbs = CurrentDb
 strSQL = "SELECT DISTINCTROW ДанныеДляАвансОтчета.КодЗаказчика, ДанныеДляАвансОтчета.КодСистемы FROM [ДанныеДляАвансОтчета] WHERE (((ДанныеДляАвансОтчета.КодЗаказчика)=" & Me![КодЗаказчика] & ") AND ((ДанныеДляАвансОтчета.КоличествоМС)<>0));"
 Set rst = dbs.OpenRecordset(strSQL)
 Set rstTMP4 = dbs.OpenRecordset("ИнфоПоСистемамЗаказчика")
 
 
 Do Until rstTMP4.EOF
 rstTMP4.Delete
 rstTMP4.MoveNext
 Loop
 
 If rst.RecordCount = 0 Then
 ' MsgBox ("Не сопровождается")
  rst.Close
  Me![ИнфоПоОрганизSub].Form.Visible = -1
  Me![ИнфоПоОрганСистемы].Form.Visible = 0
  'инфо по 1996 году
  strSQLTMP2 = "SELECT DISTINCTROW АвансПоОстаткамС1996Года.Заказчик, АвансПоОстаткамС1996Года.Месяц, АвансПоОстаткамС1996Года.Сумма FROM АвансПоОстаткамС1996Года WHERE (((АвансПоОстаткамС1996Года.Заказчик)=" & Me![КодЗаказчика] & "));"
  Set rstTMP5 = dbs.OpenRecordset(strSQLTMP2)
  rstTMP4.AddNew
  rstTMP5.MoveFirst
  rstTMP4![Дата1С1996] = CurrentMWParam(rstTMP5![Месяц])
  rstTMP5.MoveLast
  rstTMP4![Дата2С1996] = rstTMP5![Месяц]
  rstTMP5.Close
  rstTMP4.Update
  Me.Refresh
  rstTMP4.Close
  dbs.Close
  DoCmd.Hourglass False
  Exit Sub
 End If
 
 rst.MoveLast
 j = rst.RecordCount
 rst.MoveFirst
 For i = 1 To j
  rstTMP4.AddNew
 
  rstTMP4![КодСистемы] = НазваниеСистемы(rst![КодСистемы])
 
  strSQLTMP = "SELECT DISTINCTROW Заказчики.Организация, ДанныеДляАвансОтчета.КодСистемы, АвансовыйОтчет.Месяц, ДанныеДляАвансОтчета.КоличествоМС, Заказчики.КодЗаказчика, ДанныеДляАвансОтчета.КодСчета, ОсновныеСчета.НомерСчета AS НС, АвансовыйОтчет.ИдентКод, Дистрибутивы.СкидкиС, ОсновныеСчета.ДатаСчета"
  strSQLTMP = strSQLTMP & " FROM (([ОсновныеСчета] INNER JOIN ([Заказчики] INNER JOIN [ДанныеДляАвансОтчета] ON (Заказчики.КодЗаказчика = ДанныеДляАвансОтчета.КодЗаказчика) AND (Заказчики.КодЗаказчика = ДанныеДляАвансОтчета.КодЗаказчика)) ON (Заказчики.КодЗаказчика = ОсновныеСчета.КодЗаказчика) AND (ОсновныеСчета.КодСчета = ДанныеДляАвансОтчета.КодСчета)) INNER JOIN [АвансовыйОтчет] ON ДанныеДляАвансОтчета.Код = АвансовыйОтчет.ИдентКод) INNER JOIN Дистрибутивы ON ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета"
  strSQLTMP = strSQLTMP & " GROUP BY Заказчики.Организация, ДанныеДляАвансОтчета.КодСистемы, АвансовыйОтчет.Месяц, ДанныеДляАвансОтчета.КоличествоМС, Заказчики.КодЗаказчика, ДанныеДляАвансОтчета.КодСчета, ОсновныеСчета.НомерСчета, АвансовыйОтчет.ИдентКод, Дистрибутивы.СкидкиС, ОсновныеСчета.ДатаСчета"
  strSQLTMP = strSQLTMP & " HAVING (((ДанныеДляАвансОтчета.КодСистемы)=" & rst![КодСистемы] & ") AND ((ДанныеДляАвансОтчета.КоличествоМС)<>0) AND ((Заказчики.КодЗаказчика)=" & Me![КодЗаказчика] & "));"
 
  Set rstTMP2 = dbs.OpenRecordset(strSQLTMP)
  Дата = Format(rstTMP2![Месяц], "m yy")
  rstTMP4![ДатаС] = Дата
  rstTMP2.MoveLast
  Дата = Format(rstTMP2![Месяц], "m yy")
  rstTMP4![ДейстПо] = Дата
  rstTMP4![ПоСчету] = rstTMP2![НС]
  rstTMP4![ДатаСчСопр] = CurrentDateWParam(rstTMP2![ДатаСчета])
  rstTMP4![СкидС] = rstTMP2![СкидкиС]
 
  'Запрос по системам
  strSQLTMP = "SELECT DISTINCTROW Заказчики.КодЗаказчика, Заказчики.Организация, ОсновныеСчета.НомерСчета, ОсновныеСчета.ДатаСчета, ОсновныеСчета.ДатаУстановки, Дистрибутивы.КодСистемы, Дистрибутивы.Код, Дистрибутивы.СпецвупыскИлиНет, Дистрибутивы.Скидки, Дистрибутивы.Цена, Дистрибутивы.НомерДистрибутива"
  strSQLTMP = strSQLTMP & " FROM ([Заказчики] INNER JOIN [ОсновныеСчета] ON Заказчики.КодЗаказчика = ОсновныеСчета.КодЗаказчика) INNER JOIN Дистрибутивы ON ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета"
  strSQLTMP = strSQLTMP & " WHERE (((Заказчики.КодЗаказчика)=" & Me![КодЗаказчика] & ") AND ((Дистрибутивы.КодСистемы)=" & rst![КодСистемы] & ") AND ((Дистрибутивы.Цена)<>0));"
  Set rstTMP3 = dbs.OpenRecordset(strSQLTMP)
  rstTMP4![ПоСчетуПок] = rstTMP3![НомерСчета]
  rstTMP4![ДатСчПок] = CurrentDateWParam(rstTMP3![ДатаСчета])
  rstTMP4![Рег] = rstTMP3![НомерДистрибутива]
  rstTMP4![Скид] = rstTMP3![Скидки]
  rstTMP4![Спец] = rstTMP3![СпецвупыскИлиНет]
  If rstTMP3![Код] = 1 Then
  rstTMP4![Тип] = "Локальная"
  Else
  rstTMP4![Тип] = "Сетевая"
  End If
 labelnext:
  strSQLTMP2 = "SELECT DISTINCTROW АвансПоОстаткамС1996Года.Заказчик, АвансПоОстаткамС1996Года.Месяц, АвансПоОстаткамС1996Года.Сумма FROM АвансПоОстаткамС1996Года WHERE (((АвансПоОстаткамС1996Года.Заказчик)=" & Me![КодЗаказчика] & "));"
  Set rstTMP5 = dbs.OpenRecordset(strSQLTMP2)
  If rstTMP5.RecordCount > 0 Then
  rstTMP5.MoveFirst
  rstTMP4![Дата1С1996] = CurrentMWParam(rstTMP5![Месяц])
  rstTMP5.MoveLast
  rstTMP4![Дата2С1996] = CurrentMWParam(rstTMP5![Месяц])
  rstTMP5.Close
  rstTMP4.Update
  rst.MoveNext
  rstTMP2.Close
  rstTMP3.Close
  Else
  rstTMP5.Close
  rstTMP2.Close
  rstTMP3.Close
  End If
 Next i
 
 rstTMP4.Close
 rst.Close
 dbs.Close
 Me.Refresh
 
 Exit_Кнопка6_Click:
 Me.Refresh
 Me![ИнфоПоОрганизSub].Form.Visible = -1
 Me![ИнфоПоОрганСистемы].Form.Visible = 0
 DoCmd.Hourglass False
  Exit Sub
 
 Err_Кнопка6_Click:
  If Err.Number = 3021 Then
  'MsgBox ("Нет данных по этой организации")
  Resume labelnext:
  'Resume Exit_Кнопка6_Click
  'MsgBox Err.Description
  End If
  MsgBox ("Нет данных по этой организации")
  Me![ИнфоПоОрганизSub].Form.Visible = 0
  Me![ИнфоПоОрганСистемы].Form.Visible = 0
  MsgBox Err.Number
  Resume Exit_Кнопка6_Click
 
 
 DoCmd.Hourglass False
 End Sub
 
 
 
 
 
 
 
 
 
 
 
 
 Задание по организационно - экономической части к дипломному проекту.
 
 Тема: "Технико-экономическое обоснование проекта. Расчет сметы затрат и цены на ПП. Оценка конкурентоспособности разработки"
 
 
  1. Календарный график.
 
  В силу того, что данная разработка относится к НИР, которая не является комплексом работ высокой сложности и в ее выполнении не участвуют большое количество исполнителей, в данном случае для реализации работ выбран календарный график.
 
 N п/п Наименование работ Исполнители Длительность работы Сент. окт. ноябрь Декабрь Январь 1 Разработка технического задания Начальник отдела, менеджер
 20 2 Подбор литературы Системный программист, программист
  15 3 Рабочее проектирование Системный программист, программист
  25 4 Отладка и тестирование Системный программист, программист
  55 5 Обобщение и оценка результатов Системный программист, программист, менеджер
 30 6 Сдача темы Начальник отдела, менеджер
  5
 
 
  2. Расчет сметы.

<< Пред.           стр. 10 (из 12)           След. >>

Список литературы по разделу