Текущий архив: 2008.11.30;
Скачать: CL | DM;
Вниз
Временная таблица Найти похожие ветки
← →
Beer_Hunter (2008-05-14 02:08) [0]Здравствуйте. Очень надеюсь на вашу помощь!!!!!
Есть БД 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 работать уже с ней, а после цикла удалять её. А вся проблема заключается в том,ч тоя не знаю как создавать локальную временную таблицу. Буду очень признателен, если вы мне поможете.
← →
Loginov Dmitry © (2008-05-14 07:44) [1]> но о-о-чень долго
а где FoxProQuery.Next ?
← →
Beer_Hunter (2008-05-14 10:30) [2]Забыл в коде написать, извиняюсь. В коде все нормально, можете его не проверять, сам не знаю для чего влепил. Мой основной вопрос:
Появилась идея создать временную таблицу, выгрузить внеё одним махом excel файл и в цикле while работать уже с ней, а после цикла удалять её. А вся проблема заключается в том,ч тоя не знаю как создавать локальную временную таблицу. Буду очень признателен, если вы мне поможете.
← →
Beer_Hunter (2008-05-14 10:30) [3]Удалено модератором
← →
Виталий Панасенко(дом) (2008-05-14 10:55) [4]проще все загрузить в ExcelQuery... а потом уже вместо подвыборок делать простой Locate по "Поле1"... я сам так делал один отчет..думал, быстрее. фиг там.. уходили часы(БД удаленная, канал 19200).. потом плюнул смачно, втянул все на клиента и уже по НД мотался... время сократилось до 14-15 минут
Страницы: 1 вся ветка
Текущий архив: 2008.11.30;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.005 c