Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2011, 17:51   #1
Aleksey1989
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 127
По умолчанию Какая-то непонятная ошибка

Добрый день. Помогите разобраться: пытаюсь заполнить шаблон worda данными из таблицы, выделяю строку в таблице, нажимаю кнопку запуска подготовки отчета, отчет готов. Если второй раз повторить все эти же действия, то будет почти все идеально, кроме того, что в конце номер договора меняется. В ней я проверяю наличие записи в другой таблице, соответствующей записи этой таблицы. В таблице, в проверяемой таблице этой записи нет. Вот код:
Код:
Label3.Caption:=String(DM.ADODocOhrana.FieldValues['Номер договора']);
  DM.ADOProtokolRazn.First;
  Label4.Caption:=String(DM.ADODocOhrana.FieldValues['Номер договора']);
  for i:=0 to (DM.ADOProtokolRazn.RecordCount-1) do
  begin
   Label2.Caption:=String(DM.ADODocOhrana.FieldValues['Номер договора']);
   if DM.ADOProtokolRazn.FieldValues['Вид договора']='Договор на оказание охранных услуг' then
   if DM.ADOProtokolRazn.FieldValues['Номер договора']=DM.ADODocOhrana.FieldValues['Номер договора'] then
    begin
    Label1.Caption:=String(DM.ADODocOhrana.FieldValues['Номер договора']);
    FindAndReplace('qwe','Договор действителен с учетом протокола разногласий от'+String(DM.ADOProtokolRazn.FieldValues['Дата написания протокола']));
    end;
    DM.ADOProtokolRazn.Next;
  end;
Здесь я расставил Лэйблы, чтобы узнать, где меняется номер договора. И выиснилось, что он меняется в Label4. Причем при первом запуске он не меняется. При последующих он меняется начиная с Label4.

Как это можно объяснить?
Aleksey1989 вне форума Ответить с цитированием
Старый 06.06.2011, 18:23   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

надо смотреть проект...
Возможно (подчёркиваю, возможно!) что ADODocOhrana каким-то образом связана с ADOProtokolRazn
поэтому, когда меняется позиция в ADOProtokolRazn
то меняется и запись в ADODocOhrana
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2011, 18:52   #3
Aleksey1989
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 127
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
надо смотреть проект...
Возможно (подчёркиваю, возможно!) что ADODocOhrana каким-то образом связана с ADOProtokolRazn
поэтому, когда меняется позиция в ADOProtokolRazn
то меняется и запись в ADODocOhrana
ADODocOhrana и ADOProtokolRazn никак не связаны. А если бы они были связаны, то при первом бы запуске появлялась бы эта ошибка. Проблему то я решил, просто до того места в коде, где все нормально, номер договора присвоил строковой переменной. Но все таки интересно, что не так?
Aleksey1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непонятная ошибка Mikuro Помощь студентам 0 12.11.2010 20:49
непонятная ошибка какая-то... vedro-compota Помощь студентам 1 15.05.2010 13:57
(СИ)непонятная ошибка. RZMTZM Помощь студентам 7 04.02.2010 02:49
непонятная ошибка Bat{CMD}_Men Общие вопросы Delphi 3 13.01.2010 17:54
Непонятная ошибка Juri Помощь студентам 6 07.11.2008 19:28