Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
imini
Зарегистрирован: 28.09.2006 Сообщения: 1
|
Добавлено: Чт Сен 28 2006 22:26 Заголовок сообщения: Вопрос по Delphi 7 |
|
|
Господа программисты Delphi 7 помогиге, пожалуйста, Новичку разобраться с вычисляемыми полями (таблиц БД Paradox 7) типа InternalCalc (вычисляемые м сохраняемые в наборе данных).
Как создать такое поле, где описать формулы для его вычисления.
Пользуюсь DBGrid.
Новичок. |
|
Вернуться к началу |
|
|
kocherman
Зарегистрирован: 06.01.2006 Сообщения: 88 Откуда: Обнинск
|
Добавлено: Сб Сен 30 2006 14:18 Заголовок сообщения: |
|
|
Читай книги...
Дело не в DBGrid...
DBGrid только отображает информацию...
Table - вынимает информацию, а некоторые (например, ADOTable требуют нужный драйвер)
DataSource - связывают информацию из Table с визуальными компонентами, работающими с базой данных (такие как DBGrid, DBEdit, DBLabel и др.)
Читай... в книгах все написано...
А если появляются трудности, то задавай вопрос правильно... с передачей сути задачи и самой проблемы... |
|
Вернуться к началу |
|
|
kocherman
Зарегистрирован: 06.01.2006 Сообщения: 88 Откуда: Обнинск
|
Добавлено: Сб Сен 30 2006 14:43 Заголовок сообщения: |
|
|
а на самом деле напишу какой-нибудь пример тебе по решению задачи с вычислением каких нибудь полей:
1. Создаем таблицу в database desktop с названием tab1 и двумя полями:
poleA тип поля N (Numeric)
poleB тип поля N (Numeric)
2. Создаем новый проект, ставим на форму 3 компонента:
TTable, TDataSource, TDBGrid.
3. Связываем DataSource1 c Table1 по полю DataSet, затем DBGrid1 связываем с DataSource1 по полю DataSource. А Table1 связываем с таблицей, которую мы создали.
4. Нажимаем двойной клик на иконку Table1, появится маленькое окошечко... там нажимаем сверху на иконку Add all fields. Появится 2 поля: poleA и poleB.
5. Потом нажимаем правой кнопкой мыши на окошечко, выбираем New Field. Появится окошко Пишем имя поля poleC, выбираем тип поля Integer. Выбираем из радиобоксов Calculated. Нажимаем на OK.
6. Потом в Event-сах Table1 выбираем OnCalcFields, делаем двойной клик справа от надписи OnCalcFields.
7. Появится редактор кода, в который мы пишем:
Код: | procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
Table1.FieldByName('PoleC').Value := Table1.FieldByName('PoleA').AsInteger + Table1.FieldByName('PoleB').AsInteger;
end; |
8. Компилируем программу и тестируем... в Grid должно было быть 3 поля poleA, poleB, poleC. Вводишь числа в первые 2 поля... появляется их сумма в третьем...
p.s.
писал по памяти... могут быть ошибки... будут проблемы - пиши... |
|
Вернуться к началу |
|
|
|