| Solnishka 
 Newbie
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Люди!
 Помогите пожалуйста кто чем сможет (очень надо - диплом горит).
 В программировании я прям скажем новичок.
 Есть проблема:
 готовую программу на VBA для расчёта амортизации нужно переписать под Excel.
 Я уже бьюсь над ней довольно долго и никак не получается.
 
 
 [more]
 Option Compare Database
 Option Explicit
 Dim dblПервичнаяСтоимость As Double
 Dim dblОстаточнаяСтоимость As Double
 Dim intВремяАмортизации As Integer
 Dim intПериодРасчета As Integer
 Dim intКратность As Integer
 Dim blnПризнак As Boolean
 Dim dblВеличинаАмортизации As Double
 Private Sub Form_Load()
 Поле1.SetFocus
 Поле1.Text = ""
 Поле2.SetFocus
 Поле2.Text = ""
 Поле3.SetFocus
 Поле3.Text = ""
 Поле4.SetFocus
 Поле4.Text = ""
 Поле5.SetFocus
 Поле5.Text = ""
 Поле6.Visible = True
 Поле6.SetFocus
 Поле6.Text = ""
 Переключатель1.Value = True 'Включение стандартного метода расчета
 Переключатель2.Value = False 'Отключение метода расчета с кратностью
 Надпись9.Visible = False 'Скрытие надписи
 Поле1.SetFocus
 Поле6.Visible = False 'Скрытие поля
 End Sub
 
 Private Sub Кнопка1_Click()
 blnПризнак = True
 Поле1.SetFocus
 If Поле1.Text = "" Then blnПризнак = False
 Поле2.SetFocus
 If Поле2.Text = "" Then blnПризнак = False
 Поле3.SetFocus
 If Поле3.Text = "" Then blnПризнак = False
 Поле4.SetFocus
 If Поле4.Text = "" Then blnПризнак = False
 If blnПризнак = False Then
 MsgBox " Недостаточно данных для расчета", vbExclamation, "Амортизация"
 Exit Sub
 End If
 Поле1.SetFocus
 dblПервичнаяСтоимость = CDbl(Поле1.Text)
 Поле2.SetFocus
 dblОстаточнаяСтоимость = CDbl(Поле2.Text)
 Поле3.SetFocus
 intВремяАмортизации = CInt(Поле3.Text)
 Поле4.SetFocus
 intПериодРасчета = CInt(Поле4.Text)
 If dblПервичнаяСтоимость < dblОстаточнаяСтоимость Then
 MsgBox " Ошибка! Остаток больше начальной стоимости!", _
 vbExclamation, "Амортизация"
 Поле1.SetFocus
 Exit Sub
 End If
 If intВремяАмортизации < intПериодРасчета Then
 MsgBox " Ошибка в сроке амортизации!", _
 vbExclamation, "Амортизация"
 Поле3.SetFocus
 Exit Sub
 End If
 If Переключатель1.Value = True Then
 blnПризнак = True
 Else
 blnПризнак = False
 End If
 If blnПризнак = True Then
 dblВеличинаАмортизации = SYD(dblПервичнаяСтоимость, _
 dblОстаточнаяСтоимость, intВремяАмортизации, intПериодРасчета)
 Else
 Поле6.SetFocus
 intКратность = CInt(Поле6.Text)
 dblВеличинаАмортизации = DDB(dblПервичнаяСтоимость, _
 dblОстаточнаяСтоимость, intВремяАмортизации, intПериодРасчета, intКратность)
 End If
 Поле5.SetFocus
 Поле5.Text = CStr(dblВеличинаАмортизации)
 End Sub
 
 Private Sub Кнопка22_Click()
 Dim strFrm As String
 strFrm = "Расчет Амортизации"
 DoCmd.Close acForm, strFrm
 End
 End Sub
 
 Private Sub Переключатель1_Click()
 Переключатель2.Value = False
 Надпись9.Visible = False
 Поле6.Visible = False
 End Sub
 
 Private Sub Переключатель2_Click()
 Переключатель1.Value = False
 Надпись9.Visible = True
 Поле6.Visible = True
 Поле6.SetFocus
 'Поле6.Text = ""
 Поле6.Value = ""
 End Sub
 [/more]
 
 |