Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

копирование из БД InterBase в Excel с помощью Delphi [Delphi, Windows]


alfer ©   (2005-07-28 18:21:00) 

Доброе время суток. Есть БД InterBase с большим количеством записей. Необходимо из нее вытащить несколько полей (значения параметров эксперимента) и запихнуть в эксель для просмотра тем, кто не пользуется БД InterBase. Для этого создал файловый источник данных odbc (другие виды  источников данных odbc не воспринимает эксель). Открыл таблицу InterBase в экселе успешно, записал макрос:
With ActiveSheet.QueryTables.Add(Connection:= _
       "ODBC;DRIVER={Easysoft IB6 ODBC UNICODE};UID=sysdba;PWD=masterkey;DB=e:\automation\db_gaz\db_gaz.gdb;" _
       , Destination:=Range("A1"))
       .CommandText = Array("SELECT num, sost FROM ""SOST20_2_07_2005""")
       .Name = "1"
       .FieldNames = True
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .PreserveFormatting = True
       .RefreshOnFileOpen = False
       .BackgroundQuery = True
       .RefreshStyle = xlInsertDeleteCells
       .SavePassword = True
       .SaveData = True
       .AdjustColumnWidth = True
       .RefreshPeriod = 0
       .PreserveColumnInfo = True
       .SourceConnectionFile = "E:\1.dsn"
       .Refresh BackgroundQuery:=False
   End With
После попытался его реализовать в делфи (отрывок):
       E.ActiveWorkbook.Sheets.Item['Данные за '+
       datetostr(DateTimePicker1.Date)].QueryTables.add('ODBC;DRIVER={Easysoft IB6 ODBC UNICODE};UID=sysdba;PWD=masterkey;DB=e:\automation\db_gaz\db_gaz.gdb','A1').CommandText:='SELECT * FROM SOST20_2_07_2005';
Вобщем не работает этот код, ошибка ‘Несовпадение типов’. Подскажите плиз что не так в этом отрывке кода. Спасибо.


RusLAN_   (2005-07-29 23:31:00) [1]

Попробуйте создать переменную типа OLEVariant
присвоить ей нужноэ значение и уже ее передавать в качестве параметра.


alfer   (2005-07-29 22:03:00) [2]

Компилятор просто пишет ошибку без указания типов


RusLAN_   (2005-07-29 21:06:00) [3]

а каких типов OLEVariant и string?


Наверх

Титульная страница Поиск, карта сайта Написать письмо