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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2011, 20:33   #1
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
Вопрос Открытие MOWord через Delphi 7

Доброго времени суток

Делал простенькую СУБД на Delphi 7
подошел к созданию отчета
и вот с чем столкнулся

сразу кидаю код
Код:
w:=CreateOleObject('Word.Application');
w.documents.add;
myrange:=w.activedocument.range(w.activedocument.range.end-1,w.activedocument.range.end-1);
tab:=w.activedocument.tables.add(range:=myrange, numrows:=ADOTable1.RecordCount+1, numcolumns:=ADOTable1.FieldCount);
tab.columns.item(1).width:=50;
tab.autoformat(format:=10);

myrange:=tab.cell(1,1).range;
myrange.text:='rc';
myrange:=tab.cell(1,2).range;
myrange.text:='city';
myrange:=tab.cell(1,3).range;
myrange.text:='fio';
myrange:=tab.cell(1,4).range;
myrange.text:='years';
myrange:=tab.cell(1,5).range;
myrange.text:='tol';
myrange:=tab.cell(1,6).range;
myrange.text:='type';

ADOTable1.First;
for i:=1 to ADOTable1.RecordCount do
begin
for j:=1 to ADOTable1.FieldCount do
begin
myrange:=tab.cell(i+1,j).range;
  case j of
Далее - вот тут неопределено (выделено красным) :
1:myrange.text:=IntToStr(ADOTable1rc.asinteger);
2:myrange.text:=ADOTable1city.asstring;
3:myrange.text:=ADOTable1fio.asstring;
4:myrange.text:=IntToStr(ADOTable1years.asintger);
5:myrange.text:=IntToStr(ADOTable1tol.asinteger);
6:myrange.text:=ADOTable1type.asstring;
Код:
 end; //case
end; //for j
ADOTable1.Next;
end; // for i
w.visible:=true;
end; //procedure
делал все по учебнику но оно не работает
выдает такую ошибку
[Error] Unit1.pas(184): Undeclared identifier: 'ADOTable1rc'
.........

что я делаю не так подскажите пожалуйста

Последний раз редактировалось mihali4; 13.11.2011 в 20:59.
X@OC вне форума Ответить с цитированием
Старый 13.11.2011, 20:36   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну я так полагаю что это не метод формы(на которой лежат компоненты)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.11.2011, 20:41   #3
hislomax
Новичок
Джуниор
 
Регистрация: 13.11.2011
Сообщений: 2
По умолчанию

Данная ошибка, кажется, означает, что ADOTable1rc не существует
hislomax вне форума Ответить с цитированием
Старый 13.11.2011, 20:44   #4
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

смысл ошибки понимаю
но как от нее избавится
ведь пишу по учебнику и там написано так
X@OC вне форума Ответить с цитированием
Старый 13.11.2011, 20:58   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Поле RC не определено.
Даблклик по компоненту ADOTable1 и добавить все поля...
mihali4 вне форума Ответить с цитированием
Старый 13.11.2011, 21:13   #6
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

не все равно сипит ошибки
вот полный исходник
посмотрите может у кого заработает
Вложения
Тип файла: rar ddb.rar (958.7 Кб, 8 просмотров)

Последний раз редактировалось X@OC; 13.11.2011 в 21:15.
X@OC вне форума Ответить с цитированием
Старый 14.11.2011, 14:11   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Объявлены поля (fileds)
rrc: TAutoIncField;
rcity: TWideStringField;
rfio: TWideStringField;
ryears: TIntegerField;
rtol: TIntegerField;
rtype: TWideStringField;

использованы поля (fields)
Код:
case j of
   1:myrange.text:=IntToStr(ADOTable1rc.asinteger);
   2:myrange.text:=ADOTable1city.asstring;
   3:myrange.text:=ADOTable1fio.asstring;
   4:myrange.text:=IntToStr(ADOTable1years.asintger);
   5:myrange.text:=IntToStr(ADOTable1tol.asinteger);
   6:myrange.text:=ADOTable1type.asstring;
При работе необходимо использовать ранее объявленные имена переменных (полей).
Может - ADOTable1rrc.asinteger ?
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось mihali4; 14.11.2011 в 17:24.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие папок через ListBox medved6216 Помощь студентам 1 30.03.2010 11:44
Открытие формы через пароль segail Microsoft Office Excel 30 12.03.2010 19:51
Открытие через программу xGroupers Общие вопросы Delphi 3 29.03.2008 16:26
Открытие файлов через TreeView Xardas Общие вопросы Delphi 12 29.03.2008 11:30
Открытие документов Microsofrt Common Console через delphi )Игнат( Общие вопросы Delphi 6 24.01.2008 17:09