|
|
|
| Помогите пожалуйста, что я делаю не так?
При первом выполнении открывается Excel, запрос экспортируется и далее обращаюсь к ячейкам на Лист1....но при повторном запуске выдает ошибку ...вроде как объкт не найден :(
Private Sub Cmd_Click()
Dim ApExcel As Object
Dim MyRange As Excel.Range
Dim xlSheet As Excel.Worksheet
Set ApExcel = CreateObject("Excel.application")
ApExcel.Visible = True
DoCmd.OutputTo acOutputQuery, "rir_export", acFormatXLS, "c:\Temp\rir.xls", vbMaximizedFocus
ApExcel.Worksheets.Add
With ActiveSheet
ApExcel.ActiveSheet.Cells(1, 1) = "rir"
ApExcel.ActiveSheet.Cells(1, 1).Select
ApExcel.ActiveSheet.Cells(1, 1).HorizontalAlignment = xlCenter
ApExcel.ActiveSheet.Cells(2, 1) = "A1"
ActiveSheet.Cells(3, 1) = "A2"
ActiveSheet.Cells(4, 1) = "A3"
End With
End Sub | |
|
| |
|
|
|
| может есть смысл в конце обработки закрывать объект Эксель? | |
|
| |
|
|
|
| With ApExcel.ActiveSheet
...
ApExcel.ActiveSheet.Cells(3, 1) = "A2"
ApExcel.ActiveSheet.Cells(4, 1) = "A3"
End With | |
|
| |
|
|
|
| спасибо большое! теперь все работает! | |
|
| |
|
|
|
| зачем запрос-то экспортируете? и что вообще хотите сделать? | |
|
| |
|
|
|
| мне нужно расчитать корреляцию заданий теста, там сложная формула...в accesse незнаю как....поэтому и экспортирую в Excel
в запросе есть поля: ключ_А1, ключ_А2, ключ_А3 и т.д., и Ответ_А1, Ответ_А2, Ответ_А3 и т.д
нужно сделать расчет по формуле, я незнаю как сделать это программно
If Ответ_А1= ключ_А1 then (Ответ_А1 - 2)
просуммировать все найденные записи и разделить на их же количество
причем нужно сделать это и со всеми остальными
If Ответ_А2= ключ_А2 then (Ответ_А2 - 2)
If Ответ_А3= ключ_А3 then (Ответ_А3 - 2)
полей типа Ответ_А1 и ключ_А1 по 45, поэтому простым запросом неполучается :( | |
|
| |
|
|
|
| подключите библиотеку Excel в References
и используйте функции эксель из аксесс... | |
|
| |
|
31 Кб. |
|
| Пример на вс. случай | |
|
| |