|
|
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Мне из одну очень большую таблицу (t1) надо получить 3 разные таблицу Получанные таблицы по такому принципу должно упрядочоватся. Эти цифры показываеть nомер записи (recno()). 1-я таблица: 1 301 601 901 1201 2 302 602 902 1202 3 303 603 903 1203 .... 2-я таблица: 101 401 701 1001 1301 102 402 702 1002 1302 3 403 703 1003 1303 .... 3-я таблица: 201 501 801 1101 1401 202 502 802 1102 1402 203 503 803 1103 1403 ... Использую такой код(cap.prg). Но очень долго идеть обработка. Подскажите пожалуста, как можно ускорить работы этого программы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 16:26 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 16:36 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
На примере одной таблицы. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Остальные формируются и заполняются аналогично. Надо только менять начальное и конечное значение m.lnI в цикле BigTable - это твоя исходная таблица ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 16:49 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Да очень быстро работаеть, но результат не так как нужен У Вас (1-я таблица) 1 30 601 901 1201 1501 1801 2101 2401 2701 3001 3301 3601 4201 Надо: 1 301 601 901 1201 2 302 602 902 1202 3 303 603 903 1203 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 16:50 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11Да очень быстро работаеть, но результат не так как нужен Это кому адресовано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 16:55 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Если это мне и для первой таблицы надо брать записи с номером не более 1500, то добавь это условие в WHERE Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 17:00 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Предедущий пост я адресовал к PaulWist. ВладимирМ, если добавить WHERE MOD(Recno(),300)=m.lnI AND Recno()<=1500 1-я таблица закончивается в recno()=1499. Если в исходным таблице у меня 1000000 записей, тогда как будеть осталные часть 1-й таблицы? После 1499 (299 599 899 1199 1499) таблица так должна продолжатся: 300 600 900 1200 1500 301 601 901 1201 1501 ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 07:40 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Ну ты тестовый код запускал? Где там 1-30, там сразу 1-301. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 09:14 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
PaulWist, я не понял Вас. Где у Вас 1-30: CREATE CURSOR test (ID i) FOR i = 1 TO 1000 INSERT INTO test (id) VALUES (i) endfor SELECT * FROM test WHERE MOD(id - 1,300) = 0 SELECT * FROM test WHERE MOD(id - 2,300) = 0 SELECT * FROM test WHERE MOD(id - 3,300) = 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 09:41 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Ты бы сначала задачу четко сформулировал, тогда бы и сам может ускорил бы. Как я понимаю из исходных данных: 1. сортировать сначала по младшей цифре номера записи, а затем по всем остальным 2. выбирать записи у которых младшая цифра не равна нулю и старшие с шагом 30 начиная с 0, 10 и 20 соответственно. Поправь если я не так понял. select Recno() as Row, mod(Recno(), 10) as Low, int(Recno() / 10) as High, ... from bsname order by 2, 3 having Low != 0 and mod(High, 30) = 0 select Recno() as Row, mod(Recno(), 10) as Low, int(Recno() / 10) as High, ... from bsname order by 2, 3 having Low != 0 and mod(High, 30) = 10 select Recno() as Row, mod(Recno(), 10) as Low, int(Recno() / 10) as High, ... from bsname order by 2, 3 having Low != 0 and mod(High, 30) = 20 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 09:51 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Мне из одну очень большую таблицу надо получить 3 разные таблицу В 1-м таблице : 1-я 5 запис должна начинать с 1 (шаг=300) 1 301 601 901 1201 2-я 5 запис должна начинать с 2 (шаг=300) 2 302 602 902 1202 3-я 5 запис должна начинать с 2 (шаг=300) 3 303 603 903 1203 ..... 2-я таблица : 1-я 5 запис должна начинать с 101 (шаг=300) 101 401 701 1001 1301 2-я 5 запис должна начинать с 102 (шаг=300) 102 402 702 1002 1302 3-я 5 запис должна начинать с 103 (шаг=300) 103 403 703 1003 1303 ..... 3-я таблица: 1-я 5 запис должна начинать с 201 (шаг=300) 201 501 801 1101 1401 ..... ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 10:08 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Шаг 300 для всего номера строки или 30 для старших цифр. Запускать то пробовал ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 10:17 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Шаг 300 для каждый 5 записей , 1 301 601 901 1201 Это 1-й 5 запис. 2-я 5-ка: 2 302 602 902 1202 Тоесть , для 2-й 5-ку шаг тоже 300, но должно начинать с 2. 3-я 5-ка должно начинать с 3, шаг тоже 300 и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 10:32 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
А по моему запросу что получилось? Разве не так? А если тебе только по 5 первых записей надо. то Код: plaintext 1. 1 301 601 901 1201 2 302 602 902 1202 3 303 603 903 1203 4 304 604 904 1204 5 305 605 905 1205 6 306 606 906 1206 7 307 607 907 1207 8 308 608 908 1208 9 309 609 909 1209 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 10:48 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Мог бы и сам догадаться, что делать дальше. Если у тебя на каждом шаге ВСЕГДА отбирается только 5 записей, то и ставь соответствующее условие SELECT TOP 5 Однако по твоему описанию, итоговая таблица будет содержать дубли. Ведь значение 301 будет взято на первом шаге и потом будет повторено, когда перейдем рубеж в 300 итераций. Но если очень надо, то делай вложенные циклы Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Правда, здесь предполагается, что количество записей в основной таблице кратно 300. Т.е. если в ней, например, всего 400 записей, то по 5 записей с шагом 300 никак не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 10:59 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
DimaT, то что надо если добавить .and High < 150 Только здесь как Вы показали в 1-м таблице получается только 45 записей Последная 5-ка: 9 309 609 909 1209. А остольные как выбрать , вот это незнаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 11:11 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11А остольные как выбрать , вот это незнаю. Какие остальные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 11:34 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Нет, повтора не должна быть. Вот мой код каторый я использую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 11:44 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
DimaT, последная 5-ка: 9 309 609 909 1209. После это 5-ку таблица так должна продолжатся: 10 310 610 910 1210 11 311 611 911 1211 и т.д. А остольные как выбрать , вот это незнаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 11:49 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11Нет, повтора не должна быть. Вот мой код каторый я использую Какая повтора? Где повтора? Повтора полей исходной таблицы? Допиши имена полей в ", ... from" вместо "..." через запятую. Запускай word и делай проверку синтаксиса своих постов перед их отправкой. А то мы с тобой на разных русских языках говорим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 12:12 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
fuad11... После это 5-ку таблица так должна продолжатся: 10 310 610 910 1210 ... Если в конечной выборке должны быть все записи кроме 300, 600, 900, 1200 то: Код: plaintext Очень интересно для чего такая выборка нужна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 12:51 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Dima T, насчет повтора я не к Вам, это я Владимиру хотел сказать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 12:53 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Это для отчета нужен . Исходная таблица 1 и большая. 1 2 3 … 301 302 …. … 1000000 Просто я потом из 3 таблицу буду получать 1 таблица (для отчета) Конечня таблица (или отчет) так должна выглядить: 1 101 201 301 401 501 601 701 801 901 1001 1101 1201 1301 1401 2 102 202 302 402 502 602 702 802 902 1002 1102 1202 1302 1402 ………………………………. ………………………………. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 13:12 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
select 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 ….. Очень срочно нужен помогите, пожалуйста, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 15:47 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#18+
Вот создал такой код: ********************** use ta zap for i=0 to 100 select 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) = i and High < 150; into table ta1 clos data use ta appe from ta1 endf ********************** *t1- исходная таблица. 1. Считает больше записи, НО , не получается считать 5-ку , начинающим такие цифрами как 10,20,30,40,..... 2.Здесь считается и 5-ку , начинающи такие цифрами как 101,401,701,1001,1301,..... 201,501,801,1101,1401,…. Эти записи должно участвовать 2-м и 3-м таблице Как можно решать и эти проблемы? Дело в том что, мой 1-код (cap.prg) все правильно считает (все 3 таблицы), олько очень долго работаеть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2006, 09:08 |
|
||
|
как можно ускорить работы программы?
|
|||
|---|---|---|---|
|
#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?all=1&fid=41&tid=1591513]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 478ms |

| 0 / 0 |
