|
#1
|
|||
|
|||
БД 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; Где что не так? |
#2
|
|||
|
|||
Вопрос снят. Поторопился. Сидел смотрел на код минут 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
|
|||
|
|||
Дабы не создавать новой темы.
Есть форма с компонентами db, все данные обрабатываются нормально помимо одного DBCombobox. Необходимо записать в БД два значения, решил организовать через boolean. Как указать, чтобы из DBCombobox брались не строки, а ItemIndex? По крайней мере при добавлении этого параметра выдает ошибку, что "Выбранная надпись не boolean" Последний раз редактировалось MotoArhangel, 15.05.2014 в 11:09. |
#4
|
||||
|
||||
А вы пробовали явно привести к Boolean?
Код:
Boolean(ADOQuery1.FieldByName('State').Value) Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
MotoArhangel (15.05.2014)
|
#5
|
|||
|
|||
Спасибо. Нашел ошибку.
|