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

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

 
  Выводы.
 
  Качество управляемо и может быть повышено. Администратор может выбрать принципы руководства, определив, что является основной целью - своевременная выдача результата, эффективное использование ресурсов или надежное обслуживание. В любом из этих случаев не следует забывать о психологической сложности программ. Как показывает опыт, в случае создания и отладки большого программного комплекса очень важно, чтобы программа каждого из авторов была понятна остальным, что обеспечивает четкую и безболезненную стыковку. К сожалению, приемлемый набор оценок пока еще не разработан. Глубокое теоретическое понимание поведения человека в программировании может привести к разработке более совершенных оценок, но проверить их пригодность следует экспериментально.
 
 
 
 
 
  Список литературы к специальной части.
 
 1. Р.Ахаян и др. "Эффективная работа с СУБД", Санкт-Петербург, "Питер", 1997г.
 2. "Проектирование и разработка систем автоматизации предприятий".
 3. "Database Unleashed", Indianapolis USA, "SAMS Publishing", 1996г.
 4. Боуман Джудит, Эмерсон Сандра, Дарновски Марси. "Практическое руководство по SQL. 3-е издание". Пер с англ. - Киев, Диалектика. 1997.
 5. Дейт, К. "Введение в системы баз данных".-М.:Наука, Диалектика. 1980.
 6. Мартин, Дж. "Организация баз данных в вычислительных системах".-М.:Наука, Диалектика. 1980.
 7. ANSI SQL Standart. The 1992 ISO-ANSI SQL standart is available through ANSI as document X3.135-1992 and through ISO as document ISO/EC 9075:1992.
 8. Кодд, Е.Ф. "Реляционная модель данных". Пер с англ. - Киев, Диалектика. 1996.
 9. Ипстейн, Роберт. "Реляционная производительность: Понимание производительности реляционных баз данных". Пер с англ. - Киев, Диалектика. 1996.
 10. Ross, Ronald G. "Entity Modeling: Techniques and Application". Boston: Database Research Group, Inc. 1995.
 11. Гайн, Крисс. "Введение в SQL" .-М.:Наука, Диалектика. 1980.
 12. Праг, Керри Н. и др. "Секреты Access 97" Пер с англ. - Киев, Диалектика. 1997.
 13. Кент, Вилиам. "Введение в пять нормальных форм в теории реляционных баз данных". Пер с англ. - Киев, Диалектика. 1996.
 14. Ларcон, Брюс. "Руководство по экспертным базам данных". Пер с англ. - Киев, Диалектика. 1996.
 15. Date C.J. "An Introduction to Database Systems" Volume 1, Reading, Mass.: Addison-Wesley Publishing Company, 1989.
 16. Date C.J. "An Introduction to Database Systems" Volume 2, 2-th edition. Reading, Mass.: Addison-Wesley Publishing Company, 1989.
 17. Перкинсон, Р.С. "Анализ данных: Ключ к проектированию баз данных". Пер с англ. - Киев, Диалектика. 1996.
 18. Microsoft Corporation. "Описание Transact-SQL" .-М.:Наука, Диалектика. 1980.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Приложение А
 Листинг программ
 1) Преобразование числового денежного номера в строчное выражение
 Public Function NewNumber(nnn As Double) As String
 Dim numb(21) As String
 Dim numb1(11) As String
 Dim numb2(11) As String
 Dim mil, tus, ed As Long
 Dim sot, des, ed1 As Integer
 Dim strval, strkop As String
 Dim kop As Integer
 
 Dim str1, str2 As String
 Dim numstr As Integer
 
 If (nnn > 999999999) Then
 MsgBox ("Слишком большое число!")
 Exit Function
 End If
 '
 nnn = CDbl(Format(nnn, "Currency"))
 
 If GetStrAfterSign(CStr(nnn) & "0") = "" Then
 NewNumber = "00 копеек"
 Exit Function
 End If
 kop = CInt(Left(GetStrAfterSign(CStr(nnn) & "0"), 2))
 nnn = kop
 
 
 
 
 numb(0) = " один"
 numb(1) = " двe"
 numb(2) = " три"
 numb(3) = " четыре"
 numb(4) = " пять"
 numb(5) = " шесть"
 numb(6) = " семь"
 numb(7) = " восемь"
 numb(8) = " девять"
 numb(9) = " десять"
 numb(10) = " одиннадцать"
 numb(11) = " двенадцать"
 numb(12) = " тринадцать"
 numb(13) = " четырнадцать"
 numb(14) = " пятнадцать"
 numb(15) = " шестнадцать"
 numb(16) = " семнадцать"
 numb(17) = " восемнадцать"
 numb(18) = " девятнадцать"
 
 numb1(0) = " двадцать"
 numb1(1) = " тридцать"
 numb1(2) = " сорок"
 numb1(3) = " пятьдесят"
 numb1(4) = " шестьдесят"
 numb1(5) = " семьдесят"
 numb1(6) = " восемьдесят"
 numb1(7) = " девяносто"
 
 numb2(0) = " сто"
 numb2(1) = " двести"
 numb2(2) = " триста"
 numb2(3) = " четыреста"
 numb2(4) = " пятьсот"
 numb2(5) = " шестьсот"
 numb2(6) = " семьсот"
 numb2(7) = " восемьсот"
 numb2(8) = " девятьсот"
 
 numb(19) = " одна"
 numb(20) = " две"
 
 mil = nnn \ 1000000
 tus = (nnn - mil * 1000000) \ 1000
 ed = nnn - mil * 1000000 - tus * 1000
 
 If (mil <> 0) Then
 sot = mil \ 100
 des = (mil - sot * 100) \ 10
 ed1 = mil - sot * 100 - des * 10
 
 If (sot > 0) Then
 strval = strval & numb2(sot - 1)
 End If
 
 If (des > 0) Then
 If (des = 1) Then
 strval = strval & numb(des * 10 + ed1 - 1) & " миллионов"
 GoTo nex
 Else
 strval = strval & numb1(des - 2)
 End If
 End If
 
 If (ed1 = 0) Then
 strval = strval & " миллионов"
 ElseIf (ed1 = 1) Then
 strval = strval & " один миллион"
 ElseIf (ed1 > 1 And ed1 < 5) Then
 strval = strval & numb(ed1 - 1) & " миллиона"
 Else
 strval = strval & numb(ed1 - 1) & " миллионов"
 End If
 End If
 
 nex:
 
 If (tus <> 0) Then
 
 sot = tus \ 100
 des = (tus - sot * 100) \ 10
 ed1 = tus - sot * 100 - des * 10
 
 If (sot > 0) Then
 strval = strval & numb2(sot - 1)
 End If
 
 If (des > 0) Then
 If (des = 1) Then
 strval = strval & numb(des * 10 + ed1 - 1) & " тысяч"
 GoTo nex1
 Else
 strval = strval & numb1(des - 2)
 End If
 End If
 
 If (ed1 = 0) Then
 strval = strval & " тысяч"
 ElseIf (ed1 = 1) Then
 strval = strval & " одна тысяча"
 ElseIf (ed1 = 2) Then
 strval = strval & " две тысячи"
 ElseIf (ed1 > 2 And ed1 < 5) Then
 strval = strval & numb(ed1 - 1) & " тысячи"
 Else
 strval = strval & numb(ed1 - 1) & " тысяч"
 End If
 End If
 
 nex1:
 
 If (ed <> 0) Then
 sot = ed \ 100
 des = (ed - sot * 100) \ 10
 ed1 = ed - sot * 100 - des * 10
 
 If (sot > 0) Then
 strval = strval & numb2(sot - 1)
 End If
 
 If (des > 0) Then
 If (des = 1) Then
 strval = strval & numb(des * 10 + ed1 - 1) & " копеек"
 GoTo nex2
 Else
 strval = strval & numb1(des - 2)
 End If
 End If
 
 If (ed1 = 0) Then
 strval = strval & " копеек"
 ElseIf (ed1 = 1) Then
 strval = strval & " одна копейка"
 ElseIf (ed1 > 1 And ed1 < 5) Then
 strval = strval & numb(ed1 - 1) & " копейки"
 Else
 strval = strval & numb(ed1 - 1) & " копеек"
 End If
 Else
 strval = strval & " копеек"
 End If
 
 nex2:
 strval = LTrim(strval)
 NewNumber = strval
 End Function
 
 
 
 2) Занесение денежных средств по счету на авансовый остаток.
 Sub Кнопка347_Click()
 On Error GoTo Err_Кнопка347_Click
 
 Dim dbs As Database
 Dim rst, rstПоCчету, rstПоАО As Recordset
 Dim rstПоДате As Recordset
 Dim strSQL As String
 Dim i, j As Integer
 Dim Цена, ЦенаП, Сопровождение, Сумма As Double
 Dim Дата As Date
 Dim ДатаTMP As Date
 Dim ДатаПМС As Date
 Dim ДатаTMP2 As Date
 Dim ДАТАПМП As Date
 Dim flagДата As Boolean
 Dim flagБольше As Boolean
 Dim flagГолоеСопр As Boolean
 Dim Разница As Currency
 Dim sing As String
 'Dim ЦенаП_Р, Сумма_Р As Currency
 
 
 flagБольше = False
 Set dbs = CurrentDb
 Me.Refresh
 
 sing = Chr(34)
 
 Set dbs = CurrentDb
 strSQL = "SELECT DISTINCTROW ОсновныеСчета.НомерСчета, Дистрибутивы.Цена AS Цена, Дистрибутивы.Сопровождение AS Сопровождение FROM [ОсновныеСчета] INNER JOIN Дистрибутивы ON ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета WHERE (((ОсновныеСчета.НомерСчета)=" & sing & Forms![Просмотр]![ОсновныеСчета].Form![НомерСчета] & sing & "));"
 Set rst = dbs.OpenRecordset(strSQL)
 
 
 
 If Forms![Просмотр]![ОсновныеСчета].Form![ВнесениеВАО] = True And Разница = 0 Then
  Msg = "Суммы по счету уже внесены в авансовый отчет." ' Сообщение.
 
  Style = vbOKCancel + vbQuestion ' Кнопки.
  Title = "Сообщение" ' Заголовок.
  Response = MsgBox(Msg, Style, Title) ' Выводит сообщение.
  If Response = vbOK Then ' Если нажата кнопка "Да" (Yes).
  GoTo labelBegin
  Else
  Exit Sub
  End If
 End If
 
 labelBegin:
 
 Цена = 0
 Сопровождение = 0
 rst.MoveLast
 j = rst.RecordCount
 rst.MoveFirst
 For i = 1 To j
 Цена = rst![Цена] * 1.2 + Цена
 Сопровождение = rst![Сопровождение] * 1.2 + Сопровождение
 rst.MoveNext
 Next i
 Сумма = Цена + Сопровождение
 Forms![Просмотр]![ОсновныеСчета].Form![ПоСчету] = Сумма
 rst.Close
 
 strSQL = "SELECT DISTINCTROW ОсновныеСчета.НомерСчета, Платежки.СуммаПрихода As Цена, Платежки.ДатаВыписки As Дата FROM [ОсновныеСчета] INNER JOIN Платежки ON ОсновныеСчета.КодСчета = Платежки.КодСчета WHERE (((ОсновныеСчета.НомерСчета)=" & sing & Forms![Просмотр]![ОсновныеСчета].Form![НомерСчета] & sing & "));"
 Set rst = dbs.OpenRecordset(strSQL)

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

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