Sub pLoadFromDB()
    Dim sA1, sA2, sA, sB, s, sC As String
    Dim i As Integer
    
    sA1 = InputBox("Введите адрес сервера Firebird", , shtSettings.Range("fb_host").Value)
    If sA1 <> "" Then shtSettings.Range("fb_host").Value = sA1
    sA2 = InputBox("Введите путь к файлу базы Firebird ('.FDB')", , shtSettings.Range("db_path").Value)
    If sA2 <> "" Then shtSettings.Range("db_path").Value = sA2
    sA = sA1 + ":" + sA2

    'статус
    frmStatus.l1 = "[" + sA + "] "
    sC = ThisWorkbook.FullName
    frmStatus.l2 = "[" + sC + "] "
    
    sB = shtSettings.Range("fbclient").Value
    If sB <> "" Then shtSettings.Range("fbclient").Value = sB
    
    'собираем строку для соединения
    s = shtSettings.Range("conn_str1").Value + sA + _
        shtSettings.Range("conn_str2").Value + sB + _
        shtSettings.Range("conn_str3").Value
    
     cn.C
    cn.Open
    
    bOK = False
    bOKt = False
    
    'показываем форму выбора даты
    frmSelectDate.Show
    'показываем форму ввода числа часов работы агрегатов
    frmSetTimes.Show
    
    'если пользователь в диалогах нажал OK (а не закрыл крестиком)
    If bOK And bOKt Then
        frmStatus.Repaint
        Sleep 200
        
        'записываем время в ячейки таблицы
        Лист1.Range("tau_раб_ПТ").Value = mytime1
        Лист1.Range("tau_раб_Т1").Value = mytime2
        Лист1.Range("tau_раб_Т2").Value = mytime3
        
     time_c mydate1, mydate2)
    'shtSettings.Range("B19").Value = time_cond1
    
        'создаем и настраиваем Recordset
        Dim rs As New ADODB.Recordset
        rs.CursorType = adOpenKeyset
        rs.LockType = adLockOptimistic

        rs.Open "select sum( turbine.electrical_load ) from turbine where ( (date_reg >= '" + mydate1 + "')
                                                                       and (date_reg <= '" + mydate2 + "')
                                                                            and (kod_turbine = '7') )", cn
        Лист1.Range("Э_пт_ПТ").Value = Round(rs.Fields(0).Value, 3)
        rs.Close
        frmStatus.l1 = "[" + sA + "] > [turbine.electrical_load]"
        frmStatus.l2 = "[" + sC + "] > [Лист1] > [Э_пт_ПТ]"
        frmStatus.Repaint
        Sleep 200
        
    End If
    'MsgBox "Готово! Нажмите ОК", , "Статус"
    'закрываем Connection
    cn.Close

Add a code snippet to your website: www.paste.org