|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Нужда с вычисляемым полем
Здравствуйте, народ! Нужно, чтобы rabochie из таблицы tabel умножал на Tarifnaya_stavka_v_den из таблицы Doljnost и выводил в k_vidache в таблице Rashchet_ved, пожалуйста, помогите.
Вот, что у меня получилось, но не работает Код:
procedure TDataModule2.ADORaschetnaya_vedomostCalcFields(DataSet: TDataSet); begin ADORaschetnaya_vedomostsumma.Value:= ADODoljnostTarifnaya_stavka_v_den.value*ADOtabelrabochie.Value; end; Последний раз редактировалось M.A.D.M.A.N., 05.05.2015 в 16:49. |
#2
|
||||
|
||||
Дельфи ничего не знает о связях таблиц в акцесе. Если вы не организовали в дельфи аналогичных отношений между таблицами, то и не будет правильно работать. Как альтернативное решение - сделать запрос который эти связи имитирует, но запрос будет довольно монструозный.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
я сделал запрос через ADOQuery, но у меня данные дублируются
Код:
SELECT id_number, rabochie*Tarifnaya_stavka_v_den AS Запрлата FROM doljnost, tabel |
#4
|
|||
|
|||
|
#5
|
||||
|
||||
Ну что-вы, судя по схеме вам для расчета надо 4 таблицы завязать, к тому-же вы не задаете ограничение по текущей записи в Raschetnaya_vedomost, а событие калкфиелд будет вызываться для каждой видимой записи в гриде. Текущая запись как раз и возвращается в DataSet этого события.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
Сделал вот так, но когда пытаюсь сделать active выдаёт ошибку
Код:
SELECT familiya, rabochie*Tarifnaya_stavka_v_den AS Запрлата FROM lich_d,tabel INNER JOIN doljnost ON tabel.id_number=doljnost.id_doljnost INNER JOIN lich_d ON lich_d.id_number=tabel.id_number |
#7
|
||||
|
||||
Так попробуйте:
Код:
SELECT familiya, rabochie*Tarifnaya_stavka_v_den AS Зарплата FROM tabel INNER JOIN doljnost ON tabel.id_number=doljnost.id_doljnost INNER JOIN lich_d ON lich_d.id_number=tabel.id_number where lich_d.id_number=1 Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |