Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.05.2014, 22:58
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию БД Access

Не могу считать некоторые данные из БД для дальнейшего занесения в Word.
Вот с этой частью базы работаю:
http://www.delphisources.ru/forum/at...d=140009331 4

Добавляю в MS WORD:
Код:
   //Нормально заменяет строки в WORD'е $$$Group$$$ и $$$Course$$$ на данные из таблицы
   Group:=DM.FindStudentInfo(DM.qStudents.Fields[0].AsInteger, 3);
   FindAndReplace('$$$Group$$$', Group);
   Course:=DM.FindStudentInfo(DM.qStudents.Fields[0].AsInteger, 6);
   FindAndReplace('$$$Course$$$', Course);

   //Оставляет без замены
   DateBegin:=DM.FindStudentInfo(DM.qStudents.Fields[0].AsInteger,10);
   FindAndReplace('$$$DateBegin$$$', DateBegin);
   DateEnd:=DM.FindStudentInfo(DM.qStudents.Fields[0].AsInteger, 11);
   FindAndReplace('$$$DateEnd$$$', DateEnd);

Сам поиск.
Код:
function TDM.FindStudentInfo(ID: integer; N: integer): string;
var LookupRes: Variant; Gr: string;
begin
   if not tStudents.Active then tStudents.Open;
   LookupRes := tStudents.Lookup ('IDStudent', ID, 'Surname;Name;Patronymic;Group;State');
   if not VarIsNull(LookupRes) then
   begin
      if N>4 then
      begin
         Gr:=VarToStr(LookupRes[3]);
         if not tGroups.Active then tGroups.Open;
         LookupRes := tGroups.Lookup ('Group', Gr, 'Speciality;Course;Form;DateBegin;DateEnd');
         if not VarIsNull(LookupRes) then result:=VarToStr(LookupRes[N-5])
         else result:='';
         if (N=5) and (result<>'') then
         begin
            Gr:=result;
            if not tSpeciality.Active then tSpeciality.Open;
            LookupRes := tSpeciality.Lookup ('Code', Gr, 'Speciality;Base');
            if not VarIsNull(LookupRes) then result:=gr+' '+VarToStr(LookupRes[0])
            else result:=Gr;
         end;
      end
      else result:=VarToStr(LookupRes[N]);
   end
   else result:='';
end;

Где что не так?
Изображения
Тип файла: bmp 2014-05-15_1-47-12.bmp (215.6 Кбайт, 9 просмотров)
Ответить с цитированием
  #2  
Старый 14.05.2014, 23:05
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию

Вопрос снят. Поторопился. Сидел смотрел на код минут 15.
Пока не написал на форум, не нашел ошибку
Код:
   
   DateBegin:=DM.FindStudentInfo(DM.qStudents.Fields[0].AsInteger,8);
   FindAndReplace('$$$DateBegin$$$', DateBegin);
   DateEnd:=DM.FindStudentInfo(DM.qStudents.Fields[0].AsInteger, 9);
   FindAndReplace('$$$DateEnd$$$', DateEnd);
Ответить с цитированием
  #3  
Старый 15.05.2014, 11:07
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию

Дабы не создавать новой темы.

Есть форма с компонентами db, все данные обрабатываются нормально помимо одного DBCombobox.
Необходимо записать в БД два значения, решил организовать через boolean.

Как указать, чтобы из DBCombobox брались не строки, а ItemIndex? По крайней мере при добавлении этого параметра выдает ошибку, что "Выбранная надпись не boolean"

Последний раз редактировалось MotoArhangel, 15.05.2014 в 11:09.
Ответить с цитированием
  #4  
Старый 15.05.2014, 11:48
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А вы пробовали явно привести к Boolean?
Код:
Boolean(ADOQuery1.FieldByName('State').Value)
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
MotoArhangel (15.05.2014)
  #5  
Старый 15.05.2014, 13:45
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию

Спасибо. Нашел ошибку.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:26.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter