![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
копирование из БД 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?