|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.09.2009, 13:56 | #1 |
Регистрация: 22.09.2009
Сообщений: 8
|
Данные с Access в Excel
Привет, всем!
Подскажите, как отобразить данные с таблицы (можно с запроса) в готовом шаблоне xls формата. Перепробовала все варианты которые выложены в этом форуме, но не получается. Пробовала в таком типе: Public Sub btnSvod(strPathofTmpl As String, strNameofTblQry As String, iRow As Integer, iCol As Integer, iNSH As Integer, vrNofSh As Variant) 'strPathofTmpl - имя вместе с путем файла шаблона 'strNameofTblQry - имя сохраненного запроса 'iRow - начальная строка экспорта в файле шаблона 'iCol - начальныйстолбец экспорта в файле шаблона 'iNSH - номер листа книги в файле шаблона 'vrNofSh - новое имя листа книги шаблона, если null - имя остается старым Dim db As DAO.Database Dim rst As DAO.Recordset Pathname = CurrentProject.Path FNShablon = Pathname + "\FORM3_SHABLON.xls" Dim xlAPP As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim rng As Range Dim vArr() As Variant Set db = CurrentDb() DoCmd.RunMakro "Svod" rst.MoveLast: rst.MoveFirst vArr = rst.GetRows(rst.RecordCount) Dim i As Integer, j As Integer For i = 0 To UBound(vArr, 1) For j = 0 To UBound(vArr, 2) vArr(i, j) = Nz(vArr(i, j), Empty) Next j Next i Set xlAPP = New Excel.Application xlAPP.Visible = True Set xlBook = xlAPP.Workbooks.Open("FNShablon.xls ") Set xlSheet = xlBook.Worksheets("Лист 1") If Not IsNull(vrNofSh) Then xlSheet.Name = CStr(vrNofSh) 'str$(Date) Set rng = xlSheet.Cells(7, TZ) Set rng = rng.Resize(UBound(vArr, 2) + 1, UBound(vArr, 1) + 1) rng.Formula = xlAPP.WorksheetFunction.Transpose(v Arr) rst.Close Set rst = Nothing Set db = Nothing Set rng = Nothing Set xlSheet = Nothing Set xlBook = Nothing Set xlAPP = Nothing End Sub |
23.09.2009, 23:30 | #2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте sahtheey.
позволил себе слегка подкорректировать Ваш код Код:
Евгений. |
24.09.2009, 11:50 | #3 |
Регистрация: 22.09.2009
Сообщений: 8
|
Пасиб,Евгений!
|
25.09.2009, 16:06 | #4 |
Регистрация: 22.09.2009
Сообщений: 8
|
Помогите довести до ума! При нажатии кнопки на меню у меня открывается готовый шаблон xls. Мне теперь остается заполнить его, то есть данные которые лежат в таблице должны перекинутся на лист xls.
Вот эта строка команды не выполняется. xlSheet.Range(sDist).CopyFromRecord set rst ' эта строка "перекладывает" рекордсет на лист Придется через массив вытаскивать? У кого какие варианты????? А код проги такова(xls. открывается, правда пустой лист): Public Sub btnSvod() Dim db As DAO.Database Dim rst As DAO.Recordset Dim PathName As String Dim FNShablon As String Dim sgr, st1 As String Dim i As Long Dim rowNum As Long Set db = CurrentDb Set rst = db.OpenRecordset("select * from Svod_rezult") Set xlapp = New Excel.Application xlapp.Visible = True PathName = CurrentProject.Path FNShablon = PathName + "\FORM4_SHABLON.xls" Set xlwkb = xlapp.Workbooks.Open(FNShablon) Set xlsheet = xlapp.Worksheets("Лист1") xlsheet.Range(sDist).CopyFromRecord set rst If Not Len(vrNofSh) = 0 Then xlsheet.Name = vrNofSh rst.Close: Set rst = Nothing: Set db = Nothing Set xlsheet = Nothing: Set xlBook = Nothing: Set xlapp = Nothing End Sub |
25.09.2009, 19:43 | #5 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте sahtheey.
избавьте код от лишних строк и будьте внимательнее Код:
Евгений. P.S. для удобочитаемости, выкладываемый на странице код заключайте в тэги [соde]... ...[/соde]. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Из Access записать данные в файл Ecxel | roland_12 | Microsoft Office Access | 1 | 09.09.2008 05:51 |
Взять данные из таблицы Access | Inbox | БД в Delphi | 2 | 04.07.2007 13:53 |
Программно читать данные из БД Access | Заяц | Microsoft Office Access | 4 | 10.06.2007 00:46 |
Как вытащить данные из Excel в бд dephi, а потом (после работы с данными) сформировать новый файл excel. | Геля | БД в Delphi | 1 | 10.04.2007 15:11 |