Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 782

/ вопрос открыт /

Здравствуйте, уважаемые эксперты! Как можно сделать что-бы при нажатии на фамлию в Грид1 (там хранится фамилия, имя и отчесто) в Гриде2(Зарплата) отображались данные по фамилии(стаж, оклад и т.д.)

MILAN7 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: MILAN7 (статус: Посетитель)
Вопрос отправлен: 14 мая 2009, 19:40
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 11; последнее сообщение — 19 мая 2009, 16:12; участников в обсуждении: 4.
min@y™

min@y™ (статус: Доктор наук), 15 мая 2009, 08:21 [#1]:

А где хранятся все эти данные?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
MILAN7

MILAN7 (статус: Посетитель), 15 мая 2009, 09:59 [#2]:

В Interbase
min@y™

min@y™ (статус: Доктор наук), 15 мая 2009, 10:14 [#3]:

Ну так и в чём проблема?
При клике на Грид1 берёшь из базы соответствующие даные и отображаешь в Грид2. Что вызывает затруднения?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
MILAN7

MILAN7 (статус: Посетитель), 15 мая 2009, 10:56 [#4]:

Попробовал так, не идёт.
procedure TForm5.DBGrid1CellClick(Column: TColumn);
begin
Query2.Active:=False;
Query2.SQL.Clear;
Query2.SQL.Add('SELECT * FROM Zarplata WHERE Familiya, Name, Father_name = "'+Query1.Fields[1].AsString+'"');
Query2.ExecSQL;
Query2.Active:=True;
end;
min@y™

min@y™ (статус: Доктор наук), 15 мая 2009, 11:29 [#5]:

Ну и где в ентом событии работа с грид2?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Вадим К

Вадим К (статус: Академик), 15 мая 2009, 11:32 [#6]:

Конечно не пойдет, запрос неверный в where части.
Галочка "подтверждения прочтения" - вселенское зло.
MILAN7

MILAN7 (статус: Посетитель), 15 мая 2009, 11:40 [#7]:

А тогда, как лучше написать, подскажите
Вадим К

Вадим К (статус: Академик), 15 мая 2009, 11:51 [#8]:

to min@y™:
А разве не видно, где там второй грид?:)) он скорее всего связан с Query2
to MILAN7
Подсказать? разве что угадать. Данные надо только по фамилии, поэтому запрос должен быть где то вида
'SELECT * FROM Zarplata WHERE Familiya = "'+Query1.Fields[1].AsString+'"'
Если конечно в Query1.Fields[1] храниться фамилия.
Галочка "подтверждения прочтения" - вселенское зло.
min@y™

min@y™ (статус: Доктор наук), 15 мая 2009, 13:08 [#9]:

Цитата:

А разве не видно, где там второй грид?:)) он скорее всего связан с Query2


А я откуда это знать должен? Я ваще не знаю, какого типа компонент Grid2. Телепатией занимаюсь по-тихоньку.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Ozz

Ozz (статус: Посетитель), 16 мая 2009, 11:11 [#10]:

Что-то вообще не догоняю о чем вы тут, разве делается не так?:
Подключаем первый грид к базе Zarplata, в Query в свойство DataSource ставим DataSource подключенный к базе (тобишь к первому гриду), в SQL пишем, что-то типа Select * From Zarplata Where Familiya =: Familiya (главное что-бы у них типы и размеры были одинаковые).
Если же у Вас ФИО и Зарплата хранятся в разных таблицах, то разницы никакой, просто первый грид прицепляем к ФИО а в Query все без изменений, главное чтобы ключевые поля совпадали. Точно также можно и без Query обойтись, тупо два Table цепляем друг друга, задаем индексное поле и усё...
Честно скажу, с interbase не особо разбирался, но в DB2 фурычит рульно... (сильно не бейте за такую ахинею)
MILAN7

MILAN7 (статус: Посетитель), 19 мая 2009, 16:12 [#11]:

Спасибо Вадим К, работает. Просто фамилию неправильно написал(Familiya) в процедуре, в Columns (Family).

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 24 февраля 2020, 11:11
Выполнено за 0.02 сек.
Рейтинг@Mail.ru