|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.05.2009, 01:59 | #1 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 16
|
Цикл в ADOTable
Создал цикл который должен считать задолжность людей за месяцы,
складывать их и показывать на другой таблице их сумму для каждого человека. Мозг уже кипит)) Вот код помогите найти ошибку. Код:
|
21.05.2009, 06:53 | #2 |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
Не проще ли написать запрос, чем гонять датасет по циклу?
Что-нибудь вроде этого (упрощенно): Код:
|
21.05.2009, 10:56 | #3 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 16
|
Просто с запросами ещё неработал и вся прога уже написанна с адотабле кроме этого момента с циклом.
|
21.05.2009, 11:52 | #4 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
Vitalik55, стоит подумать над предложением, edgy
представь, что у тебя в этой табличке уже не 100 строчек как у тебя на тесте, а под 100 000 в бою! во-первых, сама табличка лопнет столько данных принимать и отображать, а уж редактировать так ваще устрелится, а уж по циклам гонять и еще "веселее" будет. но если ты так прям горишь желанием поработать с таблами, то, наверное, у тебя много лишних данных считается и итоги набегают, и данные наверняка присваются не те ты же считаешь долг по данным табл. adotable1 для контрагента из табл. form3.ADOTable1 Код:
Последний раз редактировалось soleil@mmc; 21.05.2009 в 12:04. |
21.05.2009, 21:17 | #5 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 16
|
Прога чета ругается на EXIT и вопрос зачем он нужен.
А если его убрать то ругается на while ADOTable1: Dataset not in edit or insert mode |
21.05.2009, 22:24 | #6 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
это я обозначил момент выхода из процедуры, который возможно и нужно переписать, выбрав нормальное условие (есть над чем тебе поработать)
а здесь неясно про какой датасет речь - про первый или про второй если про второй, то так допиши Код:
|
22.05.2009, 00:25 | #7 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 16
|
Немного поковырял код получилось это
Код:
|
22.05.2009, 01:17 | #8 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
в суть глубоко не лазила, просто подправлю твой же код
Код:
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
|
22.05.2009, 11:39 | #9 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
скл-запросом точно "дешевле" будет это проделать
form3.AdoTable1.RecordCount * form1.adotable1.RecordCount переборов по табл. form1.adotable1 - это просто до фига надеюсь, ты не забудешь отключить контролы перед таким перебором твой вариант (с обработкой всех строк в таблице) можно ускорить если немного выправить мой вариант и реализовать его в виде функи по крайней мере, не нужно будет листать почти всю таблицу, чтобы встать на нужную запись (Locate рулит) Последний раз редактировалось soleil@mmc; 22.05.2009 в 11:41. |
22.05.2009, 11:46 | #10 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
действительно, почему бы автору не послушать советы от edgy и soleil@mmc, заодно научишься работать с запросами (чем сэкономишь уйму времени и сил), а если у тебя все на ADOTable, так ты запрос назови также, ведь почти все функции у них схожи, а основная разница, грубо говоря, в том что у запроса вместо свойства TableName, есть свойство SQL, где пишешь собственно запрос, например
Код:
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
Последний раз редактировалось koma_grusha; 22.05.2009 в 12:23. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
AdoTable | Artruman | БД в Delphi | 4 | 03.04.2009 02:07 |
AdoTable | Mishina | БД в Delphi | 2 | 15.06.2008 06:35 |
Как копировать данные из ADOTable в ADOTable? | mauar | БД в Delphi | 1 | 10.05.2008 16:05 |
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) | Mr.User | Помощь студентам | 9 | 23.11.2007 01:34 |