| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Перебор полей и записей БД |
| Автор: mmik 14.4.2009, 10:39 | ||
Помогите разобраться, пожалуйста. Что не работает: Либо выдается сообщение что еще кто-то юзает эту БД, либо что БД не в режимах insert/edit ( если убрать комментарий внутри цикла ошибка не выдается, но не понятно почему т.к. перед циклом есть edit). Если не вставлять новую запись, то все прекрасно заменяется, значит дело только в том, что запись новая. |
| Автор: Данкинг 14.4.2009, 11:08 |
Значит, её кто-то юзает. Зачем .Edit на 12-й строке? Как раз логичнее было бы оставить его в цикле (на 21-й строке), да и .Post делать в том же цикле. |
| Автор: pavelv 14.4.2009, 11:52 | ||
| Не спец, но не понял: 1) С помощью Table2.Last ты встаешь на ту запись которую вставил? Лишнее имхо и так должна находится на той которой только, что Post прошёл. 2) Если не хочешь постоянно делать Table2.Edit напиши:
Там же можно глянуть как часто она туда заходит и после какого поля. Если из идей думаю дело именно в table2.prior и table2.next, бегаешь по записям вот она и сбрасывает режим редактирования. |
| Автор: mmik 14.4.2009, 11:53 | ||||
| Edit и Post - уже поставлены в цикле. Работает почему-то только один раз. Это все по нажатию кнопки происходит. Т.е. после превого нажатия - сработало, а потом - нет. Добавлено через 4 минуты и 13 секунд
Просто причину ошибки не могу найти вот так и делаю, хотя тоже думаю, что должно находиться на ней Добавлено через 6 минут и 26 секунд
С этим уже стало понятно, они как post действуют. Поэтому потом опять надо edit. Но почему только один раз? |
| Автор: Данкинг 14.4.2009, 14:48 |
Насколько я помню, если значением .Next будет .EOF, то .Post 'а не произойдёт на эту последнюю запись. |
| Автор: pavelv 15.4.2009, 06:27 | ||
| Только один раз говоришь? Бред конечно, но поставь перед циклом:
Это бред конечно и так писать нельзя, уж лучше в цикле всё оставить. Но для эксперимента можно |