Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

экспорт из IBQuery в Excel   Найти похожие ветки 

 
merko$ ©   (2007-03-05 09:02) [0]

Уважаемые Мастера, поднимаю опять старую тему т.к. с вопросом не разобрался. Подскажите пожалуйста как правильно сделать цикл, чтоб результат запроса IBQuery экспортировался весь в Excel, (т.е. все записи), а не только первая запись?
Заранее благодарю!

Пробовал сделать так но не получается
var
i:integer;
begin
with IBQuery1 do while not Eof do  
ExcelWorksheet1.Cells.Item[2+i,3].Value:=fOtRem.IBQuery1.FieldValues["DATA_REM"];
Next; Inc(i);


 
ЮЮ ©   (2007-03-05 09:24) [1]

Что именно не получается? Нормально оформит код? Избавиться от сообщений компилятора, обнаруживших кучу "логических" ошибок? Понять почему всё зависло? Или что ещё?


 
merko$ ©   (2007-03-05 09:32) [2]

Если я пишу
ExcelWorksheet1.Cells.Item[2+i,3].Value:=fOtRem.IBQuery1.FieldValues["DATA_REM"];
то выводится текущая запись.
А мне нужно чтобы вываливались все записи из IBQuery в Excel, но ниже приведенный код не работает.
var
i:integer;
begin
with IBQuery1 do while not Eof do  
ExcelWorksheet1.Cells.Item[2+i,3].Value:=fOtRem.IBQuery1.FieldValues["DATA_REM"];
Next; Inc(i);


 
ЮЮ ©   (2007-03-05 09:39) [3]

у тебя вообще нет ни выхода из цикла, не перемещения по датасету:

with IBQuery1 do
 while not Eof do begin
   ExcelWorksheet1.Cells.Item[2+i,3].Value:=fOtRem.IBQuery1.FieldValues["DATA_REM"];
   Next;
   Inc(i);
 end;


 
merko$ ©   (2007-03-05 09:54) [4]

Все равно не работает. Открывается Excel и виснет и Excel и приложение


 
merko$ ©   (2007-03-05 09:57) [5]

Delphi пишет:
[Warning] Unit16.pas(259): Variable "i" might not have been initialized


 
ЮЮ ©   (2007-03-05 10:06) [6]

Все равно не работает. Открывается Excel и виснет и Excel и приложение
Именно так должно было вести себя приложение с твоим кодом, а говоришь - работало :)

Delphi пишет:
[Warning] Unit16.pas(259): Variable "i" might not have been initialized

И я о том же - Delphi пишет, а ты не реагируешь. Следует установить начальное значение перед использованием.

Приведи свой код целиком. И с заголовеом метода (процедуры)


 
merko$ ©   (2007-03-05 10:09) [7]

procedure TfOtRem.Button2Click(Sender: TObject);
var
FileName:OleVariant;
i:integer;
begin
with IBQuery1 do
while not Eof do begin
  ExcelWorksheet1.Cells.Item[2+i,3].Value:=fOtRem.IBQuery1.FieldValues["DATA_REM"];
  Next;
  Inc(i);
end;

FileName:=OpenDialog1.FileName;
ExcelApplication1.Connect;
if ExcelApplication1.Workbooks.Count=0 then
ExcelApplication1.Workbooks.Add(FileName,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.ActiveSheet as ExcelWorkSheet);
ExcelApplication1.Visible[0]:=true;

ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelApplication1.Disconnect;
end;

end.


 
ЮЮ ©   (2007-03-05 10:38) [8]

Это, похоже, вопрос не по БД, а по серверу Excel. (боюсь, что и безо всякого вывода из БД должно всё повиснуть с таким количеством ConnectTo/ConnectTo :). Сорри, здесь я не спец и этим не пользуюсь.


 
merko$ ©   (2007-03-05 10:46) [9]

Но если я таким же образом вывожу данные из IBTable, то все работает


 
Krants   (2007-03-05 13:04) [10]

Почему ConnectTo, Disconnect?, а где стандартные Create, Close?
И как может экспорт происходить еще не в созданный файл?


 
YurikGL ©   (2007-03-05 20:00) [11]

Пример экспорта в Excel через OLE, XML, ADO и CVS.
http://kladovka.net.ru/index.cgi?pid=board&rid=363



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.046 c
15-1176982455
Real
2007-04-19 15:34
2007.05.20
Кодировка...


3-1172922633
---SerG---
2007-03-03 14:50
2007.05.20
Инсталятор для баз данных


2-1177605694
Alral
2007-04-26 20:41
2007.05.20
TMEMO и String


2-1177686183
..::KraN::..
2007-04-27 19:03
2007.05.20
Неправильное отображение страницы в TWebBrowser


2-1177396233
cj
2007-04-24 10:30
2007.05.20
TreminateProcess





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский