![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Временная таблица [D7]
Beer_Hunter © (2008-05-14 02:08:00)Здравствуйте. Очень надеюсь на вашу помощь!!!!!
Есть БД FoxPro и excel файл.
// Беру строчку из foxpro и ищу соответствующую ей строку в excel
FoxProQuery.Active:=false;
FoxproQuery.SQl.text:='select Name1,Name2 from "D:\1.dbf"';
FoxProQuery.Active:=true;
while not (FoxProQuery.eof) do
begin
ExcelQuery.Active:=false;
Excel.Query.SQL.TEXT:='select поле1,поле2,поле3 from [Лист1$] where поле1='''+
VarToStr(FoxProQuery.FieldValue['Name1'])+'''';
ExcelQuery.Active:=true;
// здесь если в ExcelQuery что-то есть, то вызываю процедуру
end;
Все работает исправно, но о-о-чень долго. Появилась идея создать временную таблицу, выгрузить внеё одним махом excel файл и в цикле while работать уже с ней, а после цикла удалять её. А вся проблема заключается в том,ч тоя не знаю как создавать локальную временную таблицу. Буду очень признателен, если вы мне поможете.
Виталий Панасенко(дом) (2008-05-14 10:55:00) [1]проще все загрузить в ExcelQuery... а потом уже вместо подвыборок делать простой Locate по "Поле1"... я сам так делал один отчет..думал, быстрее. фиг там.. уходили часы(БД удаленная, канал 19200).. потом плюнул смачно, втянул все на клиента и уже по НД мотался... время сократилось до 14-15 минут
Beer_Hunter (2008-05-14 10:30:00) [2]Забыл в коде написать, извиняюсь. В коде все нормально, можете его не проверять, сам не знаю для чего влепил. Мой основной вопрос:
Появилась идея создать временную таблицу, выгрузить внеё одним махом excel файл и в цикле while работать уже с ней, а после цикла удалять её. А вся проблема заключается в том,ч тоя не знаю как создавать локальную временную таблицу. Буду очень признателен, если вы мне поможете.
Beer_Hunter (2008-05-14 10:30:00) [3]Удалено модератором
Loginov Dmitry (2008-05-14 07:44:00) [4]> но о-о-чень долго
а где FoxProQuery.Next ?