Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Импорт итоговых полей из Access в Excel


Автор: Aline 25.4.2013, 13:05
Из Excel работаю с базой данных Access. Делаю запрос, по одному из полей идет итог (суммируется время работы), как этот итог вывести потом в ячейку?

В этом коде возникает ошибка, в строке: sec = !Sum(Work.TimeWork) 

Код

Public Sub LoadAll()
    Dim s, ss As String
    Dim i As Integer
    Dim sec As Long
    
    Dim s1, s2, s3 As String
         
     
    s1 = "DateWork, NCh, NameChanal, Reason4stop, Sw_ON, Sw_Battery, Sum(Work.TimeWork) AS [Sum - TimeWork], Ubort, UAKB"
    s2 = "Chanals INNER JOIN [Work] ON Chanals.[ID] = Work.[Chanal]"
    s3 = "Work.DateWork, Chanals.NCh, Chanals.NameChanal, Work.Reason4stop, Work.Sw_ON, Work.Sw_Battery, Work.Ubort, Work.UAKB;"
    s = "SELECT " & s1 & " FROM " & s2 & " GROUP BY " & s3 & ""
        
    q.Sql = s
    Set rs = q.OpenRecordset
    
    ColCount = rs.Fields.Count
    
    i = 19
        
    With rs
        Do While Not .EOF
            Cells(i, 1).Value = !NCh
            Cells(i, 2).Value = !NameChanal
            Cells(i, 3).Value = !Ubort
            Cells(i, 4).Value = !UAKB
            Cells(i, 5).Value = !Sw_ON
            Cells(i, 6).Value = !Sw_Battery
            
            sec = !Sum(Work.TimeWork)
            
            Cells(i, 10).Value = SecondToTime(sec)
            i = i + 1
            
            .MoveNext
        Loop
    End With
End Sub


Добавлено через 10 минут и 21 секунду
Проблему решила так
Код

sec = rs.Fields(6)
            
Cells(i, 8).Value = SecondToTime(sec)


не знаю,насколько правильно,но работает...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)