Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

экспорт из 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
2-1177690564
defiler
2007-04-27 20:16
2007.05.20
Что-то с типами наверное...


15-1176806589
икс-игрик-й
2007-04-17 14:43
2007.05.20
Помогите решить задачки по физике(кто решит отблагодарю)


2-1177772009
SmallEr
2007-04-28 18:53
2007.05.20
Время из секунд к "человеческому" виду.


15-1176974376
Petr V.Abramov
2007-04-19 13:19
2007.05.20
Полет армейской мысли


2-1178219110
Grande
2007-05-03 23:05
2007.05.20
Сообщение Windows о прорисовке.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский