Экспорт данных

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
AndrewMarcovich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 05.03.2005 (Сб) 10:29

Экспорт данных

Сообщение AndrewMarcovich » 04.05.2005 (Ср) 9:36

При экспорте даных из таблицы dBase5 в SQL Server 2000 выдается ошибка,что мол ключ поиска не найден ни в одной записи. Как это пропустить или ещё какой способ может кто предложит?Заранее благодарю

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 04.05.2005 (Ср) 17:00

А какой именно механизм используется для экспорта данных?

SUPchik
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 51
Зарегистрирован: 15.10.2008 (Ср) 21:46
Откуда: Луховицы

Re: Экспорт данных

Сообщение SUPchik » 18.11.2008 (Вт) 17:07

Есть Adodc и связанный с ним DataGrid. Adodc берет данные из БД Access. Ещё установлен фильтр Adodc.
Каким образом экспортировать данные из DataGrid в таблицу Excel и чтобы при этом появлялось окошко для выбора,где будет создан экспортированный файл?
Нет ни одной надёжной системы безопасности!!!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Экспорт данных

Сообщение iGrok » 18.11.2008 (Вт) 17:37

SUPchik писал(а):Есть Adodc и связанный с ним DataGrid. Adodc берет данные из БД Access. Ещё установлен фильтр Adodc.
Каким образом экспортировать данные из DataGrid в таблицу Excel и чтобы при этом появлялось окошко для выбора,где будет создан экспортированный файл?

М.б. так?
-Открыть Excel.Application.
-Создать workbook, worksheet
-Перебором закинуть на лист всё, что нужно.
-Сохранить workbook.

Можно Adodc.Recordset.GetString(,,";",vbCrLf) и сохранить это в csv-файл. Он экселем откроется..

Есть ещё вариант выкинуть данные в Excel SQL-запросом, но тут будет гемор с преобразованием формата Ado.Filter в Where для SQL.
label:
cli
jmp label

SUPchik
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 51
Зарегистрирован: 15.10.2008 (Ср) 21:46
Откуда: Луховицы

Re: Экспорт данных

Сообщение SUPchik » 18.11.2008 (Вт) 18:29

"-Перебором закинуть на лист всё, что нужно."

А так наверное шапка таблицы не будет копироваться :?:
Нет ни одной надёжной системы безопасности!!!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Экспорт данных

Сообщение iGrok » 18.11.2008 (Вт) 19:06

SUPchik писал(а):"-Перебором закинуть на лист всё, что нужно."

А так наверное шапка таблицы не будет копироваться :?:

Ну так ты закинь на лист сначала шапку в первую строку.

Так - это самый "настраиваемый" вариант. Ты можешь туда пихнуть вообще всё, что хочешь. Хоть ячейки сходу разным цветом выделить..
Остальные методы - чисто копирование данных.
label:
cli
jmp label

SUPchik
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 51
Зарегистрирован: 15.10.2008 (Ср) 21:46
Откуда: Луховицы

Re: Экспорт данных

Сообщение SUPchik » 19.11.2008 (Ср) 21:55

А выбрать все записи возможно только методом перебора? Или есть какое-нибудь свойство?
Нет ни одной надёжной системы безопасности!!!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Экспорт данных

Сообщение iGrok » 19.11.2008 (Ср) 23:49

SUPchik писал(а):А выбрать все записи возможно только методом перебора? Или есть какое-нибудь свойство?

В принципе, можно.. В моём первом посте - второй вариант. (который с GetString).
label:
cli
jmp label

SUPchik
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 51
Зарегистрирован: 15.10.2008 (Ср) 21:46
Откуда: Луховицы

Re: Экспорт данных

Сообщение SUPchik » 20.11.2008 (Чт) 9:53

Нашел такой вариант:
For gf = 1 To Adodc1.Recordset.RecordCount
Adodc1.Recordset.AbsolutePosition = gf
a.Workbooks(1).Worksheets(1).Range("A" & (gf + 1)) = DataGrid1.Columns(2).Value
a.Workbooks(1).Worksheets(1).Range("B" & (gf + 1)) = DataGrid1.Columns(3).Value
a.Workbooks(1).Worksheets(1).Range("C" & (gf + 1)) = DataGrid1.Columns(5).Value
Next gf
Нет ни одной надёжной системы безопасности!!!

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Re: Экспорт данных

Сообщение HandKot » 21.11.2008 (Пт) 8:19

а если попробовать так (сам проверить не могу)?
Код: Выделить всё
Dim rs as Adodb.Recordset

set rs = Adodc1.Recordset
a.Workbooks(1).Worksheets(1).Range("A1").CopyFromRecordset rs
I Have Nine Lives You Have One Only
THINK!

SUPchik
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 51
Зарегистрирован: 15.10.2008 (Ср) 21:46
Откуда: Луховицы

Re: Экспорт данных

Сообщение SUPchik » 22.11.2008 (Сб) 23:05

HandKot,так тоже можно :-) Но у меня в DataGrid два первых столбца скрыты, поэтому я использую предложенный мною вариант.
Нет ни одной надёжной системы безопасности!!!

smitatyana
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 10
Зарегистрирован: 09.01.2009 (Пт) 8:32
Откуда: Алматы

Re: Экспорт данных

Сообщение smitatyana » 09.01.2009 (Пт) 12:48

-Открыть Excel.Application.
-Создать workbook, worksheet
-Перебором закинуть на лист всё, что нужно.
-Сохранить workbook.


а можно по-подробней начинающим людям? Премного благодарна!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Экспорт данных

Сообщение Andrey Fedorov » 12.01.2009 (Пн) 11:33

SUPchik писал(а):HandKot,так тоже можно :-) Но у меня в DataGrid два первых столбца скрыты, поэтому я использую предложенный мною вариант.


И что что скрыты?

Создаешь Recordset, с нужными колонками, заполняешь его тем что нужно и скидываешь используя CopyFromRecordset.
IMHO - самый простой и быстрый способ. Скидывать по одной ячейке дюже долго при большом объеме данных...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 116

    TopList