|
|
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11select Recno() as Row, mod(Recno(), 10) as Low, int(Recno() / 10) as High from t1 order by 2, 3 having Low != 0 and mod(High, 30) = 0 and High < 150 В этом коде как можно продолжит программы, чтобы остальные нужные записи тоже можно было получить? 10 310 910 610 1210 ….. Очень срочно нужен помогите, пожалуйста, Я же уже написал как 10 и прочее получить. Вот твои три таблицы: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2006, 14:45 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Только опять повторы получается, например, 1 301 .... и в 1-м таблице и в 3-м таблице встречается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2006, 15:41 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Для ускорения выборки следует все поля по которым идет фильтрация предварительно проиндексировать, но устанавливать на него set order to вовсе необязательно, ускорение будет в разы быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 22:25 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Я только выяснил, что у меня тоже повторы есть. Чтобы повторы не было я должен в цикле for i =1 to 100 k=i+300 j=i+600 s=i+900 y=i+1200 z=i+100 x=i+400 c=i+700 v=i+1000 u=i+1300 f=i+200 g=i+500 h=i+800 t=i+1100 o=i+1400 …….. endf второй раз for i =1501 to 100 ,,,,, endf записать и т. д. или еще 1 (вложенный) for поставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 11:17 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
DimaT, еще вопрос: У меня в исходным таблице 1000000 записи, но запрос дает мне только в каждом таблице 1495 записи. А все остальные записи как выбрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 11:30 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Вот мои 3 таблицы, который в каждом 500 (?!) записи и без повтора (исрользуя запросы DimaT): select Recno() as Row, mod(Recno(), 300) as Low, int(Recno() / 300) as High from t1 order by 2, 3 having Low != 0 and High < 5 and low<=100 select Recno() as Row, mod(Recno(), 300) as Low, int(Recno() / 300) as High from t1 order by 2, 3 having Low != 0 and High < 5 and low>100 and low<=200 select Recno() as Row, mod(Recno(), 300) as Low, int(Recno() / 300) as High from t1 order by 2, 3 having Low != 0 and High < 5 and low>200 and low<=300 Меня сейчас интересует остальные записи (в исходным таблице больще 1000000 записи) как получат? Помогите, пожалуйста, а то у меня ни как не получатся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 15:58 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Или я так обяснияю что ни кто не понимаеть меня, или не хочет помочь мне. Я так думаю что, это не очень трудная задяча для программистов ( я всего 3 месяц работаю с foxpro) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 09:20 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Или я так обяснияю что ни кто не понимаеть меня Боюсь, что именно так. По крайней мере я ничего не понял из того, что же тебе нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 09:26 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Попробую объяснить. Есть исходная таблица (T1.DBF- записи больше 1000000), здесь поле N -номер записи (recno()). Хочу получать конечную таблицу (CAP.DBF) Использую программы CAP.PRG. Получаю 3 таблицы, потом обяденияю эти 3 таблицы с помощи запроса. Получается CAP.DBF. Здесь поле N_A,N_B,N_C - тоже самый N в таблице T1.dbf. ВОПРОС: 1.Программа (CAP.PRG) очень долго работает, хочу ускорить работы программы. 2.Если продолжить программы (i>100) в T1.DBF повторы получается. Здесь повторы не должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 10:27 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11Или я так обяснияю что ни кто не понимаеть меня, или не хочет помочь мне. Я так думаю что, это не очень трудная задяча для программистов ( я всего 3 месяц работаю с foxpro) Вообще-то, я уже объяснил (и не только я), но реакция оказалась неадекватная. Вместо того, чтобы попытаться понять как именно работает приведенный пример кода либо вообще никакой реакции не следует, либо следует заявления, что код работает неправильно. Задача действительно не сложная, но кто ее должен решать? Если это нужно Вам, то Вы и решайте. Здесь Вам дали несколько возможных вариантов решения. Доводить их "до ума" - это уже исключительно Ваша задача. Никто за Вас ее решать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 10:51 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
ВладимирМПравда, здесь предполагается, что количество записей в основной таблице кратно 300. Т.е. если в ней, например, всего 400 записей, то по 5 записей с шагом 300 никак не получится. Да ,несколько варианты предлогали. VladimirM, в Вашем варианте вот это проблемы я ни как не мог решать, у меня записи меняется, сегодня 1200000 может быть, завтра 1333333 и т. д. Вариант Dima T: Очень быстро работает, но здесь тоже не могу получать записи recno()>1500, тоесть повторы получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 11:24 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Что эта функция делаеть: != Я в help ничего не нащел об этом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:06 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11Что эта функция делаеть: != Я в help ничего не нашел об этом? В ANSI она заменяется на <> (не равно) С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:11 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11... Меня сейчас интересует остальные записи (в исходным таблице больще 1000000 записи) как получат? Помогите, пожалуйста, а то у меня ни как не получатся. 1. Про проверку орфографии в word`е я уже тебе говорил. 2. Никто похоже не в состоянии понять смысл того, чем ты занимаешься. Сложно давать советы непонимая какого результата хочет достичь человек. Ты тут просишь помочь тебе решить какую-то задачу, и не удосуживаешься описать полностью, то чем ты занимаешься. Ты сам для себя решил, что ты все моменты решения твоей задачи знаешь, кроме построение этого хитрого списка. Если обратил внимание на другие посты, то люди задавая вопрос, описывают что делают, что сделали и что не получается. Вполне реально что тебе предложат другое решение всей проблемы без использования твоего хитрого алгоритма сортировки записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 14:22 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
DimaT, я не хорошо знаю русский язык, поетому не сильно ругайте меня за это. Моя задача только в том что, построить этого хитрого списка. А потом буду получать report из этой базы. В каждом странице reporta должна 15 запись поместиться: 5 строка и 3 столбец . 1-я страница отчета: 1 101 201 301 401 501 601 701 801 901 1001 1101 1201 1301 1401 2-я страница отчета: 2 102 202 302 402 502 602 702 802 902 1002 1102 1202 1302 1402 Потом 1-й 100 страницы этого отчета положить друг на друга и будить резать бумаги и на 1-м стопке получим подрядные номера: 1, 2, 3,……100 101,102,103,…..200 201, 202, 203 ,….300 301,302,303,…….400 401, 402, 403, ….. 500 ………………………. 1401, 1402, 1403, ….1500 Вот мой результать, который я хочут достичь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 15:08 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11я не хорошо знаю русский язык, поетому не сильно ругайте меня за это. fuad11А потом буду получать report из этой базы. В каждом странице reporta должна 15 запись поместиться: 5 строка и 3 столбец . А чем тебя не устраивает стандартное разбиение отчета на столбцы фоксом? В отчете меню File -> Page Setup Ставишь columns: 3 spacing - расстояние между колонками Это то что тебе надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 16:39 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Похоже не это. Не дочитал до конца. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 16:43 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Стандартное разбиение отчета - это не то, что мне надо. Потому что у меня исходная таблица вот по такому порядку идет (по recno()) 1 2 3 4 5 ... ... 1000000 А в reporte мне нужен по такому порядку: 1-я страница отчета: 1 , 101, 201 301, 401, 501 601, 701, 801 901, 1001, 1101 1201, 1301, 1401 2-я страница отчета: 2, 102, 202 302, 402, 502 602, 702, 802 902, 1002, 1102 1202, 1302, 1402 Поетому, хочу сначало переобразовать таблицы в удобные формы для отчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 16:52 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11Потом 1-й 100 страницы этого отчета положить друг на друга и будить резать бумаги и на 1-м стопке получим подрядные номера: 1, 2, 3,……100 101,102,103,…..200 201, 202, 203 ,….300 301,302,303,…….400 401, 402, 403, ….. 500 ………………………. 1401, 1402, 1403, ….1500 Вот мой результать, который я хочут достичь . Но в таком случае у тебя заранее задано: 15 элементов на листе и 100 листов. всего 1500 будет вырезано 15 стопок по 100 листов. 1501 в твою схему не укладывается, т.к. он должен быть 16 элементом (стопкой) а у тебя их 15 на лист входит. Как я понял, перед разрезанием 100 листов отделяется и режется? Потом следующие 100? А не проще из большой таблицы снача взять 1500 записей, напечатать отчет, потом следующие 1500 и т.д.? Хотя и это можно обсчитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 16:55 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Dima T Но в таком случае у тебя заранее задано: 15 элементов на листе и 100 листов. всего 1500 будет вырезано 15 стопок по 100 листов. 1501 в твою схему не укладывается, т.к. он должен быть 16 элементом (стопкой) а у тебя их 15 на лист входит. Как я понял, перед разрезанием 100 листов отделяется и режется? Потом следующие 100? DimaT, да, именнно так. 1501 в мою схему не укладывается, эти будеть уже 16-я стопка Еще 15 стопок от 1501 до 3000 и т. д. Вот именно эта часть не могу понять как делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 17:11 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
По месту расположения номер записи вычисляется следующим образом: Номер записи = ((Стопка * 5 + Строка) * 3 + Столбец) * 100 + Лист + 1 Где Стопка, Строка, Столбец, Лист нумеруются от 0 + 1 потому что записи в таблице нумеруются с 1 Обратным способом все разбираем и сортируем: Код: plaintext 1. если же надо 3 таблицы то добавь having nStolb = 0 для 1-го столбца, 1 для 2-го и 2 для 3-го ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 17:42 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Спасибо, Dima, сейчас буду посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 17:46 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Dima , у меня результат этого запроса пустую таблицу дают, или я что-то не так делаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 17:52 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Извените, я чего-то перепутал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 17:53 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11Dima , у меня результат этого запроса пустую таблицу дают, или я что-то не так делаю. Без having должно возращаться столько же записей, сколько в исходной таблице. Проверь может из пустой таблицы выболку делаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 17:55 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33766678&tid=1591513]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 431ms |

| 0 / 0 |
