Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не работает экспорт с CopyFromRecordset / 7 сообщений из 7, страница 1 из 1
27.07.2017, 11:34
    #39495854
Leprotto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает экспорт с CopyFromRecordset
Всем привет!
Пытаюсь освоить экспорт с использованием CopyFromRecordset (нужно экспортировать в конкретное место файла эксель).
В сети нашел код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Public Function exportListPrescripts()
  Dim objExcel As Excel.Workbook
  Set objExcel = workbooks.Add
  Dim objSheet As Excel.Worksheet
  Set objSheet = objExcel.Worksheets.Add()
  
  Dim rec As Recordset
  Set rec = CurrentDb.OpenRecordset("select * from qExportListPrescripts")
  
  objSheet.Range("A2").copyfromrecordset rec
  
  Dim sPath As String
  sPath = CurrentDb.Path
  
  Dim sFilename_full As String
  sFilename_full = sPath & "\Отчет"
  'On Error Resume Next
  objExcel.Close saveChanges:=True, FileName:=sFilename_full
  
  Set objExcel = Nothing
  Shell "excel.exe " & sFilename_full & ".xlsx"
  
End Function


Ругается на первую строчку: User-defined type not defined.
Подозреваю, что из-за отсутствия в библиотеке Microsoft Excel 15.0 Object Library.
Подскажите, пожалуйста не грамотному, что делать? ...учитывая дальнейшее использование БД не только мной, но другими лицами на других компьютерах
...
Рейтинг: 0 / 0
27.07.2017, 12:06
    #39495896
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает экспорт с CopyFromRecordset
LeprottoПодскажите, пожалуйста не грамотному, что делать? позднее связывание
...
Рейтинг: 0 / 0
27.07.2017, 12:11
    #39495901
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает экспорт с CopyFromRecordset
+ более конкретно - CreateObject("Excel.Application")
...
Рейтинг: 0 / 0
27.07.2017, 12:27
    #39495914
Не работает экспорт с CopyFromRecordset
Странно, что этот код работал у кого-то, т.к. нет главного - создания объекта Excel.Application.
А вообще, то, о чем вы спрашиваете называется "позднее связывание".
Т.е. все специфические объектные переменные (например Excel.Worksheet) объявляются как вариант, все специфические константы заменяются их значениями или своими константами (можно одноименными), вызов объекта выполняется методом CreateObject или GetObject.
В этом случае подключение библиотеки не требуется, И ЭТО ПРАВИЛЬНО.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim ExlApp As Variant 'Excel.Application
Dim objExcel As Variant 'Excel.Workbook
Dim objSheet As Variant 'Excel.Worksheet

Set ExlApp = CreateObject("Excel.Application")
  ExlApp.Visible = True
Set objExcel = ExlApp.Workbooks.Add
Set objSheet = objExcel.Worksheets(1)
...
...
Рейтинг: 0 / 0
27.07.2017, 12:39
    #39495929
Leprotto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает экспорт с CopyFromRecordset
Панург, спасибо конечно, но как среди сотен тем из поиска найти понимание?((...в очень ограниченное время
Я сам не могу поправить код :-(
...
Рейтинг: 0 / 0
27.07.2017, 14:01
    #39496012
Leprotto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает экспорт с CopyFromRecordset
Анатолий ( Киев ), Спасибо большое!!!
...
Рейтинг: 0 / 0
27.07.2017, 14:52
    #39496056
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает экспорт с CopyFromRecordset
Кстати, переменные для объектов лучше объявлять как Object, а не Variant, будет достаточно проверки на Nothing. У Variant еще и возможность значения Empty добавляется.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не работает экспорт с CopyFromRecordset / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]